![设置“iptables”以与外部 HTTP 代理一起使用](https://linux22.com/image/219057/%E8%AE%BE%E7%BD%AE%E2%80%9Ciptables%E2%80%9D%E4%BB%A5%E4%B8%8E%E5%A4%96%E9%83%A8%20HTTP%20%E4%BB%A3%E7%90%86%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8.png)
我有一台 Linux 机器和一个外部 HTTP 代理。
我不知道如何使用iptables
.
sudo iptables -t nat -N PROXY_CHAIN
sudo iptables -t nat -A PROXY_CHAIN -d [proxy-ip] -p tcp --dport [proxy-port] -j ACCEPT
sudo iptables -t nat -A PROXY_CHAIN -p tcp -j REDIRECT --to-port [proxy-port]
sudo iptables -t nat -A OUTPUT -p tcp -j PROXY_CHAIN
sudo iptables -t nat -A OUTPUT -p tcp -j PROXY_CHAIN
sudo /sbin/iptables-save
这些是我运行的命令,但它不起作用。
答案1
代理网关是应用程序感知的网关(OSI 模型的第 7 层)。这意味着并非所有应用程序都可以由任何给定的代理网关代理。换句话说,就代理网关而言,没有一种尺寸适合所有情况。
您需要选择要通过代理网关发送的应用程序,例如 HTTP 流量。然后你需要告诉 HTTP 客户端/代理代理所在的位置。 Web 浏览器是 HTTP 客户端/代理的一个很好的例子
将所有 TCP/UDP 流量转发到代理是没有意义的。是的,您可以在 VPN 服务器上执行此操作,因为它们在网络堆栈的第 3 层和第 4 层运行。但代理是特定于应用程序的。