实战案例(6)动态公网地址配合DDNS组网

图片

需求:客户外网是ADSL拨号,但是可以获取到动态的公网地址,现在有一台服务器需要对外发布服务,但是存在一个问题就是ADSL拨号在一定时间后,运营商会回收这个地址,ADSL会重新拨号获取新的地址,本身客户记住的是A地址,但是重拨后换成了B地址,导致业务访问失败,需要解决地址变化带来的访问问题,解决这个就需要用到标题提到的一个技术叫做DDNS。

简单了解下DDNS是干嘛的

图片

DDNS叫做动态域名解析,DDNS的作用是用一个域名去关联这个动态的公网地址,不管这个拨号口的地址变成了多少,这个域名会根据地址的变化更新该地址的对应关系,所以最终客户只需要记住这个域名即可,就解决了地址变化带来的问题。

(1)在防火墙的拨号口启用DDNS技术,防火墙作为DDNS client会把自己接口当前IP与绑定的用户与域名信息一起送给DDNS服务商。(用户与域名信息是客户在DDNS服务商注册得到)

(2)服务商收到以后,记录在自己DNS的数据库中,比如域名是ccieh3c.com,当前IP是1.1.1.1,当公网其他用户访问ccieh3c.com的时候,就解析到1.1.1.1

(3)当防火墙的接口重新拨号导致地址变化,防火墙会定时的向服务商更新自己当前接口的IP,比如这时候获取的2.2.2.2。

(4)服务商获取以后,更新自己的DNS数据库

(5)公网用户再次访问ccieh3c.com的时候,这个时候解析的地址就是2.2.2.2了(当然也存在地址频繁变化,由于缓存问题还处于之前地址的情况,但是这种属于特殊问题)

目前主流的DDNS提供商国内的(1)阿里云(2)3322 公云(3)花生壳(4)腾讯云  (5)华为云,但是设备商通常支持的以花生壳、3322为主(目前华为/H3C的设备是这样)

接下来用实际操作来讲解一下DDNS的注册、在防火墙上面的关联以及需要注意的地方,这部分由于环境问题,建议看视频为主,文章只能给出关键的配置,很多地方没法详细展示到。

采用正常配置模式的步骤与思路

