我设置了私有网络,因此在一台服务器上安装了 DHCP。现在我的公网 DNS 不起作用。如何设置与公网 DNS 冲突的私有网络 DNS?
DHCP 设置。
安装 DHCP 服务器并进行配置:
apt-get install isc-dhcp-server
选择你的服务器将监听 dhcp 请求的网卡
vi /etc/default/isc-dhcp-server
INTERFACES="eth0"
更改 DHCP 配置以指定分配给 DHCP 请求的 IP 地址范围等。
vi /etc/dhcp/dhcpd.conf
subnet 10.10.7.0 netmask 255.255.255.0 {
range 10.10.7.30 10.10.7.254;
option domain-name-servers 10.10.7.1;
option domain-name "opexlabs-demo.org";
option routers 10.10.7.1;
}
重新启动 DHCP 服务器服务:
service isc-dhcp-server restart
/etc/init.d/isc-dhcp-server restart
然后我为私有网络设置 DNS:
DNS 设置。
安装 dns 包
apt-get install bind9
生成共享密钥,以便 BIND 接受更改
rndc-confgen -a -c dhcpd.key -k dhcpd
我们正在创建区域。区域通常是域名或子网
vi /etc/bind/named.conf.local
include "/etc/bind/dhcpd.key"
zone "opexlabs-demo.org" {
type master;
file "/var/cache/bind/opexlabs-demo.org.zone";
allow-update { key "dhcpd"; };
};
zone "7.10.10.in-addr.arpa" {
type master;
file "/var/cache/bind/10.10.7.zone";
allow-update { key "dhcpd"; };
};
更改用户和组的访问权限:
chown bind dhcpd.key
chown bind /var/cache/bind/*
chown bind.dhcpd dhcpd.key
chmod g+r dhcpd.key
Apparmor 默认配置允许 DHCPD 读取文件:
vi /etc/apparmor.d/local/usr.sbin.dhcpd
/etc/bind/dhcpd.key r,
重新启动 apparmor 服务:
/etc/init.d/apparmor restart
最后在 DHCP 中设置 DNS
vi /etc/dhcp/dhcpd.conf
ddns-update-style interim;
include "/etc/bind/dhcpd.key";
authoritative;
subnet 10.10.7.0 netmask 255.255.255.0 {
range 10.10.7.30 10.10.7.254;
option domain-name-servers 10.10.7.1;
option domain-name "opexlabs-demo.org";
option routers 10.10.7.1;
ddns-domainname "opexlabs-demo.org";
zone opexlabs-demo.org. {
primary 10.10.7.1;
key "dhcpd";
}
zone 7.10.10.in-addr.arpa. {
primary 10.10.7.1;
key "dhcpd";
}
}
/etc/init.d/isc-dhcp-server restart
/etc/init.d/bind9 restart
实际上,我们使用的是公共网络 (192.168.1.0/24),它有默认的 dhcp 和 dns 服务器。我在我的其中一台服务器 (10.192.1.0/24) 中设置了私有 dhcp。私有 dhcp 服务器工作时不会与公共网络发生任何冲突。现在我想为私有网络设置 DNS。我在服务器中配置了私有 dns,但配置公共网络 DNS 后无法工作。如何让两个 DNS 都能在系统中工作。