Linux环境下Bind9 DNS服务器配置报错及名称解析失败问题求助
Linux环境下Bind9 DNS服务器配置报错及名称解析失败问题求助
各位前辈好,我最近在Linux环境里搭建DHCP+DNS服务,用的是isc-dhcp-server和bind9,但遇到了DNS解析失败的问题,还有bind9启动时的报错,想请大家帮忙排查一下。
我的网络环境
- 拓扑结构:Internet <--enp0s3接口--> Ubuntu路由器 <--enp0s8接口--> 内部网络设备
- 路由器(Ubuntu系统)的enp0s8接口IP:192.168.1.1
- 内网Ubuntu服务器IP:192.168.1.2
- 目前DHCP服务正常,内网机器之间可以互相ping通,但DNS解析失败。
遇到的问题
- 名称解析失败:当我执行
ping server时,返回错误:
ping: server: Temporary failure in name resolution
- Bind9服务状态报错:执行
sudo systemctl status bind9.service,输出里有一堆IPv6相关的“network unreachable”错误,具体如下:
$ sudo systemctl status bind9.service ● named.service - BIND Domain Name Server Loaded: loaded (/lib/systemd/system/named.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2024-02-20 11:10:08 UTC; 6min ago Docs: man:named(8) Process: 2759 ExecStart=/usr/sbin/named $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 2760 (named) Tasks: 5 (limit: 2221) Memory: 5.6M CPU: 141ms CGroup: /system.slice/named.service └─2760 /usr/sbin/named -u bind Feb 20 11:10:08 fox-router named[2760]: network unreachable resolving './NS/IN': 2001:500:a8::e#53 Feb 20 11:10:08 fox-router named[2760]: network unreachable resolving './NS/IN': 2001:500:12::d0d#53 Feb 20 11:10:08 fox-router named[2760]: network unreachable resolving './NS/IN': 2001:500:9f::42#53 Feb 20 11:10:08 fox-router named[2760]: network unreachable resolving './NS/IN': 2801:1b8:10::b#53 Feb 20 11:10:08 fox-router named[2760]: network unreachable resolving './NS/IN': 2001:500:2f::f#53 Feb 20 11:10:08 fox-router named[2760]: network unreachable resolving './NS/IN': 2001:500:2::c#53 Feb 20 11:10:08 fox-router named[2760]: network unreachable resolving './NS/IN': 2001:7fe::53#53 Feb 20 11:10:08 fox-router named[2760]: network unreachable resolving './NS/IN': 2001:503:ba3e::2:30#53 Feb 20 11:10:08 fox-router named[2760]: managed-keys-zone: Key 20326 for zone . is now trusted (acceptance timer complete) Feb 20 11:10:08 fox-router named[2760]: resolver priming query complete: success
我的配置步骤
一、路由器(Ubuntu系统)的基础配置
我把这台Ubuntu配置成了路由器,先设置了网卡IP:
编辑/etc/netplan/00-installey-config.yaml:
network: ethernets: enp0s3: dhcp4: true enp0s8: dhcpd4: true addresses: [192.168.1.1/24] version: 2
然后执行:
sudo netplan apply
二、DHCP服务器(isc-dhcp-server)配置
- 安装服务:
sudo apt install isc-dhcp-server
- 编辑
/etc/dhcp/dhcpd.conf:
default-lease-time 600; max-lease-time 7200; ddns-update-style none; subnet 192.168.1.0 netmask 255.255.255.0{ range 192.168.1.2 192.168.1.10; option routers 192.168.1.1; option domain-name-servers 8.8.8.8, 8.8.4.4; } host Server{ hardware ethernet: <MAC address> fixed-address: <IP Address> }
- 指定DHCP服务绑定的接口:
编辑/etc/default/isc-dhcp-server:
INTERFACESv4="enp0s8"
- 重启服务:
sudo systemctl start isc-dhcp-server sudo systemctl status isc-dhcp-server sudo systemctl restart isc-dhcp-server
三、DNS服务器(bind9)配置
- 安装服务:
sudo apt-get install bind9
- 编辑
/etc/bind/named.conf.options,添加转发器:
forwarders { 8.8.8.8; 8.8.4.4; };
- 编辑
/etc/bind/named.conf.local配置区域:
zone "foxnetwork.net" { type master; file "/etc/bind/db.foxnetwork.net"; }; zone "0.168.192.in-addr.arpa" { type master; file "/etc/bind/db.168"; };
- 创建正向区域文件
/etc/bind/db.foxnetwork.net:
; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ns.foxnetwork.net. root.localhost. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.foxnetwork.net. foxnetwork.net. IN MX 10 mail.foxnetwork.net. ns IN A 192.168.1.1 web IN A 192.168.1.2
- 创建反向区域文件
/etc/bind/db.168:
; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA ns.foxnetwork.net root.localhost. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns. 1 IN PTR ns.foxnetwork.net. 2 IN PTR web.foxnetwork.net.
- 重启bind9和DHCP服务:
sudo systemctl restart bind9 sudo systemctl restart isc-dhcp-server
现在的问题是,我还是没法用ping ns访问路由器,也没法用ping server访问内网服务器,麻烦大家帮我看看哪里配置错了?
备注:内容来源于stack exchange,提问作者mitas1c
相关产品推荐
相关产品推荐

