这个问题已经发布在 stackoverflow 上(https://stackoverflow.com/q/14904325/2012441),但由于我意识到这可能与主题无关,所以我将在这里重复一遍:
我首先解释一下当前的情况,然后描述我的愿望:
现在的情况
目前我有一台 Linux 机器,在一个物理接口上配置了三个公网 IP 地址。可以通过每个 IP 访问该机器。
未来
将来我想在这台机器上使用虚拟化,并将这三个 IP 中的一个分配给特定的虚拟机。但由于某些原因,我无法对物理接口和虚拟接口使用桥接。使用 NAT 和/或 PAT 也是不可能的。
问题
我的想法是将虚拟化主机配置为路由器,并通过虚拟网络接口(具有私有地址)为该特定的公共 IP 设置路由。
这有可能吗?我忽略了什么吗?或者还有其他方法可以解决我的问题吗?
答案1
是的,据我所知,您可以使用 Linux 网络堆栈做那种事情,但请记住 - 您需要代理 arp 来打开外部接口(并且从中删除别名 IP 地址 - 很有可能,但我不是 100%确定,应该/可以轻松验证)。