Linux DHCP 与 Dynamic DNS 配置
在 Linux 下实现动态 DNS 不仅需要 Bind 8 以上的 DNS 软件,还要有 DHCP Server v3.0 以
上版本,因为只有 3.0 以上的版本才完全实现了对 DDNS 的支持。因此,本文的实现环境采
用 REDHAT Linux ES3 作为 DDNS 服务器,其上同时运行 DNS 和 DHCP 服务,其中 DNS
和 DHCP 以下版本
下面详细介绍 Linux 环境下安全、动态 DNS 的实现方法:
1. 创建密钥
要实现 DNS 的动态更新,首先要考虑的是怎样保证安全地实现 DDNS。由 ISC 给出的方法
是创建进行动态更新的密钥,在进行更新时通过该密钥加以验证。为了实现这一功能,需要
以 root 身份运行以下命令,注意密钥生成后放置在./etc 目录下:
仔细阅读该密钥文件就会发现,这两个文件中包含的密钥是一样的,该密钥就是 DHCP 对
DNS 进行安全动态更新时的凭据。后面需要将该密钥分别添加到 DNS 和 DHCP 的配置文件
中。
[root@wall etc]# rpm -qa |grep dhcp
dhcp-3.0.1-59.EL4
[root@wall etc]# rpm -qa |grep bind
bind-utils-9.2.2-21
redhat-config-bind-2.0.0-14
bind-9.2.2-21
ypbind-1.12-1
[root@wall etc]# dnssec-keygen -a HMAC-MD5 -b 128 -n USER myddns
Kmyddns.+157+34572.key
[root@wall etc]# ll Kmyddns.+157+34572.*
-rw------- 1 root root 48 Oct 30 18:16 Kmyddns.+157+34572.key
-rw------- 1 root root 81 Oct 30 18:16 Kmyddns.+157+34572.private
[root@wall etc]# ll Kmyddns.+157+34572.*
-rw------- 1 root root 48 Oct 30 18:16 Kmyddns.+157+34572.key
-rw------- 1 root root 81 Oct 30 18:16 Kmyddns.+157+34572.private
[root@wall etc]# more Kmyddns.+157+34572.key
myddns. IN KEY 0 2 157 sHMrZmGDgSiywK6Q+vVpog==
[root@wall etc]# more Kmyddns.+157+34572.private
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: sHMrZmGDgSiywK6Q+vVpog==