Linux之DNS服务器配置
一、安装DNS服务
1、安装DNS服务相关软件包
bind: DNS服务器软件包
bind-utils: DNS测试工具,包括dig,host与nslookup等。
bind-chroot: 使BIND运行在指定的目录中二点安全增强工具。
我们选择bind和bind-utils就够了:yum install bind bind-utils
2、BIND的启动
systemctl start named //开启DNS服务
systemctl enable named //开机自启动DNS服务
rndc status //查看域名服务器的运行状态
3、防火墙配置
摘要:防火墙默认是不允许DNS服务通过的,需要管理员添加允许防火墙通过DNS服务的策略
systemctl start firewalld //开启防火墙
firewall-cmd --get-services //显示防火墙预定义的服务(我们可以通过该命令找到dns)
firewall-cmd --permanent --add-service=dns //允许防火墙通过DNS服务
firewall-cmd --reload //重新载入防火墙
接下来还有创建DNS服务正向查找区域和反向查找区域,为了更好理解,我们根据一个实训任务 展开讲解。
实训任务:
某公司要求在内部网络部署DNS服务器,用内部DNS服务器为内部网络中的计算机提供内部网络和Internet的域名解析服务。
部署信息如下:
任务一:在server1上安装DNS服务,并将其配置为主DNS服务器
(1) 安装DNS服务
(2) 创建正向查找区域,并根据上表提供的信息在区域中添加资源记录;
创建反向查找区域,并根据上表提供的信息在区域中添加资源记录。
(3) 检查区域数据文件语法错误
(4) 启动/重启DNS服务
(5) 开启防火墙,添加对应的服务
任务二:使用client对主DNS服务器和辅助DNS服务器进行测试
(1) client网络配置
(2) 在客户端执行DNS域名查询测试,对DNS服务器进行域名查询测试
二、创建DNS服务器正向查找区域
1、配置DNS服务器主配置文件(正向查找)
vim /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; }; forwarders { 211.136.192.6;120.196.165.24; }; //转发DNS服务器IP地址 forward only;
recursion yes;
dnssec-enable no; dnssec-validation no;
/* Path to ISC DLV key */ bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; };
logging { channel default_debug { file "data/named.run"; severity dynamic; }; };
zone "." IN { type hint; file "named.ca"; };
zone "junyi.com" IN { //此处的xxx.com由自己命名 type master; file "junyi.com.zone"; allow-update { none; }; };
include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
named-checkconf //检查DNS服务主配置文件的语法
2、创建区域数据文件(正向查找区域)
cd /var/named
cp -a named.localhost junyi.com.zone //此处的xxx.com.zone与主配置文件中定义的一致
vim junyi.com.zone
$TTL 1D @ IN SOA server 3094588253.qq.com. ( //邮箱改为自己的 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS server server A 192.168.1.10 www A 192.168.1.100 ftp CNAME server mail A 192.168.1.200 @ MX 10 mail ~
named-checkzone junyi.com /var/named/junyi.com.zone //检查区域文件的语法(正向)
三、创建DNS服务器反向查找区域
1、配置DNS服务器主配置文件(反向查找)
vim /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; }; forwarders { 211.136.192.6;120.196.165.24; }; //转发DNS服务器IP地址 forward only;
recursion yes;
dnssec-enable no; dnssec-validation no;
/* Path to ISC DLV key */ bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; };
logging { channel default_debug { file "data/named.run"; severity dynamic; }; };
zone "." IN { type hint; file "named.ca"; };
zone "junyi.com" IN { //此处的xxx.com由自己命名 type master; file "junyi.com.zone"; allow-update { none; }; };
zone "1.168.192.in-addr.arpa" IN { type master; file "1.168.192.zone"; allow-update { none; }; };
include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
2、创建区域数据文件(反向查找区域)
cd /var/named
cp -a named.loopback 1.168.192.zone //将模板文件复制到区域数据文件
vim 1.168.192.zone
$TTL 1D @ IN SOA @ 3094588253.qq.com. ( //邮箱改为自己的 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 192.168.1.10 10 PTR server.junyi.com. 100 PTR www.junyi.com. 100 PTR ftp.junyi.com. 200 PTR mail.junyi.com.
named-checkzone 1.168.192 /var/named/1.168.192.zone //检查区域文件语法(反向)
四、重启DNS服务
systemctl restart named
五、测试
1、客户端IP配置
cd /etc/sysconfig/network-scripts/ vim ifcfg-ens33
TYPE=Ethernet PROXY_METHOD=noneBROWSER_ONLY=no BOOTPROTO=static IPADDR=192.168.1.20 PREFIX=24 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33UUID=ee00f1c4-4501-4750-bb76-a1b226380d07 DEVICE=ens33ONBOOT=yesDNS1=192.168.1.10
2、正向域名查询和反向域名查询
正向域名查询:
反向域名查询:
至此,DNS服务器搭建完成!