使用 iptables 为每个虚拟机配置不同的外部代理

使用 iptables 为每个虚拟机配置不同的外部代理

我有一台虚拟化服务器,它有一个 IP 和 5 个虚拟机。为了在每个虚拟机中都能访问互联网和 ssh,我这样做了

-------------/etc/network/interfaces-------

自动 vmbr2
iface vmbr2 inet 静态
地址 192.168.0.254
网络掩码 255.255.255.0
bridge_ports 无
bridge_stp 关闭
bridge_fd 0
后回复 echo 1 > /proc/sys/net/ipv4/ip_forward
发布 iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE
iptables -t nat -D POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE

发布 iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 1022 -j DNAT --to 192.168.0.1:22
iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 1022 -j DNAT --to 192.168.0.1:22

没问题。现在我需要为每个虚拟机设置不同的外部代理。例如:虚拟机 192.168.0.1 使用此代理访问互联网。user:[email protected]:3218

我该怎么做?只使用 iptables 可以吗?

答案1

请澄清一下——你想要什么。

首先 - iptables 只对数据包起作用。它无法为代理设置用户和密码。

但是你可以设置从每个虚拟机(它的 ipaaddress)到每个自己的代理服务器的重定向流量。我认为 iptables -t nat -A PREROUTING -i eth0 -s vm_ipaddress -p tcp —dport 80 -j DNAT —to proxy_ipaddress:port 应该对你有帮助。

相关内容