在 CentOS 上配置 DHCP 服务以实现动态 DNS(DDNS)更新,通常需要以下几个步骤:
安装并配置 DHCP 服务器: 首先,确保你的 CentOS 系统上已经安装了 DHCP 服务器。如果没有安装,可以使用以下命令进行安装:
sudo yum install dhcpd
配置 DHCP 服务器:
编辑 DHCP 服务器的配置文件 /etc/dhcp/dhcpd.conf
,添加一个范围和一个选项文件来指定 DNS 服务器。例如:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name "example.com";
option domain-search "example.com";
option tftp-server-name "tftp.example.com";
option time-offset 0;
option leap-seconds 0;
option netbios-name-servers 8.8.8.8, 8.8.4.4;
}
配置 DNS 更新: 为了实现动态 DNS 更新,你需要一个支持 DDNS 的 DNS 服务器,例如 Bind。在 CentOS 上安装 Bind:
sudo yum install bind bind-utils
配置 Bind 作为 DNS 服务器:
编辑 Bind 的配置文件 /etc/named.conf
,添加一个区域文件来指定 DHCP 客户端的动态更新。例如:
include "/etc/named.conf.default-zones";
zone "example.com" {
type master;
file "/etc/named.db.example.com";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/named.db.192.168.1";
};
创建区域文件:
创建 example.com
区域文件 /etc/named.db.example.com
:
$TTL 604800
@ IN SOA ns1.example.com. admin.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS ns1.example.com.
ns1 IN A 192.168.1.1
host1 IN A 192.168.1.10
创建反向区域文件 /etc/named.db.192.168.1
:
$TTL 604800
@ IN SOA ns1.example.com. admin.example.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS ns1.example.com.
10 IN PTR host1.example.com.
启动并启用 Bind 服务: 启动 Bind 服务并设置为开机自启动:
sudo systemctl start named
sudo systemctl enable named
配置 DHCP 服务器以发送 DDNS 更新:
编辑 DHCP 服务器的配置文件 /etc/dhcp/dhcpd.conf
,添加以下行来启用 DDNS 更新:
option domain-name-servers 8.8.8.8, 8.8.4.4;
option ddns-update-on-lease-renewal on;
option ddns-update-on-lease-expiry on;
option ddns-update-on-rebind on;
重启 DHCP 服务: 重启 DHCP 服务以应用更改:
sudo systemctl restart dhcpd
完成以上步骤后,你的 CentOS DHCP 服务器将能够实现动态 DNS 更新。当 DHCP 客户端获取或更新其租约时,它将自动向配置的 DNS 服务器发送更新。