iptables可以直接中转流量,支持包括TCP和UDP,加上hosts的话,甚至可以中转HTTPS流量。


基础操作

ip addr
查看网卡信息
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 10000 -j DNAT --to-destination 目标ip:10000

iptables -t nat -A PREROUTING -p udp -m udp --dport 10000 -j DNAT --to-destination 目标ip:10000

iptables -t nat -A POSTROUTING -d 目标ip -p tcp -m tcp --dport 10000 -j SNAT --to-source 源ip

iptables -t nat -A POSTROUTING -d 目标ip -p udp -m udp --dport 10000 -j SNAT --to-source 源ip
源ip填网卡ip,非阿里云之类的公网ip

这样的话就实现了中转流量(非域名)的目的

骚操作-中转Https流量

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 10000 -j DNAT --to-destination 目标ip:443

iptables -t nat -A PREROUTING -p udp -m udp --dport 10000 -j DNAT --to-destination 目标ip:443

iptables -t nat -A POSTROUTING -d 目标ip -p tcp -m tcp --dport 443 -j SNAT --to-source 源ip

iptables -t nat -A POSTROUTING -d 目标ip -p udp -m udp --dport 443 -j SNAT --to-source 源ip
c:\Windows\System32\Drivers\etc\hosts
windows hosts 位置
sudo nano /etc/hosts
linux hosts 位置
1.1.1.1 example.com
hosts 1.1.1.1 换成你的中转机器的ip

然后打开浏览器访问https://yourdomain.com:10000/理论上是可以的了,这样就实现了中转https流量的效果。


题外话:中转有没有用是个玄学话题,有人觉得有用,有人觉得没有,方案在此,就看你想怎么玩了。