为什么需要DNS系统
www.baidu.com 与 119.75.217.56,哪个更好记?
互联网中的114查号台/导航员
DNS服务器的功能
正向解析:根据注册的域名查找其对应的IP地址
反向解析:根据IP地址查找对应的注册域名,不常用
DNS服务器分类:
根域名服务器、一级DNS服务器、二级DNS服务器、三级DNS服务器
域名系统: 所有的域名都必须要以点作为结尾,树型结构
www.qq.com www.qq.com.
/etc/resolv.conf 指明谁是DNS服务器
/etc/hosts 仅为本机提供域名解析
根域名: .
一级域名:.cn .us .tw .hk .jp .kr ……
二级域名: .com.cn .org.cn .net.cn ……
三级域名: haha.com.cn xixi.com.cn nb.com.cn ……
FQDN(完全合格的主机名):站点名+注册而来的域名
- BIND(Berkeley Internet Name Daemon)
- BIND服务器端程序
- 主要执行程序:/usr/sbin/named
- 系统服务:named
- DNS协议默认端口:TCP/UDP 53
- 运行时的虚拟根环境:/var/named/chroot/
www.tedu.cn
- 主配置文件:/etc/named.conf #设置负责解析的域名
tedu.cn
- 地址库文件:/var/named/ #完全合格的主机名与IP地址对应关系
www.tedu.cn----->192.168.1.1
ftp.tedu.cn----->192.168.1.10
1.装包:
[root@svr7 ~]# yum -y install bind bind-chroot
bind(主程序)
bind-chroot(提供牢笼政策)
2.修改主配置文件

[root@svr7 ~]# vim /etc/named.conf


地址库文件的书写:

root@svr7 ~]# cp -p /etc/named.conf /root/
[root@svr7 ~]# ls -l /root/named.conf
-rw-r-----. 1 root named 1705 3月 22 2016 /root/named.conf
[root@svr7 ~]# vim /etc/named.conf
[root@svr7 ~]# cd /var/named
[root@svr7 named]#
[root@svr7 named]# cp -p named.localhost tedu.cn.zone
[root@svr7 named]# ls -l tedu.cn.zone
-rw-r-----. 1 root named 152 6月 21 2007 tedu.cn.zone
[root@svr7 named]# vim /var/named/tedu.cn.zone
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 1.1.1.1
ftp A 2.2.2.2
[root@svr7 named]# systemctl restart named


多区域的DNS服务器
[root@svr7 /]# vim /etc/named.conf
options {
directory "/var/named";
};
zone "tedu.cn" IN {
type master;
file "tedu.cn.zone";
};
zone "lol.com" IN {
type master;
file "lol.com.zone";
};
[root@svr7 /]# cd /var/named/
[root@svr7 named]# cp -p tedu.cn.zone lol.com.zone
[root@svr7 named]# vim lol.com.zone
……此处省略一万字
lol.com. NS svr7
svr7 A 192.168.4.7
www A 4.4.4.4
vip A 5.5.5.5
[root@svr7 named]# systemctl restart named
虚拟机B
[root@pc207 ~]# nslookup www.lol.com
特殊解析:
DNS的轮询(负载均衡)
DNS的轮询(负载均衡)
[root@svr7 /]# vim /var/named/tedu.cn.zone
……此处省略一万字
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.20
www A 192.168.4.21
www A 192.168.4.22
ftp A 2.2.2.2
[root@svr7 /]# systemctl restart named
DNS的泛域名解析:
[root@svr7 /]# vim /var/named/tedu.cn.zone
……此处省略一万字
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.20
ftp A 2.2.2.2
* A 6.6.6.6
tedu.cn. A 7.7.7.7
[root@svr7 /]# systemctl restart named
虚拟机B测试:
[root@pc207 /]# nslookup wwwwww.tedu.cn
[root@pc207 /]# nslookup tedu.cn
有规律泛域名解析:
pc1.tedu.cn ------->192.168.10.1
pc2.tedu.cn ------->192.168.10.2
pc3.tedu.cn ------->192.168.10.3
pc4.tedu.cn ------->192.168.10.4
........
pc50.tedu.cn ------->192.168.10.50
内置函数:$GENERATE 制造连续数字

