1. 程式人生 > >數據中心動態DNS+DHCP應用

數據中心動態DNS+DHCP應用

aci and war a記錄 dev The ima 編輯 boot

數據中心動態DNS+DHCP應用
應用案例:
有大批量主機需要安裝上架,我們必然使用自動化無人值守安裝,比如kickstart。使用kickstart可以使主機能按照既定的方式批量安裝好系統,並設定主機名接入到管理平臺等一些任務。但是主機的IP地址很難規劃,因為當有大量IP使用的時候你根本無法很好的為每個主機手動分配IP地址並記錄。這時可以用到DNS+DHCP的特性來自動更新主機IP地址和DNS記錄。
DNS服務器配置:
首先使用rndc-confgen -r /dev/urandom -a命令生成秘鑰
cat /etc/rndc.key
key "rndc-key" {
algorithm hmac-md5;
secret "vLl6ba6LcIMe0jhRDC3WgQ==";
};
編輯配置文件vi /etc/named.conf 把上面的內容復制到配置文件中。
controls {
inet 127.0.0.1 allow { 127.0.0.1; } keys { rndc-key; };
}; #這是安全設置,只允許本機使用。
編輯zone文件/etc/named.rfc1912.zones
zone "example.ex" IN {
type master;
file "example.zone";
allow-update {key rndc-key;}; #key需要和上面定義的key名稱一致
};
zone "1.21.172.in-addr.arpa" IN {
type master;
file "example.arpa.zone";
allow-update {key rndc-key;};
};
保存並重啟named服務。
DHCP服務器配置:
ddns-domainname "example.ex.";
ddns-update-style interim;
ddns-rev-domainname "in-addr.arpa.";
ddns-updates on;
authoritative;
log-facility local7;
subnet 172.21.1.0 netmask 255.255.255.0 {
range 172.21.1.27 172.21.1.20;
option routers 172.21.1.254;
}
key "rndc-key" { #這個Key需要和DNS中配置的一樣
algorithm hmac-md5;
secret "vLl6ba6LcIMe0jhRDC3WgQ==";
}
zone example.ex. {
primary 172.21.1.81;
key rndc-key;
}
zone 1.21.172.in-addr.arpa. {
primary 172.21.1.81;
key rndc-key;
}
保存並重啟dhcp服務。
這樣當客戶端通過DHCP獲取到IP地址以後會自動在DNS服務器中註冊一個A記錄地址。名稱為主機名+域名。
主機名稱需要提前在主機上進行設置,每個主機需要不同。可以在kickstart安裝之後的執行腳本中進行定義。
驗證:
服務器上可以通過/var/lib/dhcpd/dhcpd.leases日誌文件查看內容
lease 172.21.1.20 {
starts 3 2018/08/29 07:18:08;
ends 3 2018/08/29 07:28:08;
cltt 3 2018/08/29 07:18:08;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 00:50:56:a0:18:6a;
set ddns-rev-name = "20.1.21.172.in-addr.arpa.";
set ddns-txt = "003caa5a2e3c106c28818615c571b857a6";
set ddns-fwd-name = "slave3.example.ex.";
client-hostname "slave3";
}
/var/log/boot.log日誌文件
Aug 29 13:28:19 bootstart dhcpd: DHCPDISCOVER from 00:50:56:a0:18:6a via ens192
Aug 29 13:28:20 bootstart dhcpd: DHCPOFFER on 172.21.1.20 to 00:50:56:a0:18:6a (slave3) via ens192
Aug 29 13:28:20 bootstart dhcpd: DHCPREQUEST for 172.21.1.20 (172.21.1.81) from 00:50:56:a0:18:6a (slave3) via ens192
Aug 29 13:28:20 bootstart dhcpd: DHCPACK on 172.21.1.20 to 00:50:56:a0:18:6a (slave3) via ens192
Aug 29 13:28:20 bootstart dhcpd: Added new forward map from slave3.example.ex. to 172.21.1.20
Aug 29 13:28:20 bootstart dhcpd: Added reverse map from 20.1.21.172.in-addr.arpa. to slave3.example.ex.
在主機上使用nslookup slave3.example.ex看是否能得到正確的IP地址。

數據中心動態DNS+DHCP應用