走近科学: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地址,也是可以的。

相关推荐
ulias2121 天前
Linux系统中的权限问题
linux·运维·服务器
青花瓷1 天前
Ubuntu下OpenClaw的安装(豆包火山API版)
运维·服务器·ubuntu
问简1 天前
docker 镜像相关
运维·docker·容器
Dream of maid1 天前
Linux(下)
linux·运维·服务器
齐鲁大虾1 天前
统信系统UOS常用命令集
linux·运维·服务器
Benszen1 天前
Docker容器化技术实战指南
运维·docker·容器
ZzzZZzzzZZZzzzz…1 天前
Nginx 平滑升级:从 1.26.3 到 1.28.0,用户无感知
linux·运维·nginx·平滑升级·nginx1.26.3·nginx1.28.0
一叶知秋yyds1 天前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
专吃海绵宝宝菠萝屋的派大星1 天前
使用Dify对接自己开发的mcp
java·服务器·前端
斯普信云原生组1 天前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器