如何解决有没有办法使用iptables更改本地端口绑定?
对不起,我是iptables的菜鸟。
我有一个VPN应用程序,该应用程序绑定到本地端口1080,而连接到目标端口1194(openvpn)。该应用程序不支持特权端口绑定(需要root用户,我具有)。我希望该应用程序在本地端口25上绑定。我已经浏览了Google,答案似乎是iptables。我看过很多帖子,其中很多人都说SNAT目标是我应该使用的目标。
我尝试了以下代码:
iptables -I POSTROUTING -o wlan0 -t nat -p tcp --destination 195.123.216.159 -m tcp --dport 1194 -j SNAT --to-source 192.168.43.239:25
这些:
iptables -I FORWARD -p tcp -d 192.168.43.239 -m tcp --dport 25 -j ACCEPT
iptables -I FORWARD -p tcp -s 192.168.43.239 -m tcp --sport 25 -j ACCEPT
iptables -I OUTPUT -o wlan0 -p tcp -m tcp --sport 25 -j ACCEPT
iptables -I INPUT -i wlan0 -p tcp -m tcp --dport 25 -j ACCEPT
我想要的是在运行netstat命令时使输出类似于以下内容:
tcp 0 0 192.168.43.239:25 195.123.216.159:1194 ESTABLISHED
但是,相反,在运行所有代码之后,netstat的输出变为:
tcp 0 0 192.168.43.239:1080 195.123.216.159:5000 ESTABLISHED
是否可以使用iptables更改绑定端口?请帮助我理解网络的概念。
解决方法
事实证明 iptables 只是在正确地完成它的工作。翻译后的数据包最终不会被 netstat 跟踪。我迷路了,完全不明白 iptables 不会改变应用程序使用的 ip v6 流量。以及不需要的转发规则,因为链策略是接受数据包。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。