VM:
pc7:10.10.11.10
pc8:10.10.11.11
1.搭建基本DNS服务器
pc7:10.10.11.10
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.com" 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 10.10.11.10
www.baidu.com. A 1.1.1.1
ftp.baidu.com. A 1.1.1.2
1.4 重起named服务
]# systemctl restart named
客户端验证 pc8:10.10.11.11
指定DNS服务器地址
]# echo nameserver 10.10.11.10 > /etc/resolv.conf
]# nslookup www.baidu.com
Server: 10.10.11.10
Address: 10.10.11.10#53
Name: www.baidu.com
Address: 1.1.1.1
]# nslookup ftp.baidu.com
Server: 10.10.11.10
Address: 10.10.11.10#53
Name: ftp.baidu.com
Address: 1.1.1.2
2 多区域的DNS服务器
2.1 修改配置文件 pc7
]# vim /etc/named.conf
........
zone "qq.com" IN {
type master;
file "qq.com.zone";
};
2.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 10.10.11.10
www.qq.com. A 2.2.2.1
ftp.qq.com. A 2.2.2.2
2.3 重起named服务
]# systemctl restart named
pc8测试:
]# nslookup www.qq.com
Server: 10.10.11.10
Address: 10.10.11.10#53
Name: www.qq.com
Address: 2.2.2.1
]# nslookup ftp.qq.com
Server: 10.10.11.10
Address: 10.10.11.10#53
Name: ftp.qq.com
Address: 2.2.2.2
3.DNS轮询 pc7
• 基于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.1.1.100
pc8验证:
]# nslookup xxx.baidu.com
Server: 10.10.11.10
Address: 10.10.11.10#53
Name: xxx.baidu.com
Address: 1.1.1.100
5.有规律泛域名解析
]# vim /var/named/baidu.com.zone
...
$GENERATE 1-50 p$.baidu.com. A 192.168.10.$
]# systemctl restart named
pc8验证:
]# nslookup p40.baidu.com
Server: 10.10.11.10
Address: 10.10.11.10#53
Name: p40.baidu.com
Address: 192.168.10.40
6.解析记录别名CNAME
]# vim /var/named/baidu.com.zone
ftp.baidu.com. A 1.1.1.10
tts CNAME ftp
]# systemctl restart named
pc8验证:
]# nslookup tts.baidu.com
Server: 10.10.11.10
Address: 10.10.11.10#53
tts.baidu.com canonical name = ftp.baidu.com.
Name: ftp.baidu.com
Address: 1.1.1.10
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 10.10.11.11
www.bj.qq.com. A 2.2.2.100
]# systemctl restart named
pc8测试:
]# nslookup www.bj.qq.com 10.10.11.11
Server: 10.10.11.11
Address: 10.10.11.11#53
Name: www.bj.qq.com
Address: 2.2.2.100
子域授权 pc7
]# vim /var/named/qq.com.zone
qq.com. NS pc7.qq.com.
bj.qq.com. NS pc8.bj.qq.com.
pc7.qq.com. A 10.10.11.10
pc8.bj.qq.com. A 10.10.11.11
...
]# systemctl restart named
pc8验证:
]# nslookup www.bj.qq.com 10.10.11.10
Server: 10.10.11.10
Address: 10.10.11.10#53
Non-authoritative answer:
Name: www.bj.qq.com
Address: 2.2.2.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 10.10.11.10
###########################
/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 { 10.10.11.10; }; #转发给真DNS服务器
};
]# systemctl restart named
pc8验证:
]# nslookup www.baidu.com 10.10.11.10
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 为例
客户机来自 解析结果
10.10.11.10 ---------> 1.1.1.1
其他地址 ---------> 1.1.1.2
– A记录分离解析 —— 以 www.sina.com为例
客户机来自 解析结果
10.10.11.10 ---------> 3.3.3.1
其他地址 ---------> 3.3.3.2
pc7:
9.1 /etc/named.conf
]# vim /etc/named.conf
options {
directory "/var/named";
};
acl test { 10.10.11.10; };
view "nnn" { #nnn不是关键,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";
};
};
将最后两行注释掉
//include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key";
9.2 baidu.com.zone
...
www.baidu.com. A 1.1.1.1
...
9.3 baidu.com.other
...
www.baidu.com. A 1.1.1.2
...
9.4 sina.com.zone
...
www.sina.com. A 3.3.3.1
...
9.5 sina.com.other
...
www.sina.com. A 3.3.3.2
...
9.6 重启
# systemctl restart named
9.7 不同机器检测:
pc7:
# nslookup www.baidu.com 10.10.11.10
Server: 10.10.11.10
Address: 10.10.11.10#53
Name: www.baidu.com
Address: 1.1.1.1
]# nslookup www.sina.com 10.10.11.10
Server: 10.10.11.10
Address: 10.10.11.10#53
Name: www.sina.com
Address: 3.3.3.1
pc8:
]# nslookup www.baidu.com 10.10.11.10
Server: 10.10.11.10
Address: 10.10.11.10#53
Name: www.baidu.com
Address: 1.1.1.2
]# nslookup www.sina.com 10.10.11.10
Server: 10.10.11.10
Address: 10.10.11.10#53
Name: www.sina.com
Address: 3.3.3.2