本例是在ubuntu18.04上进行的,其他版本的ubuntu同样类似!
一、重点说明/etc/bind/named.conf.options配置文件
在进行bind9服务器配置时,/etc/bind/named.conf.options是十分关键的配置文件,它决定着DNS服务器是否可以正常工作。
重点解释第30行:listen-on port 53 { 192.168.110.6; };
这行代码指定了bind9服务器的监听端口号为53,监听的ip的地址为本机的IP地址。这里的IP地址一定是要注意,这个IP是本机网址所配置的IP。不用NAT所用的公网IP。只能是网卡实际配置的IP(即ifconfig显示的IP),不管此IP是公网IP还是内网。
我们知道,通常情况下,即使是公网环境下,服务器也是NAT后面,所以服务器配置的IP地址仍然是内网IP。所以我想说的就是,第30行配置的IP就是网卡配置的IP,不用管这个IP是公网还内网。所以图1中的IP必须与图2中的IP保持一致。
?
图1. /etc/bind/named.conf.options配置信息
?
?图2. ifconfig显示网卡配置信息
?配置完成以后,查看bind9的端口监听情况:netstat -anp | grep 53
?这里的正确显示了bind9可以正常监听53端口。
如果第30行配置的IP地址不是本机网卡的IP地址,那么bind9会无法正常监听,也就不能正常提供DNS服务了。
从上图可以看出systemd-resolved服务占用了53端口,但它监听的IP地址与bind是不冲突的,所以配置bind9时是完全不用管systemd-resolved的(不用关闭它),也不用管它的配置文件/etc/resolv.conf。只要正确配置bind9的配置文件/etc/bind/named.conf.options就可以了。
二、查看服务状态、打开/关闭服务等命令使用
#启动bind9有两个:
/etc/init.d/bind9 restart
/usr/sbin/named
systemctl start bind9
#查看bind9启动状态,如果没有正常启动,它会显示错误在哪里,比如配置信息哪里错了
systemctl status bind9
#配置开机自启动或关闭自启动
systemctl enable bind9
systemctl disable bind9
#查看bind服务器状态
sudo rndc status
#重启网络服务
sudo service network-manager restart
sudo systemctl restart networking.service
#查看ubuntu自带的resolve状态
systemd-resolve --status
#重启ubuntu自带resolve
systemctl restart systemd-resolved
|