传统的域名服务是通过将域名与IP进行静态绑定,在用户发起DNS请求时,将对应的IP地址(反向查询时为域名记录)回应给用户来实现域名解析服务的。在这种应用场景下,需要用户有固定IP地址(专线), 但实际上企业专线一天可能仅有1/3的时间(上班时间)会有流量产生,其余时间流量基本为零,造成很大的网络资源浪费。
如果企业通过拨号方式接入网络,或动态接入Internet, 那么费用会大大降低,但对应的问题是,这种动态接入的IP地址往往是随机分配的(在不断变化)。如果企业有一个固定域名并在企业接入Internet的WAN口IP发生变化时自动更新,那么问题就能解决,这就是DDNS的由来。
如下图所示:我们在Internet上有一个提供动态域名解析的服务器,企业注册了两个固定的域名,北京分部(bj.branch.com)和成都分部(cd..branch.com)。当成都分部的SD-WAN网关上线时,从ISP处获得一个临时的公网IP地址,它通过nsupdate将该临时地址更新到动态域名解析服务器,这样动态域名服务器就有了该分部的完整DNS记录。
北京分部的SD-WAN想要与成都分部建立VPN连接时,先向动态域名服务器询问cd.branch.com的IP地址是多少,然后再用获取的IP地址,就能与成都分部建立VPN连接。
在整个过程中,我们的DDNS Server与各个分部的SD-WAN网关都做了修改(能在地址发生变化时,向支持DNS记录动态更新的DDNS Server发起记录更新请求)。
在这个情况下,成都和北京分部都不需要申请专线(获得固定IP地址),使用拨号接入或公众网络即可实现相互通讯或向外提供服务(如WWW, Mail, FTP等),极大节约了企业的网络费用。
Linux Server主机10.10.11.250上搭建DDNS Server
1. 安装DNS Server
1 |
yum install bind –y |
2. 为DDNS创建密钥,并得到DDNS的密钥字符串
Domain Name System Security Extensions (DNSSEC)DNS安全扩展,是由IETF提供的一系列DNS安全认证的机制(可参考RFC2535)。DNSSEC是为解决DNS欺骗和缓存污染而设计的一种安全机制。DNSSEC通过在DNS消息中的数据添加数字签名信息,客户端在得到应答消息后,检查签名信息来判定应答数据的权威性和真实性,数据的来源的可靠性和完整性,从而防止针对DNS的相关攻击。
在liunx下通过如下命令生成两个秘钥(公钥和私钥)
1 |
dnssec-keygen -a HMAC-MD5 -b 128 -n USER testmesg |
其中HMAC-MD5是加密算法,128是秘钥的位数(与选择的加密算法相关,HMAC-MD5为1-512位), USER为秘钥所有者的类型(HOST为主机相关的密钥 , USER为与用户相关的密钥 ,ZONE区域相关的秘钥)
命令执行时,会打印Ktestmesg.+157+46499,其中157是算法ID, 46499是key-id
执行时会持续一段时间,执行完成后,会在目录下生成两个文件(私钥和公钥)
1 |
ls -l | grep 46499 |
1 |
-rw------- 1 root root 50 Feb 14 00:07 Ktestmesg.+157+46499.key |
1 |
-rw------- 1 root root 165 Feb 14 00:07 Ktestmesg.+157+46499.private |
1 |
cat ./Ktestmesg.+157+46499.key |
1 |
testmesg. IN KEY 0 3 157 cBGzW9MibA+CiBwNW+dU6g== |
3. 配置DNS Server允许更新记录
将生成的公钥里面的key放到named.conf文件中
1 |
options { |
1 |
….. |
1 |
key testmesg { |
1 |
algorithm hmac-md5; |
1 |
secret “cBGzW9MibA+CiBwNW+dU6g==”; |
1 |
}; |
1 |
…. |
在需要更新记录的区域中配置加密字符串
zone “test.com” IN {
…
allow-update {
key testmesg;
};
完成后,重启域名服务
4. 在需要动态更新主机IP的客户端,或者在DHCP Server分配地址时,更新主机IP
1 |
vim /etc/dhcp/dhcpd.conf |
1 |
ddns-update-style interim; |
1 |
key testmesg { |
1 |
algorithm hmac-md5; |
1 |
secret “cBGzW9MibA+CiBwNW+dU6g==”; |
1 |
} |
1 |
zone test.com { |
1 |
key testmesg; |
1 |
primary 10.10.11.250; |
1 |
} |
完成后重启dhcp服务
本文来自作者:展风,不代表小新网立场!
转载请注明:https://www.xiaoxinys.cn/105883.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。