LINUX配置DNS服务及负载均衡
1. DNS服务器配置
安装DNS服务程序bind: yum install bind
修改配置文件/etc/named.conf,涉及参数:
listen-on port 53 { any; }; #监听任何ip对53端口的请求
allow-query { any; }; #接收任何来源查询dns记录
#增加一个a.com域名的解析,具体解析规则在/var/named/a.com.zone
zone "a.com" IN {
type master;
file "a.com.zone";
};
创建解析文件/var/named/a.com.zone,具体内容:
$TTL 1D
@ IN SOA @ root.a.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.4.43
www A 192.168.4.43
@ MX 10 mx.a.com.
AAAA ::1
此文件授权给named用户: chown named /var/named/a.com.zone
启动DNS服务:systemctl start named
客户端测试:
在Windows打开“网络连接”,选择本机连接DNS服务器(192.168.2.180)所用的网络,打开网络属性,配置DNS服务器地址:
配置完成后,打开命令行窗口,输入“ping www.a.com”,测试是否成功。
2. DNS负载均衡
在解析文件/var/named/a.com.zone,设置a.com对应多个IP,比如a.com对应192.168.4.43/192.168.4.44/192.168.4.45:
$TTL 1D
@ IN SOA @ root.a.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 192.168.4.43
A 192.168.4.44
A 192.168.4.45
www A 192.168.4.43
A 192.168.4.44
A 192.168.4.45
AAAA ::1
在DNS配置文件/etc/ named.conf设置以循环顺序返回IP:
options {
rrset-order { order cyclic; };
.....
};
重启DNS服务:systemctl restart named
客户端测试
Windows命令行窗口每次执行“ping www.a.com”之前,先执行“ipconfig /flushdns”清理DNS缓存,否则每次ping域名对应的IP是缓存的值: