我正在尝试使用透明代理,不幸的是我没有两台机器来测试它。我目前的做法是程序向端口 80 上的计算机发出请求,我使用
iptables -t nat -A OUTPUT -p tcp --destination-port 80 -j REDIRECT --to-port 1234
重定向到我正在使用的代理。代理将向端口 81 发送请求(因为所有出站端口 80 都被反馈到代理,所以我想做类似的事情
iptables -t nat -A OUTPUT -p tcp --destination-port 81 -j DNAT --to-destination xxxx:80
问题出在 xxxx 部分。如何在不更改目标 IP 的情况下更改目标端口?或者我的设置完全错误,毕竟我还在学习,欢迎提出建设性的批评。
我使用的机器是相当低端的,所以除非绝对必要,否则我不想使用第二个盒子创建虚拟机。
答案1
我相信您正在寻找的答案听起来与您的第一条规则非常相似:
iptables -t nat -A OUTPUT -p tcp --destination-port 81 -j REDIRECT --to-port 80