arainbow 发表于 2018-3-24 23:10:17

我用ROS实现不了这样的地址映射,是不是不可能的?

本帖最后由 arainbow 于 2018-3-24 23:11 编辑

各位高手,是这样的:我在宽带拨号的(PPPOE方式)接口上做了端口映射,映射到内网 某地址:端口,并且使用动态域名,这样我用手机(3G、4G等)在外,通过动态域名和ROS的映射可以访问内网某服务。

如果手机直接在内网,就是直接访问内网的服务,也是完全可以的。

如果我在内网,又想使用动态域名获取外部IP,然后直接在内网访问路由器自己的外网IP,用ROS再映射回到内网的另一地址地址和服务端口,怎么设都没办法成功。
这么做是为了不用切换手机的配置了(在域名和内网IP之间改来改去),有什么好办法吗?


yunhao 发表于 2018-3-25 09:58:16

先srcNAT,再dstNAT。
不过不建议这么做,最好设置DNS。

kjsdog 发表于 2018-3-25 17:19:36

前提要外网是公网IP才能实现。

arainbow 发表于 2018-3-25 18:03:08

yunhao 发表于 2018-3-25 09:58
先srcNAT,再dstNAT。
不过不建议这么做,最好设置DNS。

我试过好像设置失败了。我再尝试下看能不能成功。

arainbow 发表于 2018-3-25 19:10:43

本帖最后由 arainbow 于 2018-3-25 19:15 编辑

已经完美解决。
问题提交到论坛,如果解决了,一定要把方法告诉大家,相互交流下,才能促进相互提高。
这步是必须的,在IP-FIREWALL-NAT中先要增加一条DST-NAT规则,这个规则大家肯定都会。为了尽管不影响其它功能,这里设的限制多些,网段、BRIDGE、端口都限定一下,如下:

如果只是在ROS中看LOG、看记数器,是查不出问题所在的。因此,在ROS中用PACKET SNIFFER,然后STREAM到PC上的WIRESHARK中,看数据包到底去哪里了,到哪一步了。
经检查,数据已经NAT并发送到了目标设备。目标设备的回包也已经发出,但是是以自己IP为源地址的。回包既然已经发出,但不能被手机设备收到,是为什么?原来回包是在BRIDGE中传输的,手机收到的包的源地址并不是自己期望收到的公网地址,因此会丢弃。

需要再增加SRCNAT转成外网IP?试了多次也不行,根本不激活。如果能激活,由于公网IP会随拨号经常变化,还要做脚本,也是很麻烦的事情。
怎么办呢?见证奇迹的时刻到了,强大的ROS,可以满足我们的一切需要。
原来 BRIDGE中有一项设置,可以让BRIDGE中的数据,也经过IP FIREWALL处理一下,只需要打个勾,简简单单!!一切都在下图中:

搞定 !! 功能一切正常,而且不需要再多的设置了。
希望此文对有需要的朋友们有帮助。

davidldh 发表于 2018-3-29 16:09:02

好的,谢谢楼主无私的分享,受教了!

网上菜鸟 发表于 2018-4-10 01:13:37

srcnat中选masquerade,Src.address填0.0.0.0/0就可以实现回环了。

lioekas 发表于 2018-4-17 13:51:40

谢谢楼主的分享,我也试试。

arainbow 发表于 2018-4-24 06:53:11

网上菜鸟 发表于 2018-4-10 01:13
srcnat中选masquerade,Src.address填0.0.0.0/0就可以实现回环了。
这个地方,src.address是用来匹配源IP地址的,如果不填写的话,匹配的是所有地址,也就是0.0.0.0/0,所以设成0.0.0.0/0,应该是没意义的。

hschang0419 发表于 2018-5-14 21:20:15

您這應該是Hairpin NAT 沒設
加上下面那規則應該就可以了192.168.1.254是Gartway IP
;;; HairPin NAT
      chain=srcnat action=src-nat to-addresses=192.168.1.254
      src-address=192.168.1.0/24 dst-address=192.168.1.0/24 log=no log-prefix=""

colinhd8 发表于 2018-7-7 22:17:19

LZ这个一开始貌似没说是桥接的。但实际上非桥接的时候也会有这个问题。此时若用LZ的办法应该是行不通的(不过LZ对问题的分析是正确的)。关键是内网访问时要在路由也做一次srcnat。

xuxi3201 发表于 2018-7-18 09:00:07

自己在内网,通过wan获得的ip访问 端口转发,
办法是 做这个nat: extra 这个选项卡 dst-address-type=local
页: [1]
查看完整版本: 我用ROS实现不了这样的地址映射,是不是不可能的?