我有一台虚拟化服务器,它有一个 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 应该对你有帮助。