我如何将 macvtap 接口传递给带有 libvirt 的 lxc 容器
How can i pass a macvtap interface to a lxc container with libvirt
我已经创建了一个类似的 macvtap 界面:
$ ip link add link wlan0 name gitea type macvtap
$ ip link set gitea address 68:61:6b:67:69:74 up
$ ip link show gitea
10: gitea@wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 500
link/ether 68:61:6b:67:69:74 brd ff:ff:ff:ff:ff:ff
我的 gitea 容器有一个 xml 模板:
<devices>
<emulator>/usr/lib/libvirt/libvirt_lxc</emulator>
<filesystem type='mount'>
<source dir='/containers/prod/gitea' />
<target dir='/' />
</filesystem>
<console type='pty' />
<interface type='??'>
<source dev='gitea'/>
</filesystem>
</devices>
但是接口部分应该写什么把创建的macvtap接口传给容器或者不能直接传的话重新创建接口应该写什么
提前感谢您的考虑。
libvirt 原生支持按需创建 macvtap 接口。参见:https://libvirt.org/formatdomain.html#elementsNICSDirect
在你的情况下,它看起来像:
<interface type='direct'>
<source dev='wlan0' mode='bridge'/>
</interface>
但这不会给你 'gitea' 命名。另一个选项可能是 type='ethernet' 但我对此没有太多经验,我不确定它是否适合你。我认为 XML 看起来像
<interface type='ethernet'>
<target dev='gitea'/>
</interface>
(此外,IIRC macvtap 不适用于 wifi 设备,因此不确定您的设置是否真的可以正常工作)
我已经创建了一个类似的 macvtap 界面:
$ ip link add link wlan0 name gitea type macvtap
$ ip link set gitea address 68:61:6b:67:69:74 up
$ ip link show gitea
10: gitea@wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 500
link/ether 68:61:6b:67:69:74 brd ff:ff:ff:ff:ff:ff
我的 gitea 容器有一个 xml 模板:
<devices>
<emulator>/usr/lib/libvirt/libvirt_lxc</emulator>
<filesystem type='mount'>
<source dir='/containers/prod/gitea' />
<target dir='/' />
</filesystem>
<console type='pty' />
<interface type='??'>
<source dev='gitea'/>
</filesystem>
</devices>
但是接口部分应该写什么把创建的macvtap接口传给容器或者不能直接传的话重新创建接口应该写什么
提前感谢您的考虑。
libvirt 原生支持按需创建 macvtap 接口。参见:https://libvirt.org/formatdomain.html#elementsNICSDirect
在你的情况下,它看起来像:
<interface type='direct'>
<source dev='wlan0' mode='bridge'/>
</interface>
但这不会给你 'gitea' 命名。另一个选项可能是 type='ethernet' 但我对此没有太多经验,我不确定它是否适合你。我认为 XML 看起来像
<interface type='ethernet'>
<target dev='gitea'/>
</interface>
(此外,IIRC macvtap 不适用于 wifi 设备,因此不确定您的设置是否真的可以正常工作)