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

相关推荐
光电的一只菜鸡1 小时前
ubuntu之坑(二十)——VMware虚拟机系统无法正常进入如何处理
linux·运维·ubuntu
青 春 记 忆1 小时前
Dify Docker Compose 通用无损升级指南:从备份、双版本预演到切换与回滚
运维·人工智能·python·docker·容器
Java王小怪3 小时前
Docker环境Redis没挂载保存数据
运维·docker·容器
你住过的屋檐3 小时前
【Nginx】linux上安装nginx
linux·运维·nginx
大模型码小白4 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
晓晓_za8986685 小时前
开源 GEO 优化源码二次开发:贴牌改造与业务模块扩展实践
java·运维·服务器·开发语言·性能优化·开源
云计算DevOps-韩老师5 小时前
【MySQL运维DBA】【SQL基础系列002篇】
运维·mysql·dba
云贝教育-郑老师5 小时前
【麒麟服务器系统交付:一个DBA的六年信创实战笔记】
服务器·笔记·dba
DBA大董5 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
会飞的土拨鼠呀6 小时前
Linux的存储使用率应该如何计算
linux·运维·服务器