搭建智能DNS需配置ACL、view和区域文件,以实现不同区域用户访问就近服务器。
智能DNS搭建指南
一、环境准备

1、硬件要求:
至少需要一台服务器,具备稳定的网络连接。
若需高可用性,可配置多台服务器作为主从服务器。
2、软件要求:
操作系统:Linux(如CentOS、Ubuntu等)。
DNS服务器软件:Bind9或SmartDNS。
二、DNS服务器网卡配置
假设使用两台虚拟机,分别模拟北京和上海的服务器。

北京服务器IP配置:
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:95:87:a5 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.146/24 brd 10.0.0.255 scope global dynamic noprefixroute eth0
valid_lft 1310sec preferred_lft 1310sec
inet6 fe80::7dd4:5200:f267:e9cd/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:95:87:af brd ff:ff:ff:ff:ff:ff
inet 172.16.0.8/16 brd 172.16.255.255 scope global noprefixroute eth1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe95:87af/64 scope link
valid_lft forever preferred_lft forever
上海服务器IP配置:
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:95:87:a5 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.147/24 brd 10.0.0.255 scope global dynamic noprefixroute eth0
valid_lft 1310sec preferred_lft 1310sec
inet6 fe80::7dd4:5200:f267:e9cd/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:95:87:af brd ff:ff:ff:ff:ff:ff
inet 172.16.0.7/16 brd 172.16.255.255 scope global noprefixroute eth1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe95:87af/64 scope link
valid_lft forever preferred_lft forever
三、DNS服务端配置文件实现View
安装Bind9并进行基本配置:
sudo aptget update sudo aptget install bind9 y
编辑/etc/bind/named.conf.local文件:
options {
directory "/var/cache/bind";
recursion yes;
allowquery { any; };
allowtransfer { none; };
};
acl beijingnet {
10.0.0.0/24;
};
acl shanghainet {
172.16.0.0/16;
};
acl othernet {
any;
};
view "beijingview" {
matchclients { beijingnet; };
include "/etc/bind/named.rfc1912.zones.bj";
};
view "shanghaiview" {
matchclients { shanghainet; };
include "/etc/bind/named.rfc1912.zones.sh";
};
view "otherview" {
matchclients { othernet; };
include "/etc/bind/named.rfc1912.zones.other";
};
include "/etc/bind/named.root.key";
四、实现区域配置文件
创建并编辑区域配置文件:
sudo nano /etc/bind/named.rfc1912.zones.bj
zone "." IN {
type hint;
file "named.ca";
};
zone "jiangfeng.org" {
type master;
file "jiangfeng.org.zone.bj";
};
sudo nano /etc/bind/named.rfc1912.zones.sh
zone "." IN {
type hint;
file "named.ca";
};
zone "jiangfeng.org" {
type master;
file "jiangfeng.org.zone.shang";
};
sudo nano /etc/bind/named.rfc1912.zones.other
zone "." IN {
type hint;
file "named.ca";
};
zone "jiangfeng.org" {
type master;
file "jiangfeng.org.zone.other";
五、创建区域数据库文件
根据不同区域创建相应的数据库文件:
sudo nano /var/named/jiangfeng.org.zone.bj
$TTL 86400
@ IN SOA ns1.jiangfeng.org. admin.jiangfeng.org. (
2 ; Serial
7200 ; Refresh
1209600 ; Retry
1814400 ; Expire
86400 ) ; Negative Cache TTL
);
@ IN NS ns1.jiangfeng.org.
@ IN A 192.168.1.1
www IN A 192.168.1.10
ftp IN A 192.168.1.11
mail IN A 192.168.1.12
sudo nano /var/named/jiangfeng.org.zone.shang
$TTL 86400
@ IN SOA ns1.jiangfeng.org. admin.jiangfeng.org. (
2 ; Serial
7200 ; Refresh
1209600 ; Retry
1814400 ; Expire
86400 ) ; Negative Cache TTL
);
@ IN NS ns1.jiangfeng.org.
@ IN A 192.168.2.1
www IN A 192.168.2.10
ftp IN A 192.168.2.11
mail IN A 192.168.2.12
sudo nano /var/named/jiangfeng.org.zone.other
$TTL 86400
@ IN SOA ns1.jiangfeng.org. admin.jiangfeng.org. (
2 ; Serial
7200 ; Refresh
1209600 ; Retry
1814400 ; Expire
86400 ) ; Negative Cache TTL
);
@ IN NS ns1.jiangfeng.org.
@ IN A 192.168.3.1
www IN A 192.168.3.10
ftp IN A 192.168.3.11
mail IN A 192.168.3.12
完成以上步骤后,重新启动Bind9服务:

sudo systemctl restart bind9
六、客户端测试
在客户端执行测试命令:
dig @dnsserver www.jiangfeng.org
根据客户端所在位置的不同,返回的IP地址应为对应的区域服务器IP,北京客户端返回北京区域的IP地址,而上海客户端返回上海区域的IP地址。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/93962.html