DNS 도메인 이름 서버

ABC사 사업이 확장되면서 컴퓨터가 늘어나는 상황에서 직원들이 모든 사내 서버의 IP 주소를 기억할 가능성이 크지 않기 때문에 DNS 솔루션을 도입해 호스트 간의 통신이 더욱 간단해질 수 있도록 하기로 했다.사례에서 우리가 사용하는 영역은 abc입니다.com역, 이것은 정방향 해석역이고 네트워크는 사유 네트워크를 사용한다. 172.16.0/16.본 사례는 회사의 주요 서버 생산 분석 기록에만 대한 것이다. 만약에 독자가 더 많은 기록을 필요로 한다면 이 모델에 따라 다른 호스트의 기록 정보를 추가할 수 있다. 회사 내부 서버 목록은 표4-10을 참조한다.
표4-10
서버 IP
서버 이름
기능 설명
172.16.0.254
dns1.abc.com
주 도메인 이름 서버
172.16.0.253
dns2.abc.com
도메인 이름 서버에서
172.16.0.100
fileserver.abc.com
파일 서버
172.16.0.101
printserver.abc.com
프린터 서버
172.16.0.200
www.abc.com
사이트 서버
172.16.0.201
www.abc.com
사이트 서버
172.16.0.25
mail.abc.com
메일 서버
172.16.0.22
ntp.abc.com
시간 서버
1. 소프트웨어 설치
[root@centos6 ~]# yum -y install bind
[root@centos6 ~]# yum -y install bind-chroot
[root@centos6 ~]# yum -y install bind-utils
2. 기본 프로파일 수정
[root@centos6 etc]# cd/usr/share/doc/bind-9.8.2/sample/etc/
[root@centos6 etc]# cp named.conf/var/named/chroot/etc/
[root@centos6 etc]# chown root.named/var/named/chroot/etc/named.conf
[root@centos6 etc]# vim/var/named/chroot/etc/named.conf

  
  
  
  
  1. options 
  2. {        directory                   "/var/named";                   // "Working" directory 
  3.          dump-file                  "data/cache_dump.db"; 
  4.         statistics-file "data/named_stats.txt"; 
  5.         memstatistics-file "data/named_mem_stats.txt"; 
  6.          listen-on port 53      { any; }; 
  7.          allow-query               { any; }; 
  8.          allow-query-cache   { any; }; 
  9.          recursion yes; 
  10. }; 
  11. acl secondserver { 
  12.             172.16.0.253; 
  13.   }; 
  14.   zone "." IN { 
  15.             type hint; 
  16.             file "named.ca"; 
  17.   }; 
  18.   zone "abc.com" IN { 
  19.             type master; 
  20.             allow-transfer { secondserver; }; 
  21.             file "abc.com.zone"; 
  22.   }; 
  23.   zone "16.172.in-addr.arpa" IN { 
  24.             type master; 
  25.             allow-transfer { secondserver; }; 
  26.             file "172.16.zone"; 
  27.          }; 

3. 영역 데이터 파일 만들기
[root@centos6 etc]# cd/usr/share/doc/bind-9.8.2/sample/var/named/
[root@centos6 named]# cp named.ca/var/named/chroot/var/named/
[root@centos6 etc]# chown root.named/var/named/chroot/var/named/named.ca
[root@centos6 named]# cp named.localhost/var/named/chroot/var/named/abc.com.zone
[root@centos6 named]# chown root.named/var/named/chroot/var/named/abc.com.zone
[root@centos6 named]# vim/var/named/chroot/var/named/abc.com.zone

  
  
  
  
  1. $TTL 1D 
  2. @     IN SOA      dns1.abc.com. jacob.abc.com. ( 
  3.                                                10     ; serial 
  4.                                                1D    ; refresh 
  5.                                                1H    ; retry 
  6.                                               1W   ; expire 
  7.                                                3H )  ; minimum 
  8.          NS    dns1.abc.com. 
  9.          NS    dns2.abc.com. 
  10.          MX 10       mail.abc.com. 
  11. dns1                       IN A 172.16.0.254 
  12. dns2                       IN A 172.16.0.253 
  13. ntp.abc.com.    IN A 172.16.0.22 
  14. mail.abc.com.  IN A 172.16.0.25 
  15. fileserver      IN A 172.16.0.100 
  16. printserver        IN A 172.16.0.101 
  17. www                   IN A 172.16.0.200 
  18.                        IN A 172.16.0.201 

