使用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。