我使用 Proxmox VE (Debian) 作为我的虚拟机。为了从外部访问我的 KVM 计算机,我使用了 NAT 和端口转发。
不幸的是,没有虚拟机可以连接到主机的外部 IPv4。
但所有虚拟机都可以连接到互联网并可以被外部访问。
目前只能通过内部本地 IPv4 建立 2 个 VM 之间的连接。
我该如何修复这个错误?
答案1
这种情况被称为路由三角。可以通过添加额外的SNAT
或MASQUERADE
规则来解决。它已被证明描述的很详细在 iptables 教程中。
普遍规则:
iptables -t nat -A POSTROUTING \
--src <vm-net> --dst <vm-net> \
-m conntrack --ctstate DNAT --ctorigdst <ext-ip> \
-j MASQUERADE