我有一台在 eth0 中具有公共 IP 和路由网络配置的服务器。
我已经创建了具有私有 IP(10.0.1.x)的 DomU,它们可以 ping 通 Dom0 和其他私有 IP,但是我希望它们可以 ping 通外部世界。
我怎样才能实现这个目标?
答案1
经过一番研究,以下是在 Dom0 上执行的命令。将其替换$VIF_NAME
为您的 Xen VM 的虚拟接口名称。
添加转发
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -o eth0 -i $VIF_NAME -j ACCEPT
iptables -A FORWARD -o $VIF_NAME -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
删除转发
VIF_NAME="vif${VM}"
IDS=$(iptables -L FORWARD -nv --line-numbers | grep "$VIF_NAME" | cut -d' ' -f1 | sort -r)
for id in $IDS; do
iptables -D FORWARD $id
done