[systemd-devel] No DHCP server is started with DHCPServer=yes

Francis Moreau francis.moro at gmail.com
Thu May 7 06:15:39 UTC 2020


On Wed, May 6, 2020 at 11:47 PM Lennart Poettering
<lennart at poettering.net> wrote:
>
> On Mi, 06.05.20 23:43, Francis Moreau (francis.moro at gmail.com) wrote:
>
> > Hi,
> >
> > I'm running systemd v245 (in the host and in the containers) and I
> > have 2 containers whose veth link is connected to a bridge.
> >
> > One container named "c1" uses "DHCPServer=yes" and is supposed to
> > provide an ipv4 address to the second container "c2" but for some
> > reasons it seems that no DHCP server is started in "c1". At least
> > "journalctl -u systemd-networkd | grep DHCP" doesn't show anything
> > interesting although the debug logs have been enabled.
> >
> > I monitored the DHCP traffic in "c1" andI could see the DISCOVER
> > requests sent by "c2" but no answer from "c1". So it really seems that
> > no DHCP server is running in "c1".
> >
> > Could anybody tell me how I could make sure that no DHCP server has
> > been started and help me understanding why ?
>
> Are you sure your .network files match on the iface properly? What
> does "networkctl status" say about the interface?
>

Yes I am pretty sure because the rest of the setting in my .network
file has been taken into account, For example, it also defines a
static address for "c1" which is correctly set.

# networkctl status host0
● 2: host0
             Link File: n/a
          Network File: /etc/systemd/network/50-dhcp-server.network
                  Type: ether
                 State: routable (configured)
            HW Address: 36:1a:18:6b:19:52
                   MTU: 1500 (min: 68, max: 65535)
  Queue Length (Tx/Rx): 1/1
      Auto negotiation: no
                 Speed: 10Gbps
                Duplex: full
                  Port: tp
               Address: 44.0.0.1
                        fe80::341a:18ff:fe6b:1952
               Gateway: 44.0.0.1

May 07 01:56:00 node1 systemd-networkd[20]: host0: Addresses set
May 07 01:56:00 node1 systemd-networkd[20]: host0: Configuring route:
dst: n/a, src: n/a, gw: 44.0.0.1, p>
May 07 01:56:00 node1 systemd-networkd[20]: host0: Setting routes
May 07 01:56:00 node1 systemd-networkd[20]: host0: Received remembered
route: dst: n/a, src: n/a, gw: 44.>
May 07 01:56:00 node1 systemd-networkd[20]: host0: Routes set
May 07 01:56:02 node1 systemd-networkd[20]: host0: Remembering foreign
address: fe80::341a:18ff:fe6b:1952>
May 07 01:56:02 node1 systemd-networkd[20]: host0: Gained IPv6LL
May 07 01:56:02 node1 systemd-networkd[20]: host0: Discovering IPv6 routers
May 07 01:56:02 node1 systemd-networkd[20]: host0: Remembering route:
dst: fe80::341a:18ff:fe6b:1952/128,>
May 07 01:56:14 node1 systemd-networkd[20]: host0: State changed:
configuring -> configured

I also tried to remove
/usr/lib/systemd/network/80-container-host0.network because it's
unclear to me if it's completely overriden by my .network file or not.
According to the output of 'networkctl status' it seems so becuase
only my network file is listed but after reading systemd.network man
page, I'm really not sure. But without 80-container-host0.network it
doesn't work.

Thank you
-- 
Francis


More information about the systemd-devel mailing list