我在我的家庭网络上运行一个bind9 dns服务器,为我的域local / 192.168.xx中的所有内部服务器提供服务 - 其中之一,extweb.local 192.168.1.33也可以从互联网上看到为home.sickel.net(好吧,不完全是,但你明白了)
是否可以设置我的内部 dns,以便将 home.sickel.net 解析为 192.168.1.33? ickel.net 上的所有其他主机均在外部运行,不应由我的内部 dns 解析。
(这一切主要是为了让家里的其他人更容易,这样他们总是可以将服务器称为 home.sickel.net,无论他们是在家还是通过 www 访问)
我家庭网络上的所有服务器都运行 debian。它们都位于同一子网中,通过单个网关连接到互联网。
答案1
当然你能做到。看看这里:https://help.ubuntu.com/community/BIND9ServerHowto#Primary_Master_Server_configuration
red@ubuntu:/etc/bind$ cat named.conf.local
zone "home.sickel.net." {
type master;
file "/etc/bind/db.sickel.net";
};
red@ubuntu:/etc/bind$ cat db.sickel.net
$TTL 604800
@ IN SOA localhost. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost.
home.sickel.net. IN A 192.168.1.33
red@ubuntu:/etc/bind$ sudo service bind9 restart
* Stopping domain name service... bind9 [ OK ]
* Starting domain name service... bind9 [ OK ]
red@ubuntu:/etc/bind$ dig +short home.sickel.net @localhost
192.168.1.33
red@ubuntu:/etc/bind$ dig +short sickel.net @localhost
85.19.71.164
现在只需更改 /etc/resolv.conf 以使用 127.0.0.1 作为主名称服务器。