강좌
클라우드/리눅스에 관한 강좌입니다.
프로그램 분류

9. 도메인 셋팅 쉘스크립트(domainsetup)

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

9. 도메인 셋팅 쉘스크립트(domainsetup)

 

다음은 DNS서버에서 사용하는 도메인 셋팅하는 쉘 스크립트입니다.  이름은 도메인생성기입니다. 좀 허접하긴 하지만 나름대로 유용하게 사용하실 수 있을 것입니다. 필자가 이 스크립트를 만들어 사용했던 목적은 딱 한가지 였습니다. 하루에도 몇 개씩 셋팅하는 DNS셋팅작업을 매번 모두 수작업을 하다보니 많은 시간이 필요하고 과다한 작업시간이 들게 되었습니다. 따라서 필자는 DNS에서 도메인 셋팅을 좀 간편하게 할 수 없을까라고 생각한 끝에 이 스크립트를 만들었습니다.

 

이 스크립트의 파일이름은 domainsetup이며 도메인 셋팅을 한줄의 명령만으로 할 수 있도록 만들어져 있습니다.  만약 abc.co.kr이라는 도메인을 셋팅하려고 할 경우에는 다음과 같이 셋팅을 하시면 됩니다.

 

# domainsetup abc.co.kr 192.168.5.12


위의 예처럼 domainsetup은 이 스크립트의 이름이며 뒤에는 도메인과 이 도메인이 들어갈 서버의 IP주소를 입력하시면 됩니다. 그리고 이 명령어는 당연히 root권한으로 실행하셔야합니다.  이 스크립트의 소스는 다음과 같습니다.

 

#!/bin/bash

 

#### 프로그램 명 : 도메인생성기 V1.0
####
####
저작권 : 이 프로그램의 저작권은 수퍼유저코리아에 있습니다.

####          이 프로그램의 사용은 허용되나 재배포는 금지합니다.

#### 제작자 : 박성수 (헐렁고수) : papa@superuser.co.kr

#### 주배포사이트 : www.superuser.co.kr

 

 

# $1 : 도메인

# $2 : 고객이 사용할 서버 Ip Address

 

rm -f /tmp/named.conf_tempfile

rm -f /tmp/zone_tempfile

 

touch /tmp/named.conf_tempfile

touch /tmp/zone_tempfile

 

# /etc/named.conf 파일수정

echo "zone \"$1\" {"    >>      /tmp/named.conf_tempfile

echo "         type master;"  >>        /tmp/named.conf_tempfile

echo "         file \"$1.zone\";"       >>      /tmp/named.conf_tempfile

echo "};"       >>      /tmp/named.conf_tempfile

cat /tmp/named.conf_tempfile >> /etc/named.conf

 

# ZONE FILE 설정
echo "$TTL 86400 " >> /tmp/zone_tempfile

echo "@       IN      SOA   ns.kebia.net.  root.kebia.net.  (" >> /tmp/zone_tempfile

echo "                                20000402  ; Serial" >> /tmp/zone_tempfile

echo "                                21600   ; Refresh(6h)" >> /tmp/zone_tempfile

echo "                                900     ; Retry(15min)" >> /tmp/zone_tempfile

echo "                                604800  ; Expire(7d)" >> /tmp/zone_tempfile

echo "                                43200)  ; Minimum(12h);" >> /tmp/zone_tempfile

echo "                IN      NS      ns.kebia.net." >> /tmp/zone_tempfile

echo ";" >> /tmp/zone_tempfile

echo "                IN      A       $2" >> /tmp/zone_tempfile

echo "                IN      MX      0       $1." >> /tmp/zone_tempfile

echo "www             IN      A       $2" >> /tmp/zone_tempfile

echo "                IN      MX      0       $1." >> /tmp/zone_tempfile

cp /tmp/zone_tempfile /var/named/$1.zone

 

rm -f /tmp/named.conf_tempfile

rm -f /tmp/zone_tempfile

 

소스를 보신 바와 같이 이 스크립트에서 작업되는 내용들은 다음과 같습니다.

 

             - /etc/named.conf파일에 도메인 설정

             - /var/named/도메인.zone 파일 생성

 

그리고 설정한 도메인의 서비스를 위해서는 named 데몬을 재시작해주셔야 합니다. 재시작하는 방법에 대해서는 충분히 배웠으므로 그 설명을 여기서는 생략합니다.  참고로 이 쉘스크립트의 다운은 ftp.superuser.co.kr에서 받으실 수 있습니다 .

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,032 명
  • 현재 강좌수 :  35,773 개
  • 현재 접속자 :  263 명