本实验环境为openEuler系统<以server方式安装>(CentOS类似,可参考本文)
知识点
-
什么是DNS:DNS服务器,即域名服务器(Domain Name Server),是进行域名和与之相对应的IP地址转换的服务器。它是一种管理名字的方法,通过分层的域名空间,将域名和IP地址相互映射,使得人们能够通过域名访问互联网上的各种资源
-
区域解析库详解:
-
SOA
- Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须 位于解析库的第一条记录SOA,是起始授权机构记录,说明了在众多 NS 记录里哪一 台才是主要的服务器。在任何DNS记录文件中,都是以SOA ( Startof Authority )记录 开始。SOA资源记录表明此DNS名称服务器是该DNS域中数据信息的最佳来源。 A(internet Address)
- 作用,域名解析成IP地址,正向解析 AAAA(FQDN)
- –> IPV6 PTR(PoinTeR)
- 反向解析,ip地址解析成域名 NS(Name Server)
- 专用于标明当前区域的DNS服务器,服务器类型为域名服务器 CNAME
- Canonical Name,别名记录 MX(Mail eXchanger)
- 邮件交换器 TXT
- 对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮件)记录,https验证等 SOA记录与NS记录的区别
- NS记录表示域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析;SOA记录设置一些数据版本和更新以及过期时间等信息。
实验
(一)主服务器配置
序号 | 服务器名称 | IP | 备注 |
---|---|---|---|
1 | dns1 | 192.168.200.113 | 主 |
2 | dns2 | 192.168.200.114 | 备 |
- 安装bind
dnf install -y bind bind-utils
systemctl start named
- 修改主配置文件
cd /etc
cp named.conf named.conf.bak
vim /etc/named.conf
修改配置如下:
listen-on port 53 { any; };
allow-query { any; }; '允许使用本DNS服务的网段:{一般更改为any}'
- 修改named.rfc1912.zones
cd /etc
cp named.rfc1912.zones named.rfc1912.zones.bak
vim /etc/named.rfc1912.zones
配置新增如下:
zone "test.com" IN {
type master;
file "test.com.zone";
};
zone "200.168.192.in-addr.arpa" IN {
type master;
file "192.168.200.zone";
};
named-checkconf
检查配置文件语法
- 新建正向区域配置文件
/var/named/test.com.zone
touch /var/named/test.com.hosts
vim /var/named/test.com.hosts
内容如下:
$TTL 1D
@ IN SOA test.com. root.test.com. (
0 ;serial #更新序列号
1D ;refresh #更新时间
1H ;retry #重试延时
1W ;expire #失效时间
3H) ;minimum #无效解析记录的缓存时间
@ IN NS dns1.test.com.
dns1 IN A 192.168.200.113
dns2 IN A 192.168.200.114
检查
named-checkzone test.com /var/named/test.com.zone
- 新建反向区域配置文件
/var/named/192.168.200.zone
touch /var/named/192.168.200.zone
vim /var/named/192.168.200.zone
内容如下:
$TTL 1D
@ IN SOA test.com. root.test.com. (
0 ;serial
1D ;refresh
1H ;retry
1W ;expire
3H) ;minimum
@ IN NS dns1.test.com.
113 IN PTR dns1.test.com.
114 IN PTR dns2.test.com.
检查
named-checkzone 12.168.192.in-addr.arpa /var/named/192.168.200.zone
- 重启服务
systemctl restart named
systemctl enable named #设置开机启动
- 配置防火墙
firewall-cmd --add-service=dns --permanent
firewall-cmd --reload
firewall-cmd --list-services
- 本地测试
ping dns1.test.com
ping dns2.test.com
- win客户端测试
配置IP
使用win7 CMD命令测试
ipconfig /flushdns
ping 192.168.200.113
ping dns1.test.com
(二)从服务器配置
- 安装bind
dnf install -y bind bind-utils
systemctl start named
- 修改主配置文件
cd /etc
cp named.conf named.conf.bak
vim /etc/named.conf
修改配置如下:
listen-on port 53 { any; };
allow-query { any; }; '允许使用本DNS服务的网段:{一般更改为any},也可以写成0.0.0.0/0'
- 修改named.rfc1912.zones
cd /etc
cp named.rfc1912.zones named.rfc1912.zones.bak
vim /etc/named.rfc1912.zones
配置新增如下:
zone "test.com" IN {
type slave;
file "slaves/test.com.zone";
masters { 192.168.200.113; };
};
zone "200.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.200.zone";
masters { 192.168.200.113; };
};
#上面是正向区域配置部分,test.com 为域名后缀,type slave表明这是从属服务器,file指定文件存储目录,masters{ 192.168.12.11} 指明了主DNS服务器的IP地址。( file “slaves/demo.com.zone”;)
named-checkconf
检查配置文件语法
- 查看主域名服务器同步过来的文件
/var/named/slaves/
systemctl start named
cd /var/named/slaves/
ll
从dns服务器上已经有主dns服务器同步过来的正向和反向解析文件了
- 重启服务
systemctl restart named
systemctl enable named #设置开机启动
- 配置防火墙
firewall-cmd --add-service=dns --permanent
firewall-cmd --reload
firewall-cmd --list-services
- 本地测试
ping dns1.test.com
ping dns2.test.com
- win客户端测试
配置IP
使用win7 CMD命令测试
ipconfig /flushdns
ping 192.168.200.113
ping dns1.test.com