我家里有 2 个互联网连接。我使用这两个连接上网:其他每个连接都切换 ISP。
我已经使用我的 VPS 作为常规上网代理,确保我访问某些网站时始终使用相同的 IP 地址。
但是:我无法为某个 Usenet 程序使用代理,因此我想在我的 VPS 上设置一个端口作为非常具体的代理。我该怎么做?
我试过这个规则:
iptables -A FORWARD -p tcp -i eth1 -o eth1 -d 256.256.256.256 --dport 563 -m state --state NEW -j ACCEPT
ACCEPT tcp -- anywhere usenet-server.com tcp dpt:nntps state NEW
ACCEPT udp -- anywhere usenet-server.com udp dpt:nntps state NEW
但它们不起作用。
答案1
这招奏效了:
YourIP=1.2.3.4
YourPort=80
TargetIP=2.3.4.5
TargetPort=22
iptables -t nat -A PREROUTING --dst $YourIP -p tcp --dport $YourPort -j DNAT \
--to-destination $TargetIP:$TargetPort
iptables -t nat -A POSTROUTING -p tcp --dst $TargetIP --dport $TargetPort -j SNAT \
--to-source $YourIP
iptables -t nat -A OUTPUT --dst $YourIP -p tcp --dport $YourPort -j DNAT \
--to-destination $TargetIP:$TargetPort