【发布时间】:2021-08-01 06:02:08
【问题描述】:
对不起,我是 iptables 的菜鸟。
我有一个绑定到本地端口 1080 的 VPN 应用程序,同时它转到目标端口 1194 (openvpn)。该应用程序不支持特权端口绑定(需要root,我有)。我希望应用程序绑定到本地端口 25。我浏览了谷歌,答案似乎是 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 已建立但是,运行所有代码后,netstat 的输出变为:
tcp 0 0 192.168.43.239:1080 195.123.216.159:5000 已建立使用 iptables 改变绑定端口是不可能的吗?请帮助我理解网络的概念。
【问题讨论】:
标签: sockets tcp iptables python-iptables