使用FreeBSD架設DNS(Bind9)伺服器

Step1)安裝Bind9伺服器

#pkg install bind916

Step2)編輯設定檔/usr/local/etc/namedb/named.conf,是namedb不是named不要弄錯

named.conf內容如下,網域為test.edu.tw,IP範圍為10.68.12.x/24,DNS主機IP為10.68.12.13。

options {

listen-on port 53 { 127.0.0.1; 10.68.12.13;};

//listen-on port 53 { 127.0.0.1;};

listen-on-v6 port 53 { any; };

directory "/usr/local/etc/namedb/working";

pid-file "/var/run/named/pid";

dump-file "/var/dump/named_dump.db";

statistics-file "/var/stats/named.stats";

allow-query { any; };

recursion yes; #內部IP允許

};

view "internal"{

match-clients {

localhost;

10.0.0.0/8;

203.68.236.0/24;

};

zone "." IN {

type hint;

file "/usr/local/etc/namedb/named.root";

};

zone "test.tp.edu.tw" IN {

type master;

file "/usr/local/etc/namedb/test.tp.edu.tw";

};

zone "12.68.10.in-addr.arpa" IN {

type master;

file "/usr/local/etc/namedb/host-10.68.12";

};

};

view "external"{

match-clients {any;};

allow-query {any;};

recursion no; #外部使用者只能查詢test.tp.edu.tw,其餘網域拒絕連線

zone "test.tp.edu.tw" IN {

type master;

file "/usr/local/etc/namedb/test.tp.edu.tw";

allow-update {none;};

};

zone "12.68.10.in-addr.arpa" IN {

type master;

file "/usr/local/etc/namedb/host-10.68.12";

};

};

Step3)編輯設定檔/usr/local/etc/namedb/test.tp.edu.tw

$ttl 3600

test.tp.edu.tw. IN SOA dns.test.tp.edu.tw. admin.test.tp.edu.tw. ( 20200801 2H 20M 1W 38400 )

test.tp.edu.tw. IN NS dns.test.tp.edu.tw.

dns.test.tp.edu.tw. IN A 10.68.12.13

www.test.tp.edu.tw. IN A 10.68.12.11

Step4)編輯設定檔/usr/local/etc/namedb/host-10.68.12

$TTL 86400

@ IN SOA dns.test.tp.edu.tw. admin.test.tp.edu.tw. (

20200801 ; Serial

14400 ; Refresh

7200 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS dns.test.tp.edu.tw.

11 IN PTR www.test.tp.edu.tw.

Step5)修改/etc/resolv.conf,指向自己

nameserver 10.68.12.13

Step6)修改/etc/rc.conf,啟動named

#service named start

Step7)不開防火牆,已經可以查詢外部網域,防火牆開啟網際網路可以連到此DNS伺服器的port53,外部才可以查詢此DNS主機。

Step8)使用dig www.test.tp.edu.tw是否可以轉換成10.68.12.11,使用dig www.google.com.tw,測試是否可以查詢Google的網站IP。