Linux系统下动态DNS服务器.docx
《Linux系统下动态DNS服务器.docx》由会员分享,可在线阅读,更多相关《Linux系统下动态DNS服务器.docx(12页珍藏版)》请在冰点文库上搜索。
![Linux系统下动态DNS服务器.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/742af6f1-46eb-4bb2-be72-353569849138/742af6f1-46eb-4bb2-be72-3535698491381.gif)
Linux系统下动态DNS服务器
动态DNS服务器的搭建
随着网络的不断扩张,用户的数量不断增多,频繁修改DNS数据库中的记录真的很麻烦,也给管理员带来了不少麻烦事,所以采用动态DNS是最好的解决方案。
Linux下用动态DNS服务的话,修需要bind8.0以上的软件,还要DCCPservicev3.0以上的版本,因为只有3.0以上的版本才完全实现了对DDNS的支持。
因此我们本实验的环境是在RedHat5.4上完成的。
拓扑图:
由上图可知DDNS是有DNS服务器和DHCP服务器共同完成的,DNS提供客户端的正确解析,而DHCP则是提供客户端IP地址的。
配置DNS服务器,使得客户端能够正确解析:
1、查询DNS相关软件包是否安装
修改named.conf配置文件
修改正解配置文件.zone
修改反解配置文件0.168.192.in-addr.arpa.zone
设置相关的权限并启动DNS服务器:
如果不设置相关的权限可能导致DNS服务器不能启动
[root@ddns~]#chmod644/var/named/chroot/etc/named.conf
[root@ddns~]#cd/var/named/chroot/var/named/
[root@ddnsnamed]#chmod644.zone
[root@ddnsnamed]#chmod6440.168.192.in-addr.arpa.zone
如果DNS服务器无法启动,则要查看日志文件/var/log/messages,只要不是配置文件出错,大部分都是因为权限问题。
配置DHCP服务器,使得客户端能够正确解析:
查询DHCP服务器相关软件包是否安装
修改主配置文件/etc/dhcpd.conf
客户端测试是否能够解析和自动分配IP地址:
测试机XP是否成功获取IP地址:
测试机XP是否能够解析:
Linux客户端XP测试:
将Linux网卡端设置为DHCP自动获取或者修改配置文件设置为DHCP自动获取也是可以的。
重启网卡并查看是否获取新的IP
测试机Linux是否能够解析:
至此DNS和DHCP这两个服务已经搭建完成了,下面就是具体的DDNS的操作步骤了
二、配置安全的DDNS
1、创建密钥
在DDNS服务器中以root身份进行
dnssec-keygen:
用来生成更新密钥。
-aHMAC-MD5:
采用HMAC-MD5加密算法。
-b128:
生成的密钥长度为128位。
-nUSERbobddns:
密钥的用户名为myddns
密钥生成后会在当前目录下生成两个密钥文件分别是公钥和私钥,查看公钥和私钥的内容挥发想这两个密钥的内容是一样的。
2、将密钥的内容添加到DNS主配置文件中去
修改DNS主配置文件,添加如下记录
保存并退出,
注意:
secret后面是密钥的内容
3、将密钥的信息添加到DHCP主配置文件中去
修改DHCP主配置文件/etc/dhcpd.conf,添加如下信息:
保存并退出。
4、修改权限:
上面这个图是我修改过的,原本就是属于named组的,但是作为named组却没有写入的权限,所以结果就用这么一条命令chmod770var将其改了,那么在var下的子文件呢,也是要进行修改的,因为上面的两个日志文件是存在named目录下的,所以现在得看一下var目录下的named目录的权限了;
上面named文件夹的权限也是我修改过的,因为named文件夹是属于named这个组的,但是这个组却没有写入权限,所以也将其改为770的权限了,这样子话,就能够顺利自动的创建正向查找区域和反向查找区域的日志文件了。
注意:
其实有时我们的dns配置是没有错误的,但是DNS就是跑不起来,其实这个跟named用户和named组有很大的关系,因为DNS能够跑起来,很大程度上是靠named用户和named组来启动的,从上面的截图可以看出自动产生的系统区域文件都是属于named用户和named组的,所以这个也是很重要的,有时是用root用户和root组的,要记得把他们修改过来,特别是在复制模板的时候,要将其所属者和所属组改成named用户和named组。
其实在这个实验中并没有拷贝模板问题,因为安装软件包的时候就已经默认将一切都给搞定了。
如果你是在relhat5.0的环境下来搭建DNS服务器的时候,是没有已经存在的区域文件,酷似都要去/usr/share/doc/bind-*/sample/*目录下拷贝那些文件到/etc/named/chroot/etc和/etc/named/chroot/var/named目录下,将其所属用户和组改为named,默认好像是root的,而且要注意权限问题。
5、重启DNS和DHCP服务器并查看是否生成jnl结尾的文件:
三、测试
1、测试机XP:
上述红色部分显示pc1这台机器已经成功的被自动的添加到DNS配置文件当中了。
pc1是这台xp的名称,为了方便记忆才修改的。
2、测试机Linux:
当客户端是linux时,需要在linux客户端编辑一个文件/etc/dhclient.conf后DNS才能更新,不信你可以看看/var/lib/dhcp/的文件的内容,客户端分配的IP没有Hostname的记录。
首先查看Linux测试机的主机名称:
在LinuxPC上的/etc目录下新建一个DHCP客户端文件,文件名为dhclient.conf。
使用dhclient命令立即启动DHCP客户端。
dhclient–r 释放IP
dhclient –h 获取IP
用LinuxDHCP客户端测试
在LinuxDHCP客户端进行测试时,需要执行dhcpcd守护进程。
如果要进行动态更新,还需要加上-h参数。
执行的命令格式如下:
其中-h后面跟的是本机的主机名,用来通过DHCP服务注册到DDNS服务器的区域文件中,是进行动态更新必不可少的。
由上可知测试机XP和测试机Linux都可以解析到自己的名称了。
3、查看DNS配置文件的正解和反解文件,是否有pc1和rhel5被写入进去了