欢迎各位兄弟 发布技术文章
这里的技术是共享的
复习下linux的dns和dhcp, 写个文档mark下.
安装bind和dhcp包, OS版本为RHEL6.0. eth0为连接到外网的网卡, eth1为内网网卡. 内网的IP: 192.168.1.0/25 subfix: xrtest.com
装好之后使用ddssec-keygen –a HMAC-MD5 –b 512 –n USER ddns-key 生成一对密钥. 此命令不能在Putty下执行, 命令会长时间挂起. 此语句表示生成一对名字为ddns-key长度为512用MD5加密的用户类型密钥.
.key的为公钥, .private为私钥. 使用cat查看可以发现加密的字符串相同. 复制Key: 后面的加密字符串 , 为了各种方便后面的截图就用Putty了.
配置dhcpd.conf. 下图中的4-17行就是配置ddns的关键词. PS: 我的一个坏习惯--习惯性的使用cat –n, 因为已经截好图了,就懒得修正了, 大家不要学我~~~使用grep的-n参数吧.
1. ddns-update-style有三种类型可以到man dhcpd.conf中自行查询.
2. ignore client-updates为了安全当然只能由dhcp来更新了,客户端要忽略.
3. key ddns-key里就是定义一个密钥的信息, 里面的secret就是之前复制的加密字符了.
4. 9-17行定义了需要使用ddns-key更新的dns zone, 这个和后面的named.conf配置文件有关.
5. 剩下的就是标准的dhcpd.conf的配置了, 可以自行查看一些关于dhcp的文章.
1. 配置完dhcpd.conf后当然是开始配置named.conf了. 33,38,41,42行是关键字.
2. allow-update {key "ddns-key";}表示可以使用ddns-key这个key来更新zone.
3. 40-43行是定义ddns-key.
4. 需要注意的是, 自行定义个两个区域文件. named.xrtest.com和named.1.168.192.in-addr.arpa.
5. 其他部分轻参考dns相关的文档.
再接下来就是编辑上面提到的两个区域文件, 这个没什么可说的, 标准的配置可以自行查阅dns相关文档.
再接下来当然就是启动服务了, 但是您还得等等, 由于ddns自动更新不是使用root帐号而是使用dns的named帐号来更新上面的两个区域文件, 但是默认权限却不允许这个操作, 所以需要把权限和owner改成如下.
好了, 开始启动服务.
启动两个客户端, 一个windows xp一个open SUSE.
Xp自动获得ip了, 截图如下.
再来看看服务器上的一些相关log.
1. 在dhcpd.leases可以看见hdcp中已经把相关的信息传入了.
2. 在message log中看到确实已经把记录写入到了zone文件中.
3. 再看看zone文件, bingo!确实出现记录了.
4. Nslookup下, 也确实能解析了.
那么再看看open suse, 奇怪了, 无法解析~~~~~~!!!!相关log也没有添加记录的条目~~~汗!!
事实是这样的, linux默认不能自动向dhcp发送相关信息, 所以无法传递到dns记录中. 解决方法当然是让它发送相关信息了, linux使用dhclient来和dhcp获取Ip, 所以就更改dhclient的配置文件了, 有些linux下默认是没有dhclient.conf的, 需要手动建立, 可以man dhclient查找配置文件所在的位置.
按照需求添加1-4行…..
之后重新dhclient, 再解析就出来鸟~~~~~
好了!!收工~~~