참고 페이지 : https://www.freebsd.org/doc/handbook/network-dns.html
unbound 라는게 있지만 local 에서만 사용이 가능함.
DNS Server Configuration in FreeBSD 10.0 and Later In FreeBSD 10.0, BIND has been replaced with Unbound. Unbound is a validating caching resolver only. If an authoritative server is needed, many are available from the Ports Collection. Unbound is provided in the FreeBSD base system. By default, it will provide DNS resolution to the local machine only. While the base system package can be configured to provide resolution services beyond the local machine, it is recommended that such requirements be addressed by installing Unbound from the FreeBSD Ports Collection. To enable Unbound, add the following to /etc/rc.conf: local_unbound_enable="YES"
bind99 install
root@bsd10:~ # whereis bind99 bind99: /usr/ports/dns/bind99 root@bsd10:~ # cd /usr/ports/dns/bind99 root@bsd10:/usr/ports/dns/bind99 # make install clean root@bsd10:/usr/ports/dns/bind99 # vi /etc/rc.conf named_enable="YES" root@bsd10:/usr/ports/dns/bind99 # init 6
named Deamon 실행 확인
root@bsd10:~ # sockstat -4 |grep -i named bind named 464 20 tcp4 127.0.0.1:53 *:* bind named 464 21 tcp4 127.0.0.1:953 *:* bind named 464 512 udp4 127.0.0.1:53 *:* root@bsd10:~ #
namedb 디렉토리
/usr/local/etc/namedb root@bsd10:~ # cd /usr/local/etc/namedb/ root@bsd10:/usr/local/etc/namedb # vi named.conf // listen-on { 127.0.0.1; }; listen-on { 127.0.0.1; }; 최하단에 추가 include "/usr/local/etc/namedb/named.conf.local";
named.conf.local 파일 생성 및 zone 파일생성
root@bsd10:/usr/local/etc/namedb # vi named.conf.local zone "test.com" { type master; file "/usr/local/etc/namedb/working/test.com"; }; root@bsd10:/usr/local/etc/namedb # cd working/ root@bsd10:/usr/local/etc/namedb/working # vi test.com $TTL 3600 ; 1 hour default TTL @ IN SOA ns.test.com. mail.test.com. ( 2006051501 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 300 ; Negative Response TTL ) ; DNS Servers IN NS ns.test.com. IN MX 10 mail.test.com. IN A 192.168.192.200 ; Machine Names ns IN A 192.168.192.200 mail IN A 192.168.192.200 ; Aliases www IN CNAME test.com.
resolv.conf 변경 및 Ping Test
root@bsd10:~ # vi /etc/resolv.conf nameserver 192.168.192.200 root@bsd10:~ # service named restart Stopping named. Waiting for PIDS: 2540. Starting named. root@bsd10:~ # root@bsd10:~ # ping test.com PING test.com (192.168.192.200): 56 data bytes 64 bytes from 192.168.192.200: icmp_seq=0 ttl=64 time=0.023 ms 64 bytes from 192.168.192.200: icmp_seq=1 ttl=64 time=0.036 ms ^C --- test.com ping statistics --- 2 packets transmitted, 2 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 0.023/0.029/0.036/0.006 ms root@bsd10:~ #
타 System 에서 resolv.conf 파일 변경후 Dig 테스트를 진행합니다.
[root@centos74 named]# dig www.test.com ; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7_4.1 <<>> www.test.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55568 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.test.com. IN A ;; ANSWER SECTION: www.test.com. 3600 IN CNAME test.com. test.com. 3600 IN A 192.168.192.200 ;; AUTHORITY SECTION: test.com. 3600 IN NS ns.test.com. ;; ADDITIONAL SECTION: ns.test.com. 3600 IN A 192.168.192.200 ;; Query time: 0 msec ;; SERVER: 192.168.192.200#53(192.168.192.200) ;; WHEN: Fri Dec 22 01:15:34 KST 2017 ;; MSG SIZE rcvd: 104 [root@centos74 named]#