[root@centos6 named]# vim/var/named/chroot/var/named/172.16.zone

  
  
  
  
  1. $TTL 1D 
  2. @     IN SOA      dns1.abc.com. jacob.abc.com. ( 
  3.                                                10     ; serial 
  4.                                                1D    ; refresh 
  5.                                                1H    ; retry 
  6.                                                1W   ; expire 
  7.                                                3H )  ; minimum 
  8.              NS    dns1.abc.com. 
  9.              NS    dns2.abc.com. 
  10. 254.0        IN PTR      dns1.abc.com. 
  11. 253.0        IN PTR      dns2.abc.com. 
  12. 22.0         IN PTR      ntp.abc.com. 
  13. 25.0         IN PTR      mail.abc.com. 
  14. 100.0        IN PTR      fileserver.abc.com. 
  15. 101.0        IN PTR      printserver.abc.com. 
  16. 200.0        IN PTR      www.abc.com. 
  17. 201.0        IN PTR      www.abc.com. 

4. 서비스 관리
[root@centos6 ~]# iptables -I INPUT -p udp --dport 53 -j ACCEPT
[root@centos6 ~]# iptables -I INPUT -p tcp --dport 53 -j ACCEPT
[root@centos6 ~]# service named start
[root@centos6 ~]# chkconfig named on
1. 클라이언트 검증
클라이언트가 DNS 서버를 정확하게 설정한 후에 조회 도구가 비교적 많고 자주 사용하는 것은 nslookup,dig,host이다. 다음은 이 명령들의 기본적인 사용법을 보여 준다.
[root@centos6 ~]# nslookup www.abc.com
[root@centos6 ~]# nslookup 172.16.0.100
[root@centos6 ~]# dig www.abc.com
[root@centos6 ~]# dig abc.com MX
[root@centos6 ~]# host www.abc.com
4.1.1 도메인 네임 서버 배포
도메인 이름 서버를 배치하는 것은 단일 고장이나 부하 균형을 방지하는 역할을 한다.한 대의 서버만 이 서버가 다운되면 모든 클라이언트의 주소 분석에 문제가 발생할 수 있습니다.또한 대규모 조회 요청을 충족시키기 위해 우리는 여러 대의 DNS 서버를 만들어 부하 균형을 실현할 수 있다.그러나 만약에 모든 DNS가 메인 서버가 된다면 대량의 설정이 우리가 중복적으로 진행해야 한다. 그리고 해석 기록이 바뀐 후에 각 서버 간의 구역 데이터 파일의 버전이 비교적 혼란스러워서 우리는 도메인 서버를 배치해야 한다. 도메인 서버는 메인 도메인 서버에서 데이터 파일을 다운로드한다. 메인 서버가 데이터 파일의 기록을 수정하면서버에서 데이터를 자동으로 동기화할 수 있습니다.
1. 소프트웨어 설치
[root@centos6 ~]# yum -y install bind
[root@centos6 ~]# yum -y install bind-chroot
[root@centos6 ~]# yum -y install bind-utils
2. 프로파일 수정
[root@centos6 etc]# cd/usr/share/doc/bind-9.8.2/sample/etc/
[root@centos6 etc]# cp named.conf/var/named/chroot/etc/
[root@centos6 etc]# chown root.named/var/named/chroot/etc/named.conf
[root@centos6 etc]# vim/var/named/chroot/etc/named.conf

  
  
  
  
  1. options 
  2.          directory                   "/var/named";                   // "Working" directory 
  3.          dump-file                  "data/cache_dump.db"; 
  4.         statistics-file "data/named_stats.txt"; 
  5.         memstatistics-file "data/named_mem_stats.txt"; 
  6.          listen-on port 53      { any; }; 
  7.          allow-query               { any; }; 
  8.          allow-query-cache   { any; }; 
  9.          recursion yes; 
  10. }; 
  11.   zone "." IN { 
  12.             type hint; 
  13.             file "named.ca"; 
  14.   }; 
  15.   zone "abc.com" IN { 
  16.             type master; 
  17.             masters { 172.16.0.254; }; 
  18.             file "abc.com.zone"; 
  19.   }; 
  20.   zone "16.172.in-addr.arpa" IN { 
  21.             type master; 
  22.             masters { 172.16.0.254; }; 
  23.             file "172.16.zone"; 
  24.          }; 