(1)根据自己习惯使用的提供商注册一个账号,博主习惯使用3322 (http://www.pubyun.com/),  创建对应的动态域名

图片

(2)初始化防火墙(包括接口、安全策略、NAT策略与服务器映射),这里注意服务器映射一定要用命令行方式配置,否则拨号的IP发生变化是不会感知的。(配置参考视频以及后面展示的命令相关)

(3)测试(当前获取的IP是1.55.5.17)

图片

图片

当拨号重拨后地址就发生了变化变成了 1.55.5.18 (这个实验环境会出现连续的,但是在实际中可能就是随机的地址了)

图片

这个时候在去访问就开始转圈了,下面开始关联DDNS

(4)关联DDNS

   有几点需要注意下(1)需要放行防火墙local_untrust的流量,测试下防火墙访问外网是通的,保障防火墙可以发送数据出去与DDNS服务商进行通信。 (2)域名跟账号密码一定不要填写错误,否则会更新失败。(3)一般拨号会获取运营商分配的DNS,能够去解析域名,建议检测下,如果有则可以,没有建议手动添加。(4)WEB配置的只能关联拨号所在的物理口,它会自动的去关联到拨号口。

图片

检查下DNS是否有自动获取到,正常拨号都会自动下发DNS,因为跟DDNS提供商通信需要用到。

图片

图片

位置在---网络-----DNS---DDNS---新建

图片

这个时候在DDNS后台可以看到地址发生了变化,当然没有更新成上图那个1.55.5.17(这个是个是博主自己的实验环境,真实的外网IP是DDNS后台显示的这个),在实际环境中,只要接口获取的IP是公网的地址,那么在DDNS后台就会现实对应的,一旦发生了变化,那么DDNS后台会自动的更新,最终客户只需要记住ccieh3c.f3322.net就可以访问到对应的服务了。


(1)内外网接口以及安全区域加入

#                                        

interfaceGigabitEthernet1/0/0

 undo shutdown

 ip address 192.168.10.254 255.255.255.0

 service-manage http permit

 service-manage https permit

 service-manage ping permit

 service-manage ssh permit

 service-manage telnet permit

#

interfaceGigabitEthernet1/0/1

 pppoe-client dial-bundle-number 1 ipv4

 undo shutdown

#

interface Dialer0

 link-protocol ppp

 ppp chap user 1

 ppp chap password cipher%$%$59fC~JSdQS&Mqv5PN9(/3=q$%$%$

 ppp pap local-user 1 password cipher%$%$JqSVBpvwlW)7Br'$2y(S]AOf%$%$

 ppp ipcp dns admit-any

 ip address ppp-negotiate

 dialer user 1

 dialer bundle 1

 service-manage ping permit

#

firewall zone untrust

 set priority 5

 add interface Dialer0

#

firewall zone dmz

 set priority 50

 add interface GigabitEthernet1/0/0

#

(2)配置安全策略以及NAT策略

#

ip address-set 服务器 typeobject

 address 0 192.168.10.1 mask 32

#

security-policy

 rule name untrust_dmz

  source-zone untrust

  destination-zone dmz

  destination-address address-set 服务器

  action permit

 rule name dmz_untrust

  source-zone dmz

  destination-zone untrust

  source-address address-set 服务器

  action permit

 rule name Local_any

  source-zone local

  action permit

#

nat-policy

 rule name dmz_untrust

  source-zone dmz

  destination-zone untrust

  action source-nat easy-ip

#

 nat server web zone untrust protocol tcpglobal interface Dialer0 9898 inside192.168.10.1 www no-reverse

#

(3)配置DDNS相关(关键部分)

ddns policy 3322

 interval 60

 url "http://<username>:<password>@members.3322.org/dyndns/update?system=dyndns&hostname=<h>&myip=<a>" username shouyou46 password xxxxx  (这里为实际密码)

#

interface Dialer 0

 ddns apply policy 3322 fqdn ccieh3c.f3322.net

#

几个会出问题与困惑的重要点强调

1、拨号获取的地址必须是公网地址,这个是前提也是必须的,只有公网地址才能够在互联网访问到,才能进行映射,如果是私网地址,映射了也没任何作用,这里博主分享下几个确认是不是公网的方法

(1)看防火墙拨号口获取的地址,然后电脑接在这个网络下面,用https://www.ip138.com/对比,如果两个显示是一样的,那么就是公网地址。(这个适合新老手,推荐)

(2)如果拨号获取的是100.x.x.x、172.x.x.x、10.x.x.x开头的,那么这种铁定是私网地址,在运营商那边还会帮忙做一次转换。(就跟博主的网络一样,看着拨号获取的是1.55的,但是实际公网是223开头的)

(3)把接口获取到的地址复制出来,到IP138查询下看是否是公网地址,如果显示是公网地址,可以在接口管理里面把HTTPS打开,用手机4G测试下能否打开网页,如果可以那说明没问题,公网地址是全局可达的。

2、防火墙作为DDNS客户端跟服务器能够通信的几个注意地方。

(1)防火墙最少要放行Local_unturst的策略,这样防火墙跟外网以及DDNS服务器通信才能正常。

(2)检查静态DNS是否从拨号获取到对应的DNS地址,如果没有自己填写,否则跟DDNS服务器通信会有问题

(3)最终防火墙的DDNS状态显示更新成功,则说明对接成功,如果显示失败,检查账号/密码/域名地址是否错误,以及调用的接口。

3、剩下的就是正常的防火墙配置,需要注意

(1)防火墙拨号别忘记写默认路由,否则不管防火墙还是内网到外网不通

(2)做服务器映射的时候切记不要用WEB配置,用命令行关联接口,这样不管地址怎么变化,防火墙可以自己感知。

(3)做服务器映射的时候绑定了安全区域的话,在有需要内网通过外网访问内网服务的情况下需要额外在做一个内网区区域的映射。

(4)确保服务器搭建的服务以及网络通信正常。(可以使用地址形式先测试)

4、DDNS建议大家使用WEB配置,因为命令行会涉及到一个特殊的符号?,这个在设备里面打出来会比较困难,在华为防火墙里面可以使用引号“?”,在输入就可以成功。整体的格式是url "http://<username>:<password>@members.3322.org/dyndns/update?system=dyndns&hostname=<h>&myip=<a>" username shouyou46 password xxxx

5、DDNS的间隔时间,由于WEB配置没有配置间隔更新的时间地方,默认会是3600秒,这样周期有点过长,建议在实际中采用300秒~600秒,一旦地址发生了变化,能够周期性的更新地址通知DDNS服务器更新数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值