实验环境:centos 7
程序版本:bind-9.9.4-29.el7.x86_64
安装方法:yum install -y bind (base仓库):
端口:
TCP53:负责主从服务器的数据复制传输
UDP53:负责解析
主配置文件:/etc/named.conf
区域配置文件存放目录:/var/named/
从服务器的区域配置文件存放目录:/var/named/slaves
主服务器:192.168.1.12
从服务器:192.168.1.13
主从配置:
~]# cp -p /etc/named.conf /etc/named.conf.bak
~]# vi /etc/named.conf
options { listen-on port 53 { localhost; }; #哪些主机可以访问解析 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; }; #允许哪些主机请求查询 recursion yes; #递归查找 dnssec-enable no; #DNS加密 dnssec-validation no; #DNS加密高级算法 zone "wwe.com" IN { #正向区域 type master; #主(master),从(slave),转发(forward),根(hint) file "wwe.com.zone"; #区域文件名称 allow-transfer { 192.168.1.13; }; #定义传输白名单 }; zone "1.168.192.in-addr.arpa" IN { #反向区域 type master; file "arpa-wwe.zone"; allow-transfer { 192.168.1.13; }; #定义传输白名单 };
正向解析区域文件:
SOA:起始授权机构,定义DNS区域中的权威服务器
NS:定义DNS区域正在提供DNS服务的主机
A记录:主机记录(正向区域)
MX:邮件交换记录。如果有多个,在MX记录后应有一个0-99的值,表示此服务器的优先级,值越小优先级越高
*:泛域名
CNAME:别名
~]# cp /var/named/named.localhost /var/named/wwe.com.zone
~]# vi /var/named/wwe.com.zone
$TTL 1D @ IN SOA s1.wwe.com. admin.wwe.com. ( SOA后写主DNS服务器名字 2017001 ; serial 序列号,最大10位 1D ; refresh 刷新时间 1H ; retry 重试时间 1W ; expire 过期时间 3H ) ; minimum 否定答案的TTL值 NS s1.wwe.com. NS s2.wwe.com. s1 A 192.168.1.12 s2 A 192.168.1.13 www A 192.168.1.12 @ MX 10 mx1 MX 20 mx2 mx1 A 192.168.1.14 mx2 A 192.168.1.15 ftp CNAME www * A 192.168.1.12
检查]# named-checkzone wwe.com.zone /var/named/wwe.com.zone #文件名 文件路径
注意:com后面都有点
注意:修改区域文件的属主和主组为named
admin后面的点是@的意思,因@有特殊含义,故用点代替
D(day)
H(hour)
W(week)
M(minute)
/etc/resolv.conf
反向解析区域文件:
]# vi /var/named/arpa-wwe.zone
$TTL 1D @ IN SOA s1.wwe.com. admin.wwe.com. ( 2017001 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS s1.wwe.com. NS s2.wwe.com. 12 PTR s1 13 PTR s2 12 PTR www 14 MX 10 mx1 15 MX 20 mx2
启动服务
从服务器配置
zone "wwe.com" IN { type slave; #类型:从服务器 masters { 192.168.1.12; }; #定义主服务器地址,括号内前后空一格 masterfile-format text; #不写可能会出现乱码问题 file "slaves/wwe.com.zone"; #文件存放位置,文件名要与主服务器一样 }; zone "1.168.192.in-addr.arpa" IN { type slave; masters { 192.168.1.12; }; masterfile-format text; file "slaves/arpa-wwe.zone"; };
启动服务
查看/var/named/slaves/目录下有没有生成区域配置文件
安装bind-utils程序包,使用dig命令可检查服务是否可用
~]# dig ftp.wwe.com @192.168.1.12
注意:在使用的客户端上修改文件 /etc/resolv.conf
添加DNS服务器,也就是我们上面设置的DNS主服务器
nameserver 192.168.1.12
子域授权和转发
为了方便公司部门管理运营,每个部门需要独立的域名服务器,这就要在父域下分配子域,比如,运维部的子域ops.wwe.com,而子域需要父域授权
父域:主机192.168.1.12 wwe.com
子域:主机10.1.12.100 ops.wwe.com
编辑父域的区域文件:
~]# vi /var/named/wwe.com.zone 添加俩条记录
NS son.ops.wwe.com. son.ops A 10.1.12.100
配置子域的DNS:
]# vi /etc/named.conf
zone "ops.wwe.com" IN { type master; file "ops.wwe.com.zone"; }; zone "wwe.com" IN { type forward; forward only; forwarders { 192.168.1.12; }; };
生成区域文件:
]# vi /var/named/ops.wwe.com.zone
$TTL 86400 ; 1 day @ IN SOA son.ops.wwe.com. admin.ops.wwe.com. ( 2011002 ; serial 86400 ; refresh (1 day) 3600 ; retry (1 hour) 604800 ; expire (1 week) 10800 ; minimum (3 hours) ) @ NS son.ops.wwe.com. son A 10.1.12.100 www A 10.1.12.12
DNS智能解析(基于视图)
~]# vi /etc/named.conf
acl innet { 192.168.1.0/24; }; #来源IP指定 acl another { ! 192.168.1.0/24; }; #反选,上面指定的IP网段外的IP view "lan" { #定义内网的名字 match-client { "innet"; }; #匹配这个IP网段才使用下面的zone zone "." IN { type hint; file "named.ca"; }; zone "wwe.com" IN { type master; file "wwe.com.zone"; allow-transfer { 192.168.1.13; }; }; zone "1.168.192.in-addr.arpa" IN { type master; file "arpa-wwe.zone"; allow-transfer { 192.168.1.13; }; }; }; view "wan" { #定义外网的名字 match-client { "another"; }; #同上,匹配acl定义的这个网段 zone "." IN { type hint; file "named.ca"; }; zone "wwe.com" IN { type master; file "wwe.com.zone.new"; #区域文件要与上面不一样 allow-transfer { 192.168.1.13; }; }; };
配置view "wan"中定义的区域配置文件wwe.com.zone.new文件
]# vi /var/named/wwe.com.zone.new
$TTL 1D @ IN SOA s1.wwe.com. admin.wwe.com. ( 2011002 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS s1.wwe.com. NS s2.wwe.com. NS son.ops.wwe.com. s1 A 192.168.100.12 s2 A 192.168.100.13 son.ops A 10.1.12.100 www A 192.168.100.12 @ MX 10 mx1 MX 20 mx2 mx1 A 192.168.100.14 mx2 A 192.168.100.15 web CNAME www * A 192.168.100.15