测试:
//当解析不存在的地址时会按最低匹配来。

DNS的解析记录的别名
[root@svr7 /]# vim /var/named/tedu.cn.zone
……此处省略一万字
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.20
ftp A 2.2.2.2
* A 6.6.6.6
tedu.cn. A 7.7.7.7
vip CNAME ftp #vip解析结果与ftp解析结果一致
[root@svr7 /]# systemctl restart named
虚拟机B:测试
[root@pc207 ~]# nslookup vip.tedu.cn
缓存DNS:
作用:缓存解析结果,加快访问
递归查询:
工作方式:
递归查询:客户端发送请求给首选DNS服务器,首选DNS服务器与其他的DNS服务器交互,最终将解析结果带回来过程
迭代查询: 客户端发送请求给首选DNS服务器,首选DNS服务器告知下一个DNS服务器地址
虚拟机B:构建DNS服务器负责bj.tedu.cn
[root@pc207 ~]# yum -y install bind bind-chroot
options {
directory "/var/named";
};
zone "bj.tedu.cn" IN {
type master;
file "bj.tedu.cn.zone";
};
]# cd /var/named/
]# cp -p named.localhost bj.tedu.cn.zone
]# vim bj.tedu.cn.zone
……此处省略一万字
bj.tedu.cn. NS pc207
pc207 A 192.168.4.207
www A 9.9.9.9
]# systemctl restart named
虚拟机A:子域授权
[root@svr7 /]# vim /var/named/tedu.cn.zone
tedu.cn. NS svr7
bj.tedu.cn. NS pc207
svr7 A 192.168.4.7
pc207 A 192.168.4.207
www A 192.168.4.20
ftp A 2.2.2.2
* A 4.4.4.4
tedu.cn. A 5.5.5.5
vip CNAME ftp
[root@svr7 /]# systemctl restart named
虚拟机B:测试
[root@pc207 /]# nslookup www.bj.tedu.cn 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Non-authoritative answer: #非权威解答
Name: www.bj.tedu.cn
Address: 9.9.9.9
虚拟机A:禁止递归查询
[root@svr7 /]# vim /etc/named.conf
options {
directory "/var/named";
recursion no; #禁止递归查询
};
zone "tedu.cn" IN {
type master;
file "tedu.cn.zone";
};
zone "lol.com" IN {
type master;
file "lol.com.zone";
};
[root@svr7 /]# systemctl restart named
[root@pc207 /]# dig @192.168.4.7 www.bj.tedu.cn #专业域名解析的工具
bj.tedu.cn. 86400 IN NS pc207.tedu.cn.
;; ADDITIONAL SECTION:
pc207.tedu.cn. 86400 IN A 192.168.4.207
DNS主从架构
作用:提高可靠性,从DNS服务器备份主DNS服务器的数据
虚拟机A:主DNS服务器,以lol.com域名
虚拟机B:从DNS服务器,以lol.com域名
虚拟机A:主DNS服务器
1.授权从DNS服务器
vim /etc/named.conf
options {
directory "/var/named";
allow-transfer { 192.168.4.207; }; #允许进行数据传输
};
zone "lol.com" IN {
type master;
file "lol.com.zone";
};
2.在主DNS服务器上声明从DNS服务器
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
lol.com. NS svr7
lol.com. NS pc207
svr7 A 192.168.4.7
pc207 A 192.168.4.207
www A 1.2.3.4
重启服务:
[root@pc207 ~]# systemctl restart named
测试:
[root@pc207 ~]# nslookup www.lol.com 192.168.4.207
Server: 192.168.4.207
Address: 192.168.4.207#53
Non-authoritative answer:
Name: www.lol.com
Address: 1.2.3.4
从服务器上配置:
pc207:
vim /etc/named.conf
options {
directory "/var/named";
};
zone "lol.com" IN {
type slave; #类型为从服务器
file"/var/named/slaves/lol.com.slave"; #确保named用户有读写执行权限
masters { 192.168.4.7; }; #指定主DNS服务器
masterfile-format text; #地址库文件明文存储
};
systemctl restart named
ls /var/named/slaves
***//lol.com.slave//*** 这是ls的输出结果
DNS主从同步:
A:

重启服务:
[root@svr7 named]# systemctl restart named
从服务器验证:
