相关概念: 正向解析:将域名解析成IP地址 反向解析:将IP地址解析成域名
第一步:准备工作 systemctl stop firewalld //关闭防火墙 setenforce 0 //关闭selinux yum install bind //安装DNS服务
第二步:编辑配置文件 1.编辑主配置文件 vi /etc/named.conf //主配置文件 options { listen-on port 53 { 192.168.80.101; }; //改成自己服务器的IP 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"; allow-query { any; }; //任何人都可以访问
named-checkconf //检查语法错误
2.编辑区域配置文件 vi /etc/named.rfc1912.zones zone "hello.com" IN { //正向区域配置 type master; file "hello.com.zone"; allow-update { none; }; }; zone "80.168.192.in-addr.arpa" IN { //反向区域配置 type master; file "hello.com.local"; allow-update { none; }; };
named-checkconf
4.编辑区域数据配置文件 cp -p named.localhost hello.com.zone cp -p named.localhost hello.com.local
vi hello.com.zone //正向区域数据配置文件
$TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 天 1H ; retry 时 1W ; expire 周 3H ) ; minimum 缓存 NS @ A 192.168.80.101 //本服务器地址 www IN A 192.168.80.101 //www.hello.com对应的地址 ftp IN A 192.168.80.101 //ftp.hello.com对应的地址 mail IN CNAME www //mail.hello.com是www.hello.com的另一个名称
- IN A 192.168.80.6 //如果后缀是hello.com但是前面的内容记录中没有的时候向查询主机返回192.168.80.6这个地址。 (*泛域名解析)
vi hello.com.local //反向区数据文件
$TTL 1D @ IN SOA hello.com. rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 192.168.80.101 101 IN PTR www.hello.com. (PTR指针记录)
named-checkconf systemctl start named
netstat -anpu | grep name //UDP 53端口在监听 tcp 做主从同步的 DNS在进行区域传输(数据同步)的时候使用TCP协议,其它时候则使用UDP协议
vi /etc/resolv.conf //指定dns服务器 nameserver 192.168.80.101
yum install bind-utils -y
nslookup www.hello.com
nslookup ftp.hello.com
nslookup 192.168.80.101
到此,DNS服务器已搭建完成。
第三步、搭建主从同步
1、在主服务器上: vi /etc/named.rfc1912.zones //主服务器操作
zone "hello.com" IN { type master; file "hello.com.zone"; allow-update { 192.168.80.102; }; ----允许从服务器实时同步 also-notify { 192.168.80.102; }; ----另行通知 };
named-checkconf 2、在从服务器上: 搭建DNS服务器--------(参照上面配置) yum install bind vi /etc/named.conf
vi /etc/named.rfc1912.zones
zone "hello.com" IN { type slave; masters { 192.168.80.101; }; file "slaves/hello.com.zone"; allow-notify { 192.168.80.101; }; ----允许通知 }; zone "80.168.192.in-addr.arpa" IN { type slave; //类型 masters { 192.168.80.101; }; file "slaves/hello.com.local"; allow-notify { 192.168.80.101; }; ----允许通知 };
named-checkconf
systemctl start named
netstat -anpu | grep name
cd /var/named/slaves/ 进入备份目录,查看区域文件有木有备份过来
nslookup www.hello.com
nslookup 192.168.80.101
如上图,表示DNS主从服务器已同步。 测试实时同步:在主服务器中修改正向区域配置文件如下图:
systemctl restart named //修改文件后记得重启一下 在主服务器上解析:
在从服务器上:
如上图,表示已实时同步。