搭建DNS服务器
安装 BIND 软件
BIND 是美国加利福尼亚大学伯克利分校开发的软件,是一套域名服务器软件包,该软件实现了 DNS 解析协议,可以在 Linux 系统上通过这个软件包来提供域名解析服务。
- 查看 BIND 软件是否安装:rpm -qa | grep ^bind,若软件包不全或者不是最新,可以通过 yum 进行安装;
- 通过 yum 命令安装 BIND 软件包:yum install -y bind*,安装成功后截图如下所示;
- 启动 DNS 服务:systemctl start named.service(同时可以设置开机启动:systemctl enable named.service),启动成功后可以通过 netstat -npl|grep named 查看结果。
从结果可以看到 named 进程是 BIND 软件的运行进程,提供 DNS 解析服务,可以同时支持 udp/tcp 两种协议,默认使用53端口,此外 named 进程同时监听了953端口,主要用于为远程管理工具提供控制通道。
- 几个重要目录
[root@localhost wuqiong]# rpm -ql bind /etc/logrotate.d/named /etc/named /etc/named.conf #主配置文件 /etc/named.iscdlv.key /etc/named.rfc1912.zones #事先定义好的区域文件 /etc/named.root.key # 实现事物签名的秘钥文件 ... /var/named # 默认DNS解析记录的数据文件 /var/named/data ... /var/named/slaves # 从DNS的配置文件目录
修改 DNS 服务器配置
- 修改/etc/named.conf 配置文件,修改以下红颜色部分,如下所示;
options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; }; ... dnssec-enable no; dnssec-validation no; ...
- 修改 /etc/named.rfc1912.zones 配置文件,将加入 zone 配置,这里我们以 qq.com 为例进行介绍,新增配置代码块如下所示,表示本 DNS 服务器包含 qq.com 域名的解析库;
zone "qq.com" IN { type master; file "data/qq.com.zom"; allow-update { none; }; };
- 新增 /var/named/data/qq.com.zone 配置文件,配置文件的内容如下所示;
验证 DNS 服务器有效性
- 通过 PC 电脑执行命令 dig -t a www.qq.com 查看现网真实的 www.qq.com 的解析情况,结果如下图所示;
问题
1、CentOS 7无法使用yum命令,无法更新,解决办法如下:
(1)在root用户下,进入/etc/sysconfig/network-scripts 目录。即输入命令 "cd /etc/sysconfig/network-scripts" ,使用命令 "ls -a" 可以查看该目录下的所有文件。
2、修改ifcfg-ens33的网卡配置文件(CentOS7修改了网卡命名规则,不再是eth0了,而是ifcfg-eno+数字)。输入命令 "vi ifcfg-ens33" 进入vi编辑器,按下"i"键进入编辑模式。将 "ONBOOT" 的值修改为 "yes" ,之后按esc退出编辑模式,输入 ":wq" 保存退出。
3、重启系统或者重启网卡,输入命令 "reboot" 或 "service network restart"。