3. 데이터 파일 동기화
서버에서 동기화 작업을 수행하기 전에 주 서버의 데이터 파일을 해당 디렉토리에 저장할 수 있는 BIND 소프트웨어를 만들어야 합니다.
서버의 메인 프로필 수정이 완료되면 서비스를 시작하면 BIND는 자동으로 메인 프로필의 마스터스 문장에 따라 서버를 찾고 메인 서버의 데이터 파일을 서버 로컬로 다운로드합니다.첫 번째 데이터 동기화가 완료되면 서버에서 동기화된 데이터 파일의 SOA 기록 옵션에 따라 다음 동기화 시간을 결정합니다. 사례에서 메인 도메인 이름 서버의 SOA 기록 괄호에는 다섯 가지 옵션이 있습니다.
첫 번째 옵션 10은 일련 번호입니다. 서버는 이 일련 번호에 따라 동기화 여부를 결정합니다. 서버측 데이터 파일의 일련 번호가 서버의 일련 번호보다 크면 서버가 주 서버와 데이터를 동기화합니다. 이 일련 번호는 시간 형식을 사용하는 것이 좋습니다.예를 들어 2012121001은 2012년 12월 12일의 첫 번째 수정(서열 번호는 숫자만 있으면 되고 BIND는 구체적인 숫자 형식을 강요하지 않는다)을 나타냈다.
두 번째 옵션인 1D는 서버의 일련 번호 대비 기간을 나타냅니다(주 서버의 일련 번호가 서버의 일련 번호보다 클 때만 데이터 동기화). D는 데이를 나타냅니다. 여기서 1일입니다.
세 번째 옵션인 1H는 서버로부터 주 서버 연결을 요청할 때 네트워크 지연, 주 서버 고장 등으로 당분간 주 서버에 연결할 수 없으면 서버에서 한 시간마다 다시 시도한다는 뜻이다.
네 번째 옵션인 1W는 서버에서 시도한 지 일주일이 지나도 주 서버에 연결되지 않으면 더 이상 연결되지 않는다는 것을 의미한다.
다섯 번째 옵션인 3H는 캐시 시간이 3시간임을 나타냅니다.
참고: CentOS 6.3 시스템에서 서버에서 데이터 파일을 동기화하려면 SELinux 설정을 수정해야 합니다. 그렇지 않으면 동기화 작업에 대한 권한이 없습니다.
[root@centos6 ~]# setsebool -P named_write_master_zones=1
[root@centos6 ~]# mkdir -p/var/named/chroot/var/named/slaves/
[root@centos6 ~]# chown root.named/var/named/chroot/var/named/slaves/
[root@centos6 ~]# chmod 775/var/named/chroot/var/named/slaves/
[root@centos6 ~]# service named start
[root@centos6 ~]# chkconfig named on

좋은 웹페이지 즐겨찾기