Linux DDNS配置

        DDNS(动态域名服务器)是将用户的动态 IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序提供DNS服务并实现动态域名解析.
实验:
设备:
   DDNS服务器主机:Redhat 5.4 IP 192.168.1.107
   linux测试机     : redhat5.4
   windows测试机 :  windows 2003
  条件: dns,dhcp已经配置成功
拓扑图

 Linux DDNS配置_DNS高级配置

1 . DNS的配置
   1>为DDNS创建密钥,并得到DDNS的密钥字符串
      [root@localhost chroot]# dnssec-keygen -a HMAC-MD5 -b 128 -n USER code
     Kcode.+157+42071
    [root@localhost chroot]# ll
    总计 20
    d rwxr-x--- 2 root named 4096 10-27 16:32 dev
    drwxr-x--- 2 root named 4096 10-27 16:34 etc
    -rw------- 1 root root    46 10-27 16:35 Kcode.+157+42071.key
    -rw------- 1 root root    81 10-27 16:35 Kcode.+157+42071.private
    drwxr-x--- 6 root named 4096 10-27 16:32 var
    [root@localhost chroot]# cat Kcode.+157+42071.key 
    code. IN KEY 0 3 157  MTD9Hq1FL3t7T30yiHYUsg==
    2> 配置DNS的全局配置文件,加入下面的内容,指定DDNS服务器使用的加密算法及   密钥字符串
   key code {
    algorithm hmac-md5;
    secret MTD9Hq1FL3t7T30yiHYUsg==; 
  };
    3> 在主配置文件中创建abc.com的正反作用域
    加入如下内容
zone "abc.com" IN {
        type master;
        file "abc.com.zone";
        allow-update { key code; };
};
 
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "1.168.192.zone";
        allow-update { key code; };
};
 
allow-update{ key code; };指定使用code定义的密钥作为客户端提交ddns请求的密钥.
       4> 分别创建正反向区域文件
          正向文件内容
          $TTL    86400
@               IN SOA  ns.abc.com. root (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
@               IN NS           ns.abc.com.
ns              IN A            192.168.1.107
www             IN A            10.10.10.10
ftp             IN A            20.20.20.20
        反向文件内容
        $TTL    86400
@               IN SOA  ns.abc.com. root (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
@               IN NS           ns.abc.com.
107             IN PTR          ns.abc.com.  //这名是本机DNS与IP地址反射解析内容,如果不写,会出现一定的错误.
254             IN PTR          www.baidu.com.
253             IN PTR          www.sina.com.cn.
  5> 启动DNS服务器
      [root@localhost named]# service named start
启动 named:                                               [确定]
2 . DHCP配置
  1> 配置DHCP的主文件:dhcpd.conf
   修改成如下内容
ddns-update-style interim;
ignore client-updates;
 
key code {
    algorithm hmac-md5;
    secret MTD9Hq1FL3t7T30yiHYUsg==;    //DDNS密钥段
}           // 后面都没有分号;
zone abc.com. {
   primary 192.168.1.107;
   key code;
}
zone 1.168.192.in-addr-arpa. {
   primary 192.168.1.107;
   key code;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
 
        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;
        option domain-name              "abc.com";   //DNS域名
        option domain-name-servers      192.168.1.107;  //DNS IP地址
        option time-offset              -18000; # Eastern Standard Time
        range dynamic-bootp 192.168.1.128 192.168.1.200;
        default-lease-time 21600;
        max-lease-time 43200;
}
    2> 启动DHCP服务器
     [root@localhost etc]# service dhcpd start
     启动 dhcpd:                                               [确定]
3 . 测试
     1>在windows 2003上开始测试
    首先windows 2003 上配置自动获取ip地址和自动获取dns
     使用nslookup进行测试

 Linux DDNS配置_DDNS_02

   2> 在linux客户端下测试
       首先应该在/etc/下面建立一个文件: dhclient.conf,并且加入如下内容
       send fqdn.fqdn "client";
       send fqdn.encoded on;
       send fqdn.server-update off;
再通过执行命令来重新启动进行DNS注册
  dhclient -r    //释放IP
   Dhclient     //获得IP
进行测试

 Linux DDNS配置_DNS高级配置_03

   3> 测试ddns配置成功
    在ddns服务器上可以看到windows与linux相关的租凭情况,在文件:/var/lig/dhcpd/dhcpd.leases
    [root@ns ~]# vi /var/lib/dhcpd/dhcpd.leases
     lease 192.168.1.200 {
  starts 6 2012/10/27 09:16:47;
  ends 6 2012/10/27 15:16:47;
  binding state active;
  next binding state free;
  hardware ethernet 08:00:27:62:9e:74;
  uid "\001\010\000'b\236t";
  client-hostname "code";
}
lease 192.168.1.199 {
  starts 6 2012/10/27 09:27:00;
  ends 6 2012/10/27 15:27:00;
  binding state active;
  next binding state free;
  hardware ethernet 08:00:27:1d:b5:a7;
}
   测试成功,可是我看许多的教材上都说还会在/var/named/chroot/var/named中生成两个.jnl结尾的文件,为什么我的这个没有生成,可是却是可以使用.不知有哪位高人指点一下.