走近科学: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从入门到精通】第49篇:服务器故障排查终极指南——思路决定出路
linux·运维·服务器
古月-一个C++方向的小白7 分钟前
Linux——初识文件
linux·运维·服务器
北山有鸟25 分钟前
编译香橙派内核
linux·运维·服务器
W.A委员会26 分钟前
Docker基本使用流程
运维·docker·容器
小此方32 分钟前
Re:Linux系统篇(八)权限篇 ·三:深度解析从 umask 位运算到粘滞位的“权力锁”
linux·运维·服务器
晨曦夜月1 小时前
进程的五大状态及特殊进程解析
linux·服务器·算法
Sarvartha1 小时前
三目运算符
linux·服务器·前端
liangdabiao2 小时前
乐高摩托车深度报告-致敬张雪夺冠 -基于llm-wiki技术自动化写文章的效果
运维·人工智能·自动化
有浔则灵2 小时前
GORM 日志与调试完全指南:从基础配置到生产实践
服务器·数据库·gorm
vortex52 小时前
Kali Linux 安装与使用 Code-OSS / VSCodium :VSCode 轻量替代
linux·运维·编辑器