systemd-nspawn / machinectl和macvlan

时间:2019-05-06 11:11:37

标签: macvlan systemd-nspawn

我想创建一个通过macvlan和dhcp连接到网络的nspawn容器。我发现的所有文档都非常有启发性,但没有提供有关此设置的分步过程。

到目前为止,我所做的是使用包括systemd-container的debootstrap创建容器(基于debian的容器):

debootstrap --arch=armhf --include=systemd-container stretch /var/lib/machines/raspbian-09 http://archive.raspbian.org/raspbian

本地主机网络

运行:

systemd-nspawn -b -M raspbian-09

machinectl raspbian-09

带有单位文件/etc/systemd/nspawn/raspbian-09.nspawn 包含:

[Exec]
Boot=true
PrivateUsers=no

[Network]
Private=no
VirtualEthernet=no

在两种情况下,网络连接都很好。

Macvlan

对于macvlan,我可以运行以下命令:

systemd-nspawn -b -M raspbian-09 --network-macvlan=eth0

machinectl raspbian-09

单元文件/etc/systemd/nspawn/raspbian-09.nspawn包含:

[Exec]
Boot=true
PrivateUsers=no

[Network]
MACVLAN=eth0

在两种情况下,都无法连接到网络。

在容器中,我可以看到创建了一个接口mv-eth0:

# networkctl
IDX LINK             TYPE               OPERATIONAL SETUP     
  1 lo               loopback           carrier     unmanaged 
  2 mv-eth0          ether              degraded    configuring

但是,没有ipv4地址:

# ip a
mv-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 xxxx::xxxx:xxxx:xxxx:xxxx/64 scope link 
       valid_lft forever preferred_lft forever

应在主机和容器上进行哪些其他配置?

(问题也在unix stackExchange上问到)

0 个答案:

没有答案