我正在尝试使用 配置我的家庭 DNS 服务器bind
。
我的网络由路由器提供netis WF2780
。
我有一台具有保留本地 IP 的本地计算机192.168.1.10
。我希望它作为本地 DNS 服务器工作。
我做了什么:
- 我安装了
bind
。 我创建了一个包含以下内容的
/etc/bind
文件:db.space
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns.space. root.ns.space. ( 6 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.space. ns IN A 192.168.1.10 my IN A 192.168.1.10
我修改了文件
named.conf.local
并添加了以下内容:zone "space" { type master; file "/etc/bind/db.space"; };
我修改了一下
named.conf.options
,让它看起来像这样:`acl 主页 { 192.168.1.0/24; 127.0.0.1; };
选项 { 目录“/var/cache/bind”;
forwarders { 195.98.160.26; }; recursion yes; allow-recursion { home; }; allow-query { home; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { none; };
};`
我重新启动了绑定:
sudo service bind9 restart
在路由器设置部分中
WAN Settings
我更改了主 DNS 和辅助 DNS:WAN Connection Type: Dynamic IP (DHCP) Primary DNS: 192.168.1.10 Secondary DNS: 192.168.1.10
此后,配置了 DNS 服务器(IP 为 129.168.1.10)的计算机失去了互联网连接。我甚至无法 ping 通我的路由器:
$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
^C
--- 192.168.1.1 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2083ms
而且我也无法 ping 任何外部网站:
$ ping google.com
ping: google.com: Temporary failure in name resolution
但这台计算机可以从网络中的任何其他计算机 ping 通:
$ ping 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=64 time=4.50 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=64 time=4.43 ms
64 bytes from 192.168.1.10: icmp_seq=3 ttl=64 time=4.94 ms
64 bytes from 192.168.1.10: icmp_seq=4 ttl=64 time=4.44 ms
^C
--- 192.168.1.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 4.432/4.579/4.943/0.222 ms
而且它还可以从任何计算机解析我的本地域名:
$ dig @192.168.1.10 +short my.space
192.168.1.10
但它无法访问我的本地网站:
$ curl my.space
curl: (6) Could not resolve host: my.space
为什么当我更改路由器上的主 DNS 和辅助 DNS 时,我的计算机会失去与路由器和互联网的连接?我对此完全感到困惑。我必须做什么才能使我的本地 DNS 正常工作?