Closed DravenTJU closed 1 year ago
首先,非常感谢作者制作的此脚本。 关于update.sh中端口转发部分我有一些疑问,希望可以得到一些解答,谢谢。
背景情况: 电信 IPv4 NAT1,硬主路由192.168.68.1,Debian虚拟机192.168.68.11,NAS 192.168.68.244,希望通过此脚本使用内网端口45678进行局域网内端口转发实现NAT打洞。
我修改了脚本中的iptables命令:
iptables -t nat -I PREROUTING -d 192.168.68.11 -p tcp --dport 45678 -j DNAT --to-destination 192.168.68.244:21581
发现此时不管是tcping 192.168.68.11:45678,还是tcping 公网IP:45678,都不通。 然后我增加了下面一行:
iptables -t nat -I POSTROUTING -d 192.168.68.244 -p tcp --dport 21581 -j SNAT --to 192.168.68.11
这样tcping就通了。
我的问题是: 1、本机端口间转发不需要POSTROUTING,而不同机器之间端口转发需要POSTROUTING,是有这样的差别吗?(理论上PT不是只传入目标IP端口进来,然后直接连目标IP端口就ok吗,为什么还要走中转返回去呢 2、PT跑大流量的时候,这种局域网内端口转发对中转机器的性能要求高吗?
再次感谢~
关于第一个问题,可以看看这两篇: https://unix.stackexchange.com/questions/322879/port-forward-why-is-iptables-with-postrouting-rule-required https://unix.stackexchange.com/questions/21967/difference-between-snat-and-masquerade
关于第二个问题,应该是有一定性能要求的
首先,非常感谢作者制作的此脚本。 关于update.sh中端口转发部分我有一些疑问,希望可以得到一些解答,谢谢。
背景情况: 电信 IPv4 NAT1,硬主路由192.168.68.1,Debian虚拟机192.168.68.11,NAS 192.168.68.244,希望通过此脚本使用内网端口45678进行局域网内端口转发实现NAT打洞。
我修改了脚本中的iptables命令:
发现此时不管是tcping 192.168.68.11:45678,还是tcping 公网IP:45678,都不通。 然后我增加了下面一行:
这样tcping就通了。
我的问题是: 1、本机端口间转发不需要POSTROUTING,而不同机器之间端口转发需要POSTROUTING,是有这样的差别吗?(理论上PT不是只传入目标IP端口进来,然后直接连目标IP端口就ok吗,为什么还要走中转返回去呢 2、PT跑大流量的时候,这种局域网内端口转发对中转机器的性能要求高吗?
再次感谢~