웹모아
웹모아  로그인  회원가입  
웹모아
  
폼태그(입력)
 


[RE] dns셋팅방법 2
  등록: 2009-02-10 02:21:02 조회:986
http://web.landmoa.net/?acmode=b_s&curjong=web001001&no=17660



DNS서버 만들기



여기서는 간단히 1개의 primary 서버만을 DNS로 만들기로 한다.
즉, secondary server는 설명하지 않겠다.
DNS와 아파치에 연관된 작업등 실제 서비스에 필요한 것들을 정리해보았다.

DNS에 관한 자세한 설명을 보려면 김승영씨가 쓴 Powered by DNS를 보라

DNS를 꾸미기 위해 일단 BIND(Berkeley Internet Name Domain)를 가져온다.
바이너리를 가져와 설치해도 되지만, 나의 경우 소스를 가져와 컴파일하기를
좋아한다. 이번 경우도 예외없이 소스를 가져와 컴파일했다.

http://www.isc.org로 가서 bind의 최신 버전을 가져온다.
이 곳은 뉴스서버에 쓰이는 INN도 있는 곳이다.
이 시점(2001-03-26)에서 최신버전은 BIND Version 9.1.1rc6 이다.

소스를 풀고 컴파일을 한다.

tar xvzf ..
configure --prefix=/usr/local/dns
make
make install

보통 bind의 설정파일은 /etc에 named.conf로 존재하나, 우리는 configure시에 prefix를 주어 bind가
설치되는 곳을 지정한 관계로 /usr/local/dns/etc/named.conf에 있다.

여기서부터가 실제 핵심이다.
dbakorea.pe.kr 도메인을 등록할 것이다.
그러기 위해서 일단 도메인을 등록한 곳(krnic(www.nic.or.kr), whois(whois.co.kr))에 name server로
bind를 설치한 서버의 IP주소로 지정한다.

나의 경우, bind를 설치할 IP는 211.43.134.240이 된다.
참고로 이 서버는 ssh, iptables로 필터링을 한다.

설정파일(named.conf) 설정
이 설정파일은 다른 설정파일(zone파일..)을 위한 설정의 시작점이 된다.
/usr/local/dns/etc디렉토리는 존재하지 않으므로 만들어 준다.

[root@ns /etc]# mkdir /usr/local/dns/etc
[root@ns /etc]# cd /usr/local/dns/etc
[root@ns etc]# l
total 1
-rw-r--r--    1 root     root          733 Mar 25 11:08 named.conf
[root@ns etc]# cat named.conf
//dbakorea.pe.kr 설정파일(named.conf)
options {
        directory \"/var/named\"; // zone파일이 위치하는 디렉토리
        dump-file \"/var/tmp/named_dmp.db\";
        statistics-file \"/var/tmp/named.stats\";
        pid-file \"/var/run/named.pid\";
        allow-transfer { 211.43.134.102; };     // zone transfer 금지(이곳엔 zone-transfer를 허용할 주소를 적어준다)
};
logging {
        category lame-servers { null; };
        category notify { null; };
};

zone \".\" IN {
        type hint;
        file \"named.root\";
};

zone \"0.0.127.in-addr.arpa\" IN {
        type master;
        file \"zone-0.0.127.in-addr.arpa\";
        notify no;
};

zone \"134.43.211.in-addr.arpa\" IN {
        type master;
        file \"zone-134.43.211.in-addr.arpa\";
};

zone \"dbakorea.pe.kr\" IN {
        type master;
        file \"zone-dbakorea.pe.kr\";
};
[root@ns etc]#

위에서 보듯이 3개의 도메인이 있다.
각각은 하나의 파일에서 관리할 수도 있으나(웹호스팅 업체에선 유용하겠지..)
간단명료하게 각각의 도메인에 대해 zone파일을 만들었다.
named.conf의 설정은 /usr/local/dns/sbin/named-checkconf파일로 설정을
올바로 했는지 확인할 수 있다.

