1.搭建基本DNS服务器
pc7:
1.1 安装软件包
]# yum -y install bind-chroot bind
bind //域名服务包
bind-chroot //提供虚拟根支持,牢笼政策
1.2 修改配置文件
]# cp -p /etc/named.conf /etc/named.conf.bak
]# vim /etc/named.conf
options {
directory "/var/named"; #指定地址库文件存放位置
};
zone "baidu.cn" IN { #指定本机负责解析的域名
type master; #指定主DNS服务器
file "baidu.com.zone"; #指定创建地址库文件名称
};
1.3 建立相应的地址库文件(保证named用户具备读取权限)
] # cd /var/named/
] # cp -p named.localhost baidu.com.zone #权限不变拷贝
所有的域名都必须以点最为结尾
如果没有以点结尾,默认补全地址库负责的域名
]# vim /var/named/baidu.com.zone
...
3H ) ; minimum
baidu.com. NS pc7.baidu.com.
pc7.baidu.com. A 192.168.4.7
www.baidu.com. A 1.1.1.1
ftp.baidu.com. A 2.2.2.2
1.4 重起named服务
]# systemctl restart named
客户端验证 pc8
1.1 指定DNS服务器地址
]# echo nameserver 192.168.4.7 > /etc/resolv.conf
]# nslookup www.baidu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.baidu.com
Address: 1.1.1.1
]# nslookup ftp.baidu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: ftp.baidu.com
Address: 2.2.2.2
######################
2.多区域的DNS服务器
2.1.修改配置文件
]# vim /etc/named.conf
........
zone "qq.com" IN {
type master;
file "qq.com.zone";
};
2.建立地址库文件/var/named/qq.com.zone
]# cd /var/named/
]# cp -p baidu.com.zone qq.com.zone
]# vim qq.com.zone
... 3H ) ; minimum
qq.com. NS pc7.qq.com.
pc7.qq.com. A 192.168.4.7
www.qq.com. A 3.3.3.3
ftp.qq.com. A 4.4.4.4
3.重起named服务
]# systemctl restart named
pc8测试:
]# nslookup www.qq.com
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.qq.com
Address: 3.3.3.3
]# nslookup ftp.qq.com
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: ftp.qq.com
Address: 4.4.4.4
####################
3.DNS轮询
• 基于DNS的站点负载均衡
– 一个域名 ---> 多个不同IP地址
– 每个IP提供镜像服务内容
]# vim /var/named/baidu.com.zone
...
www.baidu.com. A 1.1.1.1
www.baidu.com. A 1.1.1.2
www.baidu.com. A 1.1.1.3
www.baidu.com. A 1.1.1.4
www.baidu.com. A 1.1.1.5
www.baidu.com. A 1.1.1.6
...
]# systemctl restart named
pc8验证:
]# nslookup wwww.baidu.com
########################
4.泛域名解析
]# vim /var/named/baidu.com.zone
...
* A 1.2.3.4
pc8验证:
]# nslookup xxx.baidu.com
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: xxx.baidu.com
Address: 1.2.3.4
######################
5.有规律泛域名解析
]# vim /var/named/baidu.com.zone
...
$GENERATE 1-50 p$.baidu.com. A 192.168.10.$
]# systemctl restart named
pc8验证:
]# nslookup p49.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: p49.baidu.com
Address: 192.168.10.49
#####################
6.解析记录别名CNAME
]# vim /var/named/baidu.com.zone
ftp.baidu.com. A 2.2.2.2
tts CNAME ftp
]# systemctl restart named
pc8验证:
]# nslookup tts.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53
tts.baidu.com canonical name = ftp.baidu.com.
Name: ftp.baidu.com
Address: 2.2.2.2
#######################
7.DNS子域授权
父域:www.qq.com
子域:www.bj.qq.com
虚拟机A负责解析,父域的qq.com
虚拟机B负责解析,子域的bj.qq.com
pc8:
7.1 pc8配置:
]# yum -y install bind-chroot bind
]# vim /etc/named.conf
options {
directory "/var/named";
};
zone "bj.qq.com" IN {
type master;
file "bj.qq.com.zone";
};
]# cd /var/named/
]# cp -p named.localhost bj.qq.com.zone
]# vim bj.qq.com.zone
... 3H ) ; minimum
bj.qq.com. NS pc8
pc8.bj.qq.com. A 192.168.4.8
www.bj.qq.com. A 100.100.100.100
]# systemctl restart named
测试:
]# nslookup www.bj.qq.com 192.168.4.8
Server: 192.168.4.8
Address: 192.168.4.8#53
Name: www.bj.qq.com
Address: 100.100.100.100
子域授权
]# vim /var/named/qq.com.zone
qq.com. NS pc7.qq.com.
bj.qq.com. NS pc8.bj.qq.com.
pc7.qq.com. A 192.168.4.7
pc8.bj.qq.com. A 192.168.4.8
...
]# systemctl restart named
pc8验证:
]# nslookup www.bj.qq.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Non-authoritative answer:
Name: www.bj.qq.com
Address: 100.100.100.100
#####################
递归解析:
客户端请求DNS域名解析,首选DNS服务器与其他DNS服务器交互,最终将解析结果反馈给客户端
迭代解析:
客户端请求DNS域名解析,首选DNS服务器与其他DNS服务器交互过程
options {
directory "/var/named";
recursion yes; #支持递归解析:
};
关闭递归解析:
options {
directory "/var/named";
recursion no;
};
专用于DNS查询过程查看
]# dig www.bj.qq.com 192.168.4.7
###########################
/etc/hosts 主机名映射记录文件
作用:直接达到DNS解析功能,只为本机提供解析
pc8:
]# ping www.360.com
connect: 网络不可达
]# vim /etc/hosts
...
192.168.4.110 www.360.com
]# ping www.360.com
PING www.360.com (192.168.4.110) 56(84) bytes of data.
客户端解析域名优先级:
1./etc/hosts
2./etc/resolv.conf
3.交由本机127.0.0.1:53处理
########################
8.缓存DNS服务器
作用:缓存解析结果,进行加速解析
解析记录来源
• 方式1:全局转发
– 将请求转发给指定的公共DNS(其他缓存DNS),请求递归服务
选择一个稳定的主机:
]# vim /etc/named.conf(先备份)
options {
directory "/var/named";
forwarders { xx.xx.xx.xx; }; #转发给真DNS服务器
};
]# systemctl restart named
pc8验证:
]# nslookup www.baidu.com xx.xx.xx.xx
########################
9.DNS分离解析
什么是分离解析
• 当收到客户机的DNS查询请求的时候
– 能够区分客户机的来源地址
– 为不同类别的客户机提供不同的解析结果(IP地址)
– 不同类别的客户机,解析同样的域名,结果不同
– 作用:为客户端提供最近的资源
典型适用场景
• 访问压力大的网站,购买CDN提供的内容分发服务
– 在全国各地/不同网络内部署大量镜像服务节点
– 针对不同的客户机就近提供服务器
view "nsd" {
match-clients { 192.168.4.100; };
zone "sina.com" IN {
type master;
file "sina.com.zone";
};
};
view "other" {
match-clients { any; };
zone "sina.com" IN {
type master;
file "sina.com.other";
};
};
– A记录分离解析 —— 以 www.baidu.com 为例
客户机来自 解析结果
192.168.4.7 ---------> 192.168.4.100
其他地址 ---------> 7.7.7.7
– A记录分离解析 —— 以 www.sina.com为例
客户机来自 解析结果
192.168.4.7 ---------> 192.168.4.120
其他地址 ---------> 8.8.8.8
pc7:
9.1 /etc/named.conf
]# vim /etc/named.conf
options {
directory "/var/named";
};
acl test { 192.168.4.7; };
view "nsd" { #nsd不是关键,match-clients才是
match-clients { test; };
zone "baidu.com" IN {
type master;
file "baidu.com.zone";
};
zone "sina.com" IN {
type master;
file "sina.com.zone";
};
};
view "other" {
match-clients { any; };
zone "baidu.com" IN {
type master;
file "baidu.com.other";
};
zone "sina.com" IN {
type master;
file "sina.com.other";
};
};
9.2 baidu.com.zone
...
www.baidu.com. A 192.168.4.100
...
9.3 baidu.com.other
...
www.baidu.com. A 7.7.7.7
...
9.4 sina.com.zone
...
www.sina.com. A 192.168.4.120
...
9.5 sina.com.other
...
www.sina.com. A 8.8.8.8
...
9.6 重启
# systemctl restart named
9.7 不同机器检测:
pc7:
# nslookup www.baidu.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.baidu.com
Address: 192.168.4.100
]# nslookup www.sina.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.sina.com
Address: 192.168.4.120
pc8:
]# nslookup www.baidu.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.baidu.com
Address: 7.7.7.7
]# nslookup www.sina.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Name: www.sina.com
Address: 8.8.8.8