在 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 服務器發送更新。