已经在FreeBSD系统配置了unbound dns服务器,其它机器已经指向了192.168.1.5这台dns服务器,但都无法解析内网域名。废了九牛二虎之力,终于解决了:https://skywalk.blog.csdn.net/article/details/157840825
问题
问题现在dns服务器192.168.1.5它自己的域名解析有点不正常了
ping ub12.example.local
ping: cannot resolve ub12.example.local: Name does not resolve
仔细检查unbound的配置,发现了问题:
配置文件/usr/local/etc/unbound $ sudo vi unbound.conf
include: "/usr/local/etc/unbound/unbound_local.conf"
forward-zone:
name: "."
forward-addr: 192.168.1.1
将其修改成cmc山东的dns
forward-zone:
name: "."
forward-addr: 211.137.191.26
同时修改/etc/resolv.conf dns指向127.0.0.1
# cat /etc/resolv.conf
nameserver 127.0.0.1
还是不行。
找到问题了,是还需要设置绑定ip,原来只绑定到ip,没有绑定到127,这样导致本机dns查询的时候失败:
server:
interface: 192.168.1.5
interface: ::0
要么绑定到0.0.0.0,要么需要绑定到127.0.0.1,加上
server:
interface: 192.168.1.5
interface: 127.0.0.1
interface: ::0
重启服务
sudo service unbound restart
重启一下网卡(我不确定是不是需要,反正刚开始还是没有改善,我重启网卡后才ok)
sudo /etc/netstart
终于ok了
ping ub19.example.local
PING ub19.example.local (192.168.1.19): 56 data bytes
64 bytes from 192.168.1.19: icmp_seq=0 ttl=64 time=1.700 ms
64 bytes from 192.168.1.19: icmp_seq=1 ttl=64 time=0.572 ms
问题解决了!
总结
因为没有看手册,全程都是看AI,所以关于unbound的安装,小小的走了一下弯路。
现在看来,/usr/local/etc/unbound/unbound.conf配置需要这样:
server:
interface: 192.168.1.5
interface: 127.0.0.1
interface: ::0
access-control: 192.168.1.0/24 allow
# 允许本机查询
access-control: 127.0.0.1/32 allow
access-control: 192.168.1.0/24 allow
access-control: ::1/128 allow
include: "/usr/local/etc/unbound/unbound_local.conf"
forward-zone:
name: "."
forward-addr: 211.137.191.26
/usr/local/etc/unbound/unbound_local.conf 文件需要配成这样:
# 本地DNS解析配置
local-zone: "local." static
local-data: "localhost.localdomain. IN A 127.0.0.1"
local-data: "localhost. IN A 127.0.0.1"
local-data: "localhost.localdomain. IN AAAA ::1"
local-data: "localhost. IN AAAA ::1"
# 本地域名解析
local-zone: "intranet.local." static
local-zone: "example.local." static
local-data: "fb5.intranet.local. IN A 192.168.1.5"
local-data: "ub19.intranet.local. IN A 192.168.1.19"
local-data: "ub19.example.local. IN A 192.168.1.19"
local-data: "mail.example.local. IN A 192.168.1.19"
即interface需要写上ip和127.0.0.1 或者直接写0.0.0.0
forward-addr需要配置公网dns:forward-addr: 211.137.191.26
在/etc/resolv.conf文件,dns服务器的dns要指向127.0.0.1
当然,如果直接指向本机的ip地址,也是可以的。