重启 bionic beaver (netplan) systemd 后 veth 停止运行

重启 bionic beaver (netplan) systemd 后 veth 停止运行

首先,请原谅我蹩脚的 markdown 技巧。

运行 Bionic Beaver: host:~# lsb_release -a Distributor ID: Ubuntu Description: Ubuntu 18.04.2 LTS Release: 18.04 Codename: bionic 似乎无法找到确保我的 veth 设备在重启后自动“链接”的最佳方法。

我对 veth 的使用情况:我使用它们将本地网桥连接到容器。我这样做是因为将 docker macvlan 直接连接到网桥会阻碍容器与其主机之间的通信。

现在,这个问题已经解决了:
我尝试将以下内容放入 ip link set veth1a up ip link set veth5a up /etc/rc.local中我必须创建新的并添加执行权限,但重启后什么也不做。

我有 netplan 中列出的接口,但这只能成功启动 veth 的桥接侧,例如 veth1b: network: ethernets: enp131s0f0: dhcp4: false enp131s0f1: dhcp4: false enp6s0: dhcp4: false enp7s0: dhcp4: false veth1a: dhcp4: false veth1b: dhcp4: false veth5a: dhcp4: false veth5b: dhcp4: false bridges: br0: dhcp4: true interfaces: - enp6s0 - enp7s0 - veth1b br5: dhcp4: false interfaces: - vlan5 - veth5b vlans: vlan5: id: 5 link: br0 dhcp4: false version: 2 我还有一些 systemd 配置来首先创建 veth,但我不知道如何告诉 systemd “管理” veth1a 和 veth5a。这就是我需要帮助的地方。 host:~# cat /etc/systemd/network/25-veth-* [NetDev] Name=veth1a Kind=veth [Peer] Name=veth1b [NetDev] Name=veth5a Kind=veth [Peer] Name=veth5b

答案1

我不知道为什么它不能一起工作/etc/rc.local,我原以为这会运行得足够晚才能工作;但我认为你已经非常接近配置了systemd

添加:

[Network] ConfigureWithoutCarrier=true

对于每个 veth 接口。默认情况下,如果接口没有直接连接的 IP 地址,systemd-networkd 将不会启动这些接口。

Veth 目前在 netplan 中不直接支持,但将来可能会添加,以简化设置。

相关内容