走近科学:unbound dns域名服务器自己本地解析出现问题,寻求解决之道

已经在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地址,也是可以的。

相关推荐
不能跑的代码不是好代码6 小时前
Linux系统常用命令中文速查表
linux·运维·服务器
石一峰6997 小时前
深入理解 Linux 中断三层机制与 1-Wire 时序锁原理
linux·运维·服务器
运维老郭7 小时前
PostgreSQL编译安装实战
运维·postgresql
无限码农8 小时前
Linux上通过cmake编译uchardet
linux·运维·服务器
运维大师9 小时前
【Linux运维极简教程】06-网络配置与管理
linux·运维
007张三丰9 小时前
软件测试专栏(15/20):REST Assured接口自动化框架实战
运维·自动化·jenkins·接口自动化·rest·assured
ACP广源盛139246256739 小时前
IX8024@ACP# 搭配此芯 AI 服务器 + 爱芯元智产品完整方案
大数据·运维·服务器·人工智能·分布式·嵌入式硬件
Hiyajo pray11 小时前
SDN 访问控制性能调优方法
服务器·网络·网络安全
huainingning12 小时前
交换机通过ftp下载文件或者传输文件到ftp服务器
运维·服务器·网络
edwarddamon12 小时前
CentOS 7 国内安装 Docker CE(阿里云源)
运维