Linux DDNS配置
DDNS(动态域名服务器)是将用户的动态
IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序提供DNS服务并实现动态域名解析.
实验:
设备:
DDNS服务器主机:Redhat 5.4 IP 192.168.1.107
linux测试机 : redhat5.4
windows测试机 : windows 2003
条件: dns,dhcp已经配置成功
拓扑图
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进行测试
2> 在linux客户端下测试
首先应该在/etc/下面建立一个文件: dhclient.conf,并且加入如下内容
send fqdn.fqdn "client";
send fqdn.encoded on;
send fqdn.server-update off;
再通过执行命令来重新启动进行DNS注册
dhclient -r //释放IP
Dhclient //获得IP
进行测试
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结尾的文件,为什么我的这个没有生成,可是却是可以使用.不知有哪位高人指点一下.
本文转自 guodong810 51CTO博客,原文链接:http://blog.51cto.com/guodong810/1039833,如需转载请自行联系原作者