Linux kvm:没有物理网卡的公共桥接器

Linux kvm:没有物理网卡的公共桥接器

我在互联网上有一个 VM 主机,有自己的子网。我打算使用桥接网络,只需将我的一个物理 NIC 添加到桥接器即可。但这有几个缺点,其中最不重要的是驱动程序似乎有问题。

我可以在不添加物理网卡的情况下设置公共网桥吗?上面有访客和他们的公共 IP?

我尝试通过路由简单地做到这一点,但这似乎并不完全有效:

Guest: ip route default via <host> dev br0
ip route add <host> dev br0  # May be redundant.

Host: ip route add <guest>/32 via br0;

外部访问仍然不起作用,因为主机似乎没有告诉其他人“我可以访问那些其他 IP!”我猜我需要某种 arp 技巧来完成我开始的工作。(?)

答案1

好的,我找到了这个问题的一个解决方案(将从一开始就开始,问题的解决方案从第 3 点之后开始):

  1. 创建独立桥接设备

    brctl addbr br0
    
  2. 将访客连接到共享设备br0并为其提供公共 IP 和网络

  3. 设置路由,以便主机和访客可以使用他们的公共地址自由通信:

    host:ip route add <guestip>/32 dev br0
    guest:ip route add default via <hostip> dev eth0
    
  4. 现在唯一缺少的是从外部访问

    host: arp -i eth0 -Ds <guestip> br0 pub
    
  5. 现在客人应该可以从外面接待了。

如果您的 ISP 将网络路由到您的主机,则 artful arp 应该不是必需的。在这种情况下,将您的 ISP 网关设置为主机和访客的默认网关。

相关内容