RouterOS中DDNS正确的端口映射

前言:
  在不久前我用一些淘汰下来的机器组成了一个虚拟测试环境,其中虚拟网络环境是用RouterOS3.2搭建的。当时虚拟操作系统访问网络经过了两个设备,一个是RouterOS,而RouterOS又是接在D-Link无线路由器上的。而当时发布的服务也经过了两次的端口映射,随着虚拟网络的正常使用再加上D-link设备时不是发生点小问题的原因,因此我决定将网络直接接到RouterOS上,通过RouterOS实现ADSL的拨号上网而原有的D-Link只当作交换机及无线AP使用。经测试切换后网络访问一切都正常。原以为发布个服务也是个轻而易举的事情,谁知还差点在阴沟里翻船了。
设定ADSL的PPPoE
  其实设定ADSL拨号上网非常以前,和以前“ESX 4.0虚拟环境搭建之RouterOS网络环境(二)”环境一样,几乎不需要做太多的改动。将以前为“ether1”设定的IP地址(192.168.0.7)去掉;然后选中该网卡新建“PPPoE Client”,之后为该服务命一个名称,如我这里用的是“mp-pppoe”;然后输入拨号的用户名和密码点保存就可以了。
  当“mp-pppoe”连接状态显示已连接后,这里还需要更改一下NAT策略才能保证各网段的客户端正常访问。在以前的网络中,我们是通过静态IP(192.168.0.7)经过“ether1”网卡访问;但现在是经由pppoe拨号访问,所以须将原有NAT中经由ether1出口的地方改为经由mp-pppoe。
Image00011
(图一:原有网络NAT策略)
  Image00014
(图二:现有网络NAT策略)
设定端口映射
  以前的端口映射需做两次,首先经由D-Link映射至192.168.0.7然后再由RouterOS映射到不同的虚拟操作系统。在RouterOS的dstnat的映射规则中有一条“Dst.Address”的项目,原来填的是192.168.0.7;因为所有目的地址都很好确认(前面的网络环境中外网口的地址是固定的192.168.0.7)。而现在没办法确定它的外网地址,因为它会随时变化。
Image00010
(图三:原来D-Link上的端口映射)
Image00011
(图四:原来RouterOS上的端口映射)
  网上有很多方法关于如何设定动态IP下地址映射的方法,其中比较多的说法是除了要映射dstnat外还要加入一条srcnat策略,而且还需要设定相关策略的“In Interface”和“Out Interface”。但是经测试该方法在我的这个环境中是不成功的。下面以映射8443端口为例:
  按照网上提供的方法先设定dstnat策略,其中“Chain”设为dstnat,“Protocol”设为6(tcp),“Dst.Port”设为8443,“In.Interface”设为mp-pppoe,“Action”设为dst-nat,“To Address”设为172.16.13.2,“To Ports”设为8443。
Image00002
(图五:未成功的端口映射)
Image00003
(图六:未成功的端口映射)
  接着设定dstnat策略,其中“Chain”设为srcnat,“Src.Address”设为172.16.13.2,“Protocol”设为6(tcp),“Src.Port”设为8443,“Out.Interface”设为mp-pppoe,“Action”设为masquerade。
Image00004
(图七:未成功的端口映射)
Image00005
(图八:未成功的端口映射)
Image00006
(图九:端口映射测试不成功)
正确的端口映射
  经过测试上面的这种方法是行不通的。当然也许是操作失误或是其它原因,但是我测试只要将原有填写地址为192.168.0.7地方改为实际的Internet外网地址,其映射是成功的。所以我想策略的设定应该是没有问题的。后来查相关资料,发现在RouterOS有关NAT策略中还有一个选项是针对Dst-Address的,那就是Dst-Address-type。通过设定该选项的值为local就可以完全解决动态IP地址映射的问题。
/ip firewall nat add chain=dstnat protocol=tcp dst-port=8443 dst-address-type=local action=dst-nat to-addresses=172.16.13.2 to-ports=8443
Image00007
(图十:正确的端口映射)
Image00008
(图十一:不同的端口NAT策略其中5,6,8为成功的策略,其它都不成功)
Image00009
(图十二:端口映射测试成功)
Image00015
(图十三:网络接口状态)
Image00017
(图十四:新建的pppoe接口)

本文出自 “虚拟的现实” 博客,转载请与作者联系!

你可能感兴趣的:(端口,映射,休闲,ddns,routeros)