第一步:准备工作
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是的另一个名称
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 (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
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