[systemd-devel] nspawn container: network broken

arnaud gaboury arnaud.gaboury at gmail.com
Fri Aug 12 17:22:42 UTC 2016


On Fri, Aug 12, 2016 at 2:20 PM, arnaud gaboury
<arnaud.gaboury at gmail.com> wrote:
> Host distro: arch linux running systemd 230
> container distro Fedora 24 running systemd 229
>
> I broke systemd-networkd on the host after an upgrade to 231-1. The
> issue was the one described here[0]. In order to get back my network,
> I downgraded to 230 and now network is working on host, BUT still
> broken on the container.
>
> Here are my settings:
>
> Start container:
> # systemctl start systemd-nspawn at poppy
>
> systemd-networkd manage network on host and container.
>
> ## On host ##
> $ ip a
> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
> group default qlen 1
>     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
> .......
> 2: enp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
> master br0 state UP group default qlen 1000
>     link/ether 14:da:e9:b5:7a:88 brd ff:ff:ff:ff:ff:ff
> ......
> 4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state
> UP group default qlen 1000
>     link/ether b6:0c:00:22:f1:4a brd ff:ff:ff:ff:ff:ff
>     inet 192.168.1.87/24 brd 192.168.1.255 scope global br0
>        valid_lft forever preferred_lft forever
> .....
> 5: ve-poppy at if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
> noqueue state UP group default qlen 1000
>     link/ether 0e:9a:d7:18:a3:59 brd ff:ff:ff:ff:ff:ff link-netnsid 0
>     inet 169.254.50.244/16 brd 169.254.255.255 scope link ve-poppy
>        valid_lft forever preferred_lft forever
> .....
>
> /etc/systemd/system/network/bridge.network
> ------------
> [Match]
> Name=br0
>
> [Network]
> Address=192.168.1.87/24
> Gateway=192.168.1.254
> DNS=192.168.1.254
> --------------------------------------
>
> /etc/systemd/system/network/eth.network
> ------------------------------------
> [Match]
> Name=enp7s0
>
> [Network]
> Bridge=br0
> -------------------------------------
>
> /etc/systemd/system/network/bridge.netdev
> ------------------------------
> [NetDev]
> Bridge=br0
> Kind=bridge
> ----------------------------
>
>
> ## On container ##
>
> $ ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state
> UNKNOWN group default qlen 1
>     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
> .......
> 2: host0 at if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
> state UP group default qlen 1000
>     link/ether 0e:7f:c3:fb:25:b1 brd ff:ff:ff:ff:ff:ff link-netnsid 0
>     inet 192.168.1.94/24 brd 192.168.1.255 scope global host0
>        valid_lft forever preferred_lft forever
> ........
>
> /etc/systemd/network/poppy.network
> --------------------------------
> [Match]
> Name=host0
>
> [Network]
> DNS=192.168.1.254
> Address=192.168.1.94/24
> Gateway=192.168.1.254
> --------------------------------------
>
> % systemctl status systemd-networkd
> ● systemd-networkd.service - Network Service
>    Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service;
> enabled; vendor preset: disabled)
>    Active: active (running) since Fri 2016-08-12 12:26:59 CEST; 1h 51min ago
>      Docs: man:systemd-networkd.service(8)
>  Main PID: 33 (systemd-network)
>    Status: "Processing requests..."
>    CGroup: /machine.slice/systemd-nspawn at poppy.service/system.slice/systemd-networkd.service
>            └─33 /usr/lib/systemd/systemd-networkd
>
> Aug 12 12:26:59 thetradinghall.com systemd[1]: Starting Network Service...
> Aug 12 12:26:59 thetradinghall.com systemd-networkd[33]: host0: Cannot
> disable kernel IPv6 accept_ra for i
> Aug 12 12:26:59 thetradinghall.com systemd-networkd[33]: Enumeration completed
> Aug 12 12:26:59 thetradinghall.com systemd[1]: Started Network Service.
> Aug 12 12:26:59 thetradinghall.com systemd-networkd[33]: host0: Gained carrier
> Aug 12 12:27:00 thetradinghall.com systemd-networkd[33]: host0: Gained IPv6LL
> Aug 12 12:27:12 thetradinghall.com systemd-networkd[33]: host0:
> Starting DHCPv6 client after NDisc timeout
> Aug 12 12:27:12 thetradinghall.com systemd-networkd[33]: host0: Configured
>
>
> ****************************
>
> May someone help me to fix the broken network on container?

I found the culprit: my /usr/lib/systemd/system/systemd-nspawn@ is a
modified one: I replace --network-veth option with
--network-bridge=br0. This modified file was replaced accidentally by
original one.

>
> Thank you.
>
>
>
> [0]https://github.com/systemd/systemd/issues/3876
>
>
> --
>
> google.com/+arnaudgabourygabx



-- 

google.com/+arnaudgabourygabx


More information about the systemd-devel mailing list