使用 netplan 配置具有静态 IP 的网桥,以便与 Linux 容器一起使用

使用 netplan 配置具有静态 IP 的网桥,以便与 Linux 容器一起使用

摘要:如何在主机上配置 netplan 以创建可在客户虚拟机上使用的桥接器(具有静态 IP 地址)(应可从本地局域网访问)。

我正在使用 Ubuntu 17.10,32 位。nplan 0.32~17.10.1。

我正在尝试配置一个应该可以从本地网络访问的 Linux 虚拟容器。但我无法使用 nplan 在主机上配置网桥。
我尝试遵循以下指南,但没有成功:
https://discuss.linuxcontainers.org/t/static-ip-for-containers-with-local-lan-access/817
本指南配置了具有两个 NIC 的主机系统。我的主机只有一个接口。

我仍在处理主机上的 nplan 配置。主机上的 nplan 配置如下:

network:  
  version: 2  
  renderer: networkd  
  ethernets:  
    ens32:  
      dhcp4: no  
      dhcp6: no  
      addresses: [10.0.0.247/24]  
      gateway4: 10.0.0.138  
      nameservers:  
        addresses: [10.0.0.138,8.8.8.8,8.8.4.4]  
  bridges:  
    br0:  
      interfaces: [ens32]  
      dhcp4: no  
      dhcp6: no  
      addresses: [10.0.0.248/24]  
      parameters:  
        stp: false  
        forward-delay: 0  

在主机上运行“netplan apply”后,我可以解析 google.com,但无法 ping 通:

ping google.com  
PING google.com (172.217.22.174) 56(84) bytes of data.  
From fileserver (10.0.0.247) icmp_seq=1 Destination Host Unreachable  

ip a  
1: lo ...  
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000  
    link/ether 00:01:2e:4c:4c:97 brd ff:ff:ff:ff:ff:ff  
    inet 10.0.0.247/24 brd 10.0.0.255 scope global ens32  
       valid_lft forever preferred_lft forever  
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000  
    link/ether ba:5f:c3:f0:a8:bd brd ff:ff:ff:ff:ff:ff  
    inet 10.0.0.248/24 brd 10.0.0.255 scope global br0  
       valid_lft forever preferred_lft forever  

当我从 nplan 配置中删除完整的部分“bridges:”时,我必须重新启动计算机才能摆脱桥接(netplan apply 是不够的 - 为什么?)。

重启后,我可以 ping google.com。

任何有关 nplan 配置(在主机和虚拟客户端上)的帮助都非常受欢迎。

谢谢。

答案1

我试过了另一位导游。诀窍是不要为 eth0 分配单独的地址。只需让它不分配地址,您的主机将与网桥共享 IP。但还有另一个问题。重新启动后,某些东西会破坏此配置,网桥会丢失其广播地址,除非您netplan apply再次运行,否则您将无法访问互联网。

我认为这可能是由于 LXD 的一些覆盖(我正在使用 lxd bridge)。

相关内容