![当我的服务器需要连接 IP 'y' 上的端口 'x' 时,需要更改其 IP](https://linux22.com/image/582302/%E5%BD%93%E6%88%91%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%9C%80%E8%A6%81%E8%BF%9E%E6%8E%A5%20IP%20'y'%20%E4%B8%8A%E7%9A%84%E7%AB%AF%E5%8F%A3%20'x'%20%E6%97%B6%EF%BC%8C%E9%9C%80%E8%A6%81%E6%9B%B4%E6%94%B9%E5%85%B6%20IP%20.png)
我有一台 Linux 服务器,在另一台机器上有一个代理服务器。
我的 Linux 服务器需要连接到 IP 地址为“y”的端口“x”
是否可以创建 iptables 规则或其他方法:当我的 linux 服务器尝试连接 ip‘y’ 上的端口‘x’时,使用另一台机器上的代理服务器?
换句话说,当我的服务器需要使用另一台代理服务器机器连接 IP‘y’上的端口‘x’时,我需要更改服务器的 IP。
简单的问题:“需要一种方法来代理端口”
答案1
您可以像这样将流量重定向到本地机器上的端口:
sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 127.0.0.1:8000
但是,您不能将流量重定向到任意机器,请参阅http://www.netfilter.org/documentation/HOWTO//NAT-HOWTO-6.html(这似乎仍然有效 - 我已经测试过了)
鉴于此限制,您可能能够在本地计算机上放置反向代理,以将您的 HTTP 请求转发到代理。Nginx 应该能够做到这一点,请参阅http://tumblr.intranation.com/post/766288369/using-nginx-reverse-proxy
这是否有效可能取决于您的代理如何配置......