DDNS概述:
DDNS(Dynamic Domain Name Server)是动态域名服务的缩写。
DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
也就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相 对应,这样其他上网用户就可以通过域名来进行交流。而最终客户所要记忆的全部,就是记住动态域名商给予的域名即可,而不用去管他们是如何实现的。
动态域名服务的对象是指IP是动态的,是变动的。普通的DNS都是基于静态IP的,有可能是一对多或多对多,IP都是固定的一个或多个。但DDNS的IP是变动的、随机的。随着市场需求的变化,DDNS需求功能也越来越多,越来越要求方便,市场现在已经有了不要第三方DDNS方支持的设备。
配置ddns
下面做的都是在上一章基本配置好的基础
###1> dns key 更新
生成密匙:
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos
//因为/etc/rndc.key是HMAC—MD5,所以加密也用这个'
查看生成的钥匙:
cat Kwestos.+157+18569.key
westos. IN KEY 512 3 157 bFNlMivRVZhxZYt/NXKYPg==
生成dns的加密文件:
cp /etc/rndc.key /etc/westos.key -p //rndc.key是模版
vim /etc/westos.key
key "westos" { //key名称
algorithm hmac-md5;
secret "bFNlMivRVZhxZYt/NXKYPg=="; //key的加密字符
};
vim /etc/named.conf
43 include "/etc/westos.key"; ##指定dns服务读取的key文件
vim /etc/named.rfc1912.zones
allow-update { key westos; }; ##指定westos域可以被westos key 更新
also-notify { 172.25.254.209; }; ##允许209同步
**修改权限 : **
chmod 770 /var/named/
//一定chmod g+w /etc/named 这个目录,770,不然无法创建.jnl文件
4.保证selinux 开启 , 打开named_write_master_zones 服务,setdebool 要改,不然selinux会拒绝你
setsebool -P named_write_master_zones 1
####测试dnskey更新
nsupdate -k ... ##更新key
server ... ##主机
update add www.goodday.com 86400 A 172.25.254.109 ##86400,TTL的时间,86400按秒是一天
send ##发送钥匙
//出现.jnl是为成功(l是字母)
####若别的主机要用key更新,需要key,别的主机要更新也需要key
scp /mnt/Kwestoskey.+157+37962.* root@172.25.254.209:/mnt ##给别的主机发送key
nsupdate -k 。。(##这个是你的key)
server ...(##主服务器)
update add (随便).westos.com(域) 86400 A 172.25.254.104(随便)
send
##成功生成.jnl文件即为成功
###2> 通过主机名访问查询
####1.安装dhcp服务并开启
yum install dhcp -y
systemctl start dhcpd
####2.建立dhcp服务配置
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
####3.dhcpd 配置
vim /etc/dhcp/dhcpd.conf 修改主配置文件
14 ddns-update-style interim; //开启dhcp更新dns功能
37 key westos { ##dhcp更新dns时用到的key
38 algorithm hmac-md5;
39 secret bFNlMivRVZhxZYt/NXKYPg==;
40 };
41
42 zone westos.com. { ##指定dhcp更新的域名
43 primary 127.0.0.1; ##指定dns所在的主机ip,这里127.0.0.1是内部回环接口,所以也可以用
44 key westos; ##指定更新这个域时用到的key名称
45 }
####4.修改dns主配置文件
vim /etc/named.conf
###测试
先备份原来的文件:
cp -p /var/named/goodday.com.zone /mnt
*)在客户端主机中,设定这台主机的主机名为haha.westos.com(这个名称在原有的dns服务中是没有解析的)
hostnamectl set-hostname haha.westos.com //修改主机名为haha.westos.com'
*)设定这台主机网络的工作方式为dhcp
vim /etc/sysconfig/network-scripts/ifcfg-eth0 //更改网络为动态
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
:wq
重启网络,使dhcpd服务生效
####dig haha.westos.com
成功 !