1.1 DNS系统的作用及类型
DNS网络中的作用就是维护一个地址数据库,记录主机域名与IP地址的对应关系,方便为客户程序提供正向或反向地址查询服务。即正向解析和反向解析。
正向解析:根据域名查IP地址,将指定域名解析为相对应的IP地址。
反向解析:根据IP地址查域名,将指定的IP地址解析为对应于域名。
DNS系统类型:
缓存域名服务器:向其他域名服务器查询获得域名,缓存IP地址记录。提高查询速度。
主域名服务器:负责该区域内所有域名,具有唯一性,映射IP地址。自行建立该区域地址数据文件。
从域名服务器:对主域名服务器的热备份,维护域名,IP记录来源于主域名服务器。
2. BIND 的安装和控制
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum -y install bind bind-utils bind-libs bind-chroot
[root@localhost ~]# systemctl status named
备注:
- bind:提供了域名服务的主要程序及相关文件。
- bind-utils:提供了对 DNS 服务器的测试工具程序,如 nslookup 等。
- bind-libs:提供了 bind、bind-utils 需要使用的函数库。
- bind-chroot:为 BIND 服务提供一个伪装的根目录,以提高安全性。
BIND 服务控制
[root@localhost ~]# systemctl status named
2. 1缓存域名配置文件
(1)全局配置文件
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.10.101; };
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; };
备注:
- options :全局(
- listen-on port 53 { 192.168.10.101; }; DNS IPv4的监听端口和地址
- listen-on-v6 port 53 { ::1; }; DNS服务IPv6的监听端口和地址
- directory "/var/named"; 存储目录
- dump-file "/var/named/data/cache_dump.db"; 缓存数据库文件
- statistics-file "/var/named/data/named_stats.txt"; 状态统计文件
- recursing-file "/var/named/data/named.recursing"; 服务器dump安全根到文件的路径
- secroots-file "/var/named/data/named.secroots"; 递归查询的文件路径
- allow-query { localhost; }; 指定允许进行查询的主机
(2) 区域配置部分
zone "." IN {
type hint;
file "named.ca";
(3)启动named服务
[root@localhost ~]# systemctl start named
(4)验证
另外客户机上检测能否获得相应的IP地址。
百度可以ping通,联网正常。
[root@localhost ~]# systemctl restart network
[root@localhost ~]# ping baidu.com
PING baidu.com (110.242.68.66) 56(84) bytes of data.
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=20.1 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=28.2 ms
[root@localhost ~]# nslookup qq.com
Non-authoritative answer:
Name: qq.com
Address: 157.255.219.143
3. 构建主域名服务器
(1)建立主配置文件
[root@localhost named]# vim /etc/named.conf
options { (全局配置)
listen-on port 53 { 192.168.10.101; }; (IPV4监听端口和地址)
listen-on-v6 port 53 { ::1; }; (IPV6监听端口和地址)
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"; (bind9未实现)
recursing-file "/var/named/data/named.recursing"; (dump安全备份)
secroots-file "/var/named/data/named.secroots"; (递归文件路径)
allow-query { any; }; (允许查询主机)
zone "bdqn.com" IN {
type master; (区域类型)
file "bdqn.com.zone"; (区域文件)
allow-transfer { 192.168.10.102;}
};
[root@localhost named]# cd /var/named
[root@localhost named]# ls
chroot dynamic named.ca named.localhost slaves
data dyndb-ldap named.empty named.loopback
[root@localhost named]# cp named.localhost bdqn.com.zone
[root@ns1 named]# vim bdqn.com.zone
$TTL 86400
@ IN SOA bdqn.com. admin.bdqn.com. (
0 ; serial (更新序列号)
1D ; refresh (刷新)
1H ; retry (重试)
1W ; expire (失效时间)
3H ) ; minimum (无效解析时间)
@ IN NS ns1.bdqn.com. (NS记录类型)
IN NS ns2.bdqn.com.
IN MX 10 mail.bdqn.com. (10表示优先级,数字越小越优先)
ns1 IN A 192.168.10.101 (域名到IP使用A记录类型)
ns2 IN A 192.168.10.102
ftp IN A 192.168.10.104
mail IN A 192.168.10.105
www IN A 192.168.10.106
* IN A 192.168.10.106
(2)检测文件
[root@localhost named]# systemctl restart named
[root@localhost named]# tail /var/log/messages (如果 named无法启动可以用以下命令查错,排错)
[root@localhost named]# named-checkconf /etc/named.conf
[root@localhost named]# named-checkzone bdqn.com /var/named/bdqn.com.zone
zone bdqn.com/IN: loaded serial 0
OK
(3)检测文件属主属组
[root@localhost named]# ll
总用量 20
-rw-r-----. 1 root root 348 5月 15 16:43 bdqn.con.zone
drwxr-x---. 7 root named 61 5月 15 14:39 chroot
[root@localhost named]# chown :named bdqn.con.zone
[root@localhost named]# ll
总用量 20
-rw-r-----. 1 root named 348 5月 15 16:43 bdqn.con.zone
drwxr-x---. 7 root named 61 5月 15 14:39 chroot
(4)重新启动
[root@localhost named]# systemctl restart named
(5)在客户端进行验证
[root@localhost ~]# nslookup www.baidu.com
Server: 192.168.10.101
Address: 192.168.10.101#53
[root@localhost ~]# nslookup qq.com
Server: 192.168.10.101
Address: 192.168.10.101#53
Non-authoritative answer:
Name: qq.com
Address: 157.255.219.143
4. 反向查找
(1)区域文件配置
[root@localhost named]# vim /etc/named.conf
zone "10.168.192.in-addr.arpa" IN { (确定方向区域网段)
type master;
file "192.168.10.arpa";
allow-transfer { 192.168.10.102; };
};
[root@localhost named]# ls
bdqn.com.zone data dyndb-ldap named.empty named.loopback
chroot dynamic named.ca named.localhost slaves
[root@localhost named]# cp named.localhost 192.168.10.arpa
[root@localhost named]# vim 192.168.10.arpa
$TTL 1D
@ IN SOA bdqn.com admin.bdqn.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns1.bdqn.com.
IN NS ns2.bdqn.com.
101 IN PTR ns1.bdqn.com. (PTR:指针记录,IP到域名)
102 IN PTR ns2.bdqn.com.
105 IN PTR www.bdqn.com.
106 IN PTR ftp.bdqn.com.
(2)修改文件属主和属组
[root@localhost named]# chown :named 192.168.10.arpa
(3)文件检测
[root@localhost named]# named-checkzone 10.168.192.in-addr.arpa 192.168.10.arpa
zone 10.168.192.in-addr.arpa/IN: loaded serial 0
OK
备注:
- 10.168.192.in-addr.arpa 反向查找区域名
- 192.168.10.arpa 检测该文件
(4)重启
[root@localhost named]# systemctl restart named
(5)客户端检测
[root@localhost ~]# nslookup 192.168.10.105
105.10.168.192.in-addr.arpa name = www.bdqn.com.
[root@localhost ~]# nslookup 192.168.10.105
105.10.168.192.in-addr.arpa name = www.bdqn.com.
[root@localhost ~]# nslookup 192.168.10.106
106.10.168.192.in-addr.arpa name = ftp.bdqn.com.
[root@localhost ~]# nslookup 192.168.10.102
102.10.168.192.in-addr.arpa name = ns2.bdqn.com.
[root@localhost ~]# nslookup 192.168.10.101
101.10.168.192.in-addr.arpa name = ns1.bdqn.com.