[root@ns etc]# named-checkconf /usr/local/dns/etc/named.conf
the default for the \'auth-nxdomain\' option is now \'no\'

무슨 메시지를 뱉는구만..
무시하고 진행하겠다.

/var/named디렉토리를 만들고 여기다 zone파일들을 작성한다.
[root@ns etc]# cd /var/named
[kang@ns named]$ l
total 6
-rw-r--r--    1 root     root         2769  3월 23 22:59 named.root
-rw-r--r--    1 root     root          265  7월  5 10:34 zone-0.0.127.in-addr.arpa
-rw-r--r--    1 root     root          275  7월  6 09:28 zone-134.43.211.in-addr.arpa
-rw-r--r--    1 root     root          741  7월 18 11:29 zone-dbakorea.pe.kr


간단히 zone-dbakorea.pe.kr만을 보겠다.
나머지들은 전부 zone파일들인데 named.root만이 다르다.
이 놈은 internic(ftp://ftp.rs.internic.net/domain)에서 받아와서 복사해줘야 한다.
사실 DNS를 갖춘 아무곳에서나 복사해와도 된다.
이름은 사이트마다 다를 수 있으나 named.conf에서 .에 대해 지정한 파일이다.

[root@ns named]# cat zone-dbakorea.pe.kr
$TTL    3600
@       IN      SOA             ns.dbakorea.pe.kr.      root.dbakorea.pe.kr. (
                                2001041100      ;Serial
                                84600           ;Refresh
                                1800            ;Retry
                                1209600         ;Expire
                                84600 )         ;Minimum

        IN      NS              ns.dbakorea.pe.kr.
        IN      NS              ns2.dbakorea.pe.kr.
        IN      A               211.43.134.240

        IN      MX      10      mail

mail    IN      A               211.43.134.240
ns      IN      A               211.43.134.240
ns2     IN      A               211.43.134.240
ftp     IN      A               211.43.134.240
www     IN      A               211.62.43.45

[kang@ns named]$ cat zone-0.0.127.in-addr.arpa
$TTL    3600
@       IN      SOA             ns.dbakorea.pe.kr. kang.dbakorea.pe.kr. (
                                2001070500      ;Serial
                                21600           ;Refresh        ( 6 hours )
                                1800            ;Retry          ( 30 minutes )
                                1209600         ;Expire         ( 14 days )
                                86400 )         ;Minimum        ( 1 day )
        IN      NS              ns.dbakorea.pe.kr.

1       IN      PTR             localhost.

[kang@ns named]$ cat zone-134.43.211.in-addr.arpa
$TTL    3600
@       IN      SOA             ns.dbakorea.pe.kr. root.dbakorea.pe.kr. (
                                2001070600      ;Serial
                                21600           ;Refresh        ( 6 hours )
                                1800            ;Retry          ( 30 minutes )
                                1209600         ;Expire         ( 14 days )
                                86400 )         ;Minimum        ( 1 day )
        IN      NS              ns.dbakorea.pe.kr.

240     IN      PTR             ns.dbakorea.pe.kr.

위에서 www.dbakorea.pe.kr은 211.62.43.45 IP로 주소를 주었다.
211.62.43.45 IP에서의 apache의 설정파일에는 다음과 같이 www.dbakorea.pe.kr가
VirtualHost되어 있다.


        ServerName      www.dbakorea.pe.kr
        DocumentRoot    /data/webhosting/dbakorea/
        CustomLog       /usr/local/apache/logs/www.dbakorea.pe.kr combined
        Alias           /cgi-bin/ /data/webhosting/dbakorea/cgi-bin/


ns.dbakorea.pe.kr에서의 아파치설정은 다음과 같다.

    ServerName      dbakorea.pe.kr
    Redirect    /   http://www.dbakorea.pe.kr


zone파일에 대한 설정을 체크하려면 named-checkzone을 이용하면 된다.
[root@ns conf]# named-checkzone /var/named/zone-dbakorea.pe.kr
OK

설정이 모두 끝났다면 쉘상에서 named명령으로 dns서버를 기동할 수 있다.
dns설정이 문제 있다면, named데몬이 뜨지 않는다.
ps명령과 /var/log/messages(linux의 경우)파일을 확인하여 설정이 제대로 된건지 파악하라.


DNS관련 쓸만한 명령들

host -l company.com (nslookup프롬프트의 ls)            : company.com이 가진 호스트목록
host -a company.com                                    : company.com의 zone파일 정보
nslookup -query=hinfo company.com                      : company.com의 name server 정보
nslookup -type=ns company.com (host -t ns company.com) : company.com의 name server
nslookup -type=mx company.com                          : company.com의 mail server
dig company.com. soa                                   : company.com의 SOA record출력


몇몇 사이트는 zone transfer를 보안상의 이유로 금지하므로
host -l, -a등의 명령은 refuse될 수 있다.
zone transfer의 금지는 다음과 같이 설정하면 된다.

named.conf
options {
        allow-transfer { 211.43.134.102; };
};

혹은,
zone “dbakorea.pe.kr”IN {
        type master;
        file “zone-dbakorea.pe.kr”;
        allow-transfer { 211.43.134.102; };
};
                    
설명이 좀 빈약하군..
너무 길어지면 지루할 수 있으므로, 이런 것도 좋을 수 있다는 생각이 든다.
DNS를 다루자면 너무(?) 복잡해진다.
끝.


This article comes from dbakorea.pe.kr (Leave this line as is)


 
 





폼태그(입력)
페이지: 1 / 2   

   select박스에 텍스트 벨류를요 카페에서 메뉴를 456
   iframe 에서 text field 값 얻어 오기580
   select 상자 그룹 예제463
    숫자만, 영문만, 한글만 입력하고 싶을 때857
   INPUT : 숫자만 입력하기553
   입력박스에 특수문자 입력못하게 하려면521
   row 추가 2517
     [RE] row 추가 2 - 테이블이름 지정533
       [RE] row 추가 2 - 테이블이름 지정-삭제462
   추가, 삭제 누르면서 테이블 행추가, 삭제하기 스크512
   row 추가558
   테이불 추가 스크립트624
   입력박스에 안내메세지 넣기(홈마스타)645
   동적으로 객체를 변경하는 자바스크립트(홈마스타)572
   자바스크립트를 써서 폼구문안에 전송(submit)하(홈마스타)486
     [RE] 자바스크립트를 써서 폼구문안에 전송(sub(홈마스타)463
   테이블(표)의 셀 여백 삭제 [border-coll(홈마스타)(1) 690
   폼 양식 요소들의 글자 색상 지정 [font-col(홈마스타)515
   폼 양식 요소안의 글자 정렬 지정 [text-ali(홈마스타)543
   폼 양식 요소들의 글자 크기 지정 [font-siz(홈마스타)487
   아이프레임의 배경을 투명처리하기[allowTrans(홈마스타)588
   iframe의 배경을 투명하게 하는법(홈마스타)499
     [RE] iframe의 배경을 투명하게 하는법(홈마스타)437
   레이어의 현재 마우스 위치(홈마스타)482
   레이어 감추기와 보이기 다른 예제(홈마스타)488
   레이어 감추기와 보이기 - select박스 보이기와(홈마스타)522
     [RE] 레이어 감추기와 보이기 - select박스(홈마스타)695
       [RE] 레이어 감추기와 보이기 - select박(홈마스타)551
     [RE] 레이어 사용시 Select객체에 가려지는 (홈마스타)463
   body 태그 예제(홈마스타)369
≪ [1]  [2]   ≫

복수단어 검색은 공백(space)로 구분해 주세요.



 
최근 글 자료
21
9
7
5
2696
631
619
778
704
3712
3231
3293
3618
2625
3127
 
인기글 자료
3645
4957
6609
6600
3827
3873
3936
4802
5082
10039
5461
5027
3710
3822
5461