一、安装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=none
BROWSER_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=ens33
UUID=ee00f1c4-4501-4750-bb76-a1b226380d07
DEVICE=ens33
ONBOOT=yes
DNS1=192.168.1.10
2、正向域名查询和反向域名查询
正向域名查询:
反向域名查询:
至此,DNS服务器搭建完成!