======DDNS

ddns 需要 dhcp 和 dns 的结合


用yum安装 dhcp 服务, 和 DNS 服务,xiaozi 在这里就不罗嗦了;

实验环境: DNS 与 DHCP 在同一台服务器上,域名为xiaozi.com,ip地址为192.168.1.1,分配192.168.1.0/24 网段的地址;有一台客户机 windows xp

首先创建密钥:

dnssec-keygen -a HMAC-MD5 -b 128 -n USER xiaozi.key    //xiaozi.key 为密钥名;

执行完成后,会在当前目录生成两个文件: *.key *.private ; 这两个文件中都包含有密钥值,是一样的,将密钥值记住,

配置dhcpd.conf; vim /etc/dhcpd.conf :

ddns-update-style interim;
ignore client-updates;
key xiaozi.key {
        algorithm       hmac-md5;
        secret          gyWgbDi3Jekg5FG2JdW0kw==;
}        //先声明密钥;
zone xiaozi.com {
        primary         192.168.1.1;
        key             xiaozi.key;       //写密钥的名字;
}     
zone 1.168.192.in-addr.arpa {
        primary         192.168.1.1;
        key             xiaozi.key;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gateway
        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;
        option nis-domain               "domain.org";
        option domain-name              "xiaozi.com";
        option domain-name-servers      192.168.1.1;
        option time-offset              -18000; # Eastern Standard Time
        range dynamic-bootp 192.168.1.128 192.168.1.254;
        default-lease-time 21600;
        max-lease-time 43200;

将dhcpd服务重启;

配置dns服务,在主配置文件中添加:

key "xiaozi.key" {
        algorithm       hmac-md5;
        secret          gyWgbDi3Jekg5FG2JdW0kw==;
};
zone "xiaozi.com" IN {
        type master;
        file "xiaozi.com.zone";
        allow-update { key xiaozi.key; };
};
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "xiaozi.local";
        allow-update { key xiaozi.key; };
};

vim /var/named/chroot/var/named/xiaozi.com.zone :

$TTL    86400
@               IN SOA  xiaozi.com.       root.xiaozi.com. (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
                IN NS           www.xiaozi.com.
www             IN A            192.168.1.1

vim /var/named/chroot/var/named/xiaozi.local :

$TTL    86400
@       IN      SOA     1.168.192.in-addr.arpa. root.1.168.192.in-addr.arpa.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      192.168.1.1
1       IN      PTR     www.xiaozi.com.

最后要给named组对 /var/named/chroot/var/named 目录可写的权限 : chmod g+w named


将named重启即可

还有就是大家注意 selinux 和 iptables 的配置;


验证: 打开win xp,让其自动获取Ip地址,然后使用 ipconfig /release 以及 ipconfig /renew 命令来重新获取ip地址,也可使用 ipconfig /flushdns 来清除dns的缓存信息;

使用nslookup命令来解析 www.xiaozi.com ,使用ls xiaozi.com 来查看是否有自己的主机名,若有,则使用 host.xiaozi.com 来解析,如果能解析到自己的ip地址,则说明成功;还有就是在服务器的/var/named/chroot/var/named/ 目录下会产生两个 *.jnl 的文件,分别是正向和反向解析产生的。


呵呵,祝大家成功!