tu-*_*duh 1 networking netplan
我想在我的 netplan 配置中的两个网桥之间进行对等连接。
iproute2命令下是:
ip link add dev vethb1 type veth peer name vethb2
brctl addif br1 vethb1
brctl addif br2 vethb2
Run Code Online (Sandbox Code Playgroud)
我是从 OpenVSwitch 移植的,所以我可能以错误的方式思考这个问题。
不幸的是,netplan 文档似乎并没有涵盖所有设备类型,特别是veth. 虽然它确实提到了veth匹配,所以netplan的某些部分必须知道它的含义。
我尝试过使用vlanno来执行 a id,但它需要一个 id。
创建 anethernet似乎不接受 atype或peer属性。 Networkd 调用此密钥kind,但这也不是可接受的密钥。
veth peernetplan 配置中的链接是什么样的?
@slangasek 是正确的。从 0.39 开始,netplan yaml 中不再支持。然而,netplan它是基于systemd-networkd它并与之配合得很好。所以这是我想出的解决方案:
创建一个名为的文件,/etc/systemd/network/25-veth-b1b2.netdev其内容为:
[NetDev]
Name=vethb1
Kind=veth
[Peer]
Name=vethb2
Run Code Online (Sandbox Code Playgroud)
然后添加到您的/etc/netplan/01-netcfg.yaml
在下面:
ethernets:
Run Code Online (Sandbox Code Playgroud)
添加:
vethb1: {}
vethb2: {}
Run Code Online (Sandbox Code Playgroud)
它的作用是告诉 netplan 期望来自vethb1名为和 的地方的接口vethb2。({}是一个空匹配。 match: {}也可以,但将其留空或只会match:导致解析错误。)
然后您可以将这些接口添加到您的网桥中:
bridges:
b1:
interfaces: [vethb1]
b2:
interfaces: [vethb2]
Run Code Online (Sandbox Code Playgroud)
然后重建你的 netplan 配置并重新启动 systemd-networkd:
$ netplan generate
$ service systemd-networkd stop
$ service systemd-networkd start
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4307 次 |
| 最近记录: |