Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.user > #246294 > unrolled thread

iwd + systemd-networkd + resolvconf wrinkles

Started byDavid Wright <deblis@lionunicorn.co.uk>
First post2022-03-14 02:30 +0100
Last post2022-03-23 16:40 +0100
Articles 10 on this page of 30 — 8 participants

Back to article view | Back to linux.debian.user


Contents

  iwd + systemd-networkd + resolvconf wrinkles David Wright <deblis@lionunicorn.co.uk> - 2022-03-14 02:30 +0100
    Re: iwd + systemd-networkd + resolvconf wrinkles Thomas Pircher <thp.debian@p5r.uk> - 2022-03-14 08:40 +0100
      Re: iwd + systemd-networkd + resolvconf wrinkles David Wright <deblis@lionunicorn.co.uk> - 2022-03-15 19:40 +0100
        Re: iwd + systemd-networkd + resolvconf wrinkles Thomas Pircher <thp.debian@p5r.uk> - 2022-03-17 13:40 +0100
          Re: iwd + systemd-networkd + resolvconf wrinkles David Wright <deblis@lionunicorn.co.uk> - 2022-03-18 06:00 +0100
            Re: iwd + systemd-networkd + resolvconf wrinkles Nicholas Geovanis <nickgeovanis@gmail.com> - 2022-03-18 20:30 +0100
              Re: iwd + systemd-networkd + resolvconf wrinkles David Wright <deblis@lionunicorn.co.uk> - 2022-03-19 16:40 +0100
    Re: iwd + systemd-networkd + resolvconf wrinkles Brian <ad44@cityscape.co.uk> - 2022-03-17 00:00 +0100
      Re: iwd + systemd-networkd + resolvconf wrinkles Stefan Monnier <monnier@iro.umontreal.ca> - 2022-03-17 15:00 +0100
        Re: iwd + systemd-networkd + resolvconf wrinkles Brian <ad44@cityscape.co.uk> - 2022-03-17 16:00 +0100
        Re: iwd + systemd-networkd + resolvconf wrinkles David Wright <deblis@lionunicorn.co.uk> - 2022-03-18 06:00 +0100
          Re: iwd + systemd-networkd + resolvconf wrinkles Stefan Monnier <monnier@iro.umontreal.ca> - 2022-03-18 13:50 +0100
      Re: iwd + systemd-networkd + resolvconf wrinkles David Wright <deblis@lionunicorn.co.uk> - 2022-03-18 06:00 +0100
        Re: iwd + systemd-networkd + resolvconf wrinkles Brian <ad44@cityscape.co.uk> - 2022-03-18 15:50 +0100
          Re: iwd + systemd-networkd + resolvconf wrinkles Charlie <taoquester@gmail.com> - 2022-03-19 00:40 +0100
            wpa_supplicant, was Re: iwd + systemd-networkd + resolvconf wrinkles David Wright <deblis@lionunicorn.co.uk> - 2022-03-23 05:30 +0100
              Re: wpa_supplicant, was Re: iwd + systemd-networkd + resolvconf  wrinkles Brian <ad44@cityscape.co.uk> - 2022-03-23 19:30 +0100
              Re: wpa_supplicant, was Re: iwd + systemd-networkd + resolvconf  wrinkles Brian <ad44@cityscape.co.uk> - 2022-03-24 17:20 +0100
    Re: iwd + systemd-networkd + resolvconf wrinkles Brian <ad44@cityscape.co.uk> - 2022-03-17 16:10 +0100
      Re: iwd + systemd-networkd + resolvconf wrinkles David Wright <deblis@lionunicorn.co.uk> - 2022-03-18 06:00 +0100
        Re: iwd + systemd-networkd + resolvconf wrinkles Brian <ad44@cityscape.co.uk> - 2022-03-18 15:50 +0100
    Re: iwd + systemd-networkd + resolvconf wrinkles RP <reyadmin@gmail.com> - 2022-03-17 18:10 +0100
    Re: iwd + systemd-networkd + resolvconf wrinkles Brian <ad44@cityscape.co.uk> - 2022-03-18 22:20 +0100
      Re: iwd + systemd-networkd + resolvconf wrinkles Brian <ad44@cityscape.co.uk> - 2022-03-19 13:40 +0100
        Re: iwd + systemd-networkd + resolvconf wrinkles Nicholas Geovanis <nickgeovanis@gmail.com> - 2022-03-19 16:40 +0100
          Re: iwd + systemd-networkd + resolvconf wrinkles Brian <ad44@cityscape.co.uk> - 2022-03-21 14:20 +0100
      Re: iwd + systemd-networkd + resolvconf wrinkles David Wright <deblis@lionunicorn.co.uk> - 2022-03-19 16:40 +0100
        Re: iwd + systemd-networkd + resolvconf wrinkles Brian <ad44@cityscape.co.uk> - 2022-03-19 20:00 +0100
          Re: iwd + systemd-networkd + resolvconf wrinkles Stella Ashburne <rewefie@gmx.com> - 2022-03-23 13:30 +0100
            Re: iwd + systemd-networkd + resolvconf wrinkles David Wright <deblis@lionunicorn.co.uk> - 2022-03-23 16:40 +0100

Page 2 of 2 — ← Prev page 1 [2]


#246421

FromBrian <ad44@cityscape.co.uk>
Date2022-03-18 15:50 +0100
Message-ID<E2m5r-2A4G-9@gated-at.bofh.it>
In reply to#246400
On Thu 17 Mar 2022 at 23:39:39 -0500, David Wright wrote:

> On Thu 17 Mar 2022 at 14:50:06 (+0000), Brian wrote:
> > On Sun 13 Mar 2022 at 20:04:06 -0500, David Wright wrote:
> > 
> > [...]
> > 
> > > By the end of all this, the link should be working, and a file
> > > like this will have been written (that only root can see):
> > > 
> > > # cat /var/lib/iwd/YourSSID.psk 
> > > [Security]
> > > PreSharedKey=abdcef0123456789…abdcef0123456789…abdcef0123456789
> > > Passphrase=yoursecretpassphrase
> > > #
> > 
> > However, brian (who is not in the netdev group) can do
> > 
> >   iwctl known-networks YourSSID forget
> > 
> > and /var/lib/iwd/YourSSID.psk is deleted.
> > 
> > This user can also successfully execute
> > 
> >   iwctl station wlan0 connect YourSSID
> > 
> > to bring about association with a WAP. Neither should be possible.
> 
> I have /read/ that security is handled through D-Bus, but I haven't
> followed this up because the above doesn't present a problem here.

Perhaps a problem would arise when there are untrusted users on the
machine. Having the network connection destroyed, accidentally or not,
is not my idea of fun.
 
> For example, /etc/dbus-1/system.d/org.freedesktop.ModemManager1.conf
> seems to be aimed at controlling a modem, where a user might otherwise
> be able to spend real money at someone else's expense. I guess Debian
> might provide something like that.
> 
> I /imagine/ that such a facility could be quite fine-grained, unlike
> plain netdev permissions. For example, allowing "connect"ions like the
> above, but only to pre-defined SSIDs, and disallowing reconfigurations
> like the "forget" above.
> 
> Then an /etc/default/iwd might define the privileged usernames for
> each operation, or point to a file defining such.

My uderstanding is that access to hardware should be handled by ACLs
(preferably) or group membership. For example, an ACL is used for my
audio card and scanner. wpasupplicant uses netdev group membership.
The idea of devolving such a facility to a message bus service does
not seem like the right path to take.

BTW, iwd in bullseye has dbus as a recommended package. It would be
interesting to know what part of iwd works without dbus. A quick
test here has iwd quitting when the dbus service is stopped.

-- 
Brian.

[toc] | [prev] | [next] | [standalone]


#246390

FromRP <reyadmin@gmail.com>
Date2022-03-17 18:10 +0100
Message-ID<E21Nn-2nZh-3@gated-at.bofh.it>
In reply to#246294
I just wanted to say thanks for the post and instructions. I've been 
using IWD on a different distro and wish that Debian will someday adopt 
it as its default.

[toc] | [prev] | [next] | [standalone]


#246431

FromBrian <ad44@cityscape.co.uk>
Date2022-03-18 22:20 +0100
Message-ID<E2saS-2DPk-7@gated-at.bofh.it>
In reply to#246294
On Sun 13 Mar 2022 at 20:04:06 -0500, David Wright wrote:

[...]

> Install iwd, and resolvconf if necessary. You may then need to reboot
> if the wifi interface has already been renamed by the kernel, ie if
> it's not wlan0. (With buster, there's a missing file that needs adding
> first; see below).

It is systemd/udev that renames the interface. This is standard
procedure. iwd decides it knows better and, no matter what, does
it. I have never met this sort of behavior with wpasupplicant.

So we will be more forceful and have

  net.ifnames=1

on GRUB's kernel command line. My choice is ignored by iwd. Why does
it not want an interface to be renamed by systemd/udev?

-- 
Brian.

[toc] | [prev] | [next] | [standalone]


#246456

FromBrian <ad44@cityscape.co.uk>
Date2022-03-19 13:40 +0100
Message-ID<E2Gxc-2MnY-11@gated-at.bofh.it>
In reply to#246431
On Fri 18 Mar 2022 at 20:57:38 +0000, Brian wrote:

> On Sun 13 Mar 2022 at 20:04:06 -0500, David Wright wrote:
> 
> [...]
> 
> > Install iwd, and resolvconf if necessary. You may then need to reboot
> > if the wifi interface has already been renamed by the kernel, ie if
> > it's not wlan0. (With buster, there's a missing file that needs adding
> > first; see below).
> 
> It is systemd/udev that renames the interface. This is standard
> procedure. iwd decides it knows better and, no matter what, does
> it. I have never met this sort of behavior with wpasupplicant.
> 
> So we will be more forceful and have
> 
>   net.ifnames=1
> 
> on GRUB's kernel command line. My choice is ignored by iwd. Why does
> it not want an interface to be renamed by systemd/udev?

Now sorted:

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=941652

Short story: iwd is faster than udev.

-- 
Brian.

[toc] | [prev] | [next] | [standalone]


#246467

FromNicholas Geovanis <nickgeovanis@gmail.com>
Date2022-03-19 16:40 +0100
Message-ID<E2Jln-2Oap-1@gated-at.bofh.it>
In reply to#246456

[Multipart message — attachments visible in raw view] — view raw

On Sat, Mar 19, 2022 at 7:33 AM Brian <ad44@cityscape.co.uk> wrote:

> On Fri 18 Mar 2022 at 20:57:38 +0000, Brian wrote:
>
> > On Sun 13 Mar 2022 at 20:04:06 -0500, David Wright wrote:
> >
> > [...]
> >
> > > Install iwd, and resolvconf if necessary. You may then need to reboot
> > > if the wifi interface has already been renamed by the kernel, ie if
> > > it's not wlan0. (With buster, there's a missing file that needs adding
> > > first; see below).
> >
> > It is systemd/udev that renames the interface. This is standard
> > procedure. iwd decides it knows better and, no matter what, does
> > it. I have never met this sort of behavior with wpasupplicant.
> >
> > So we will be more forceful and have
> >
> >   net.ifnames=1
> >
> > on GRUB's kernel command line. My choice is ignored by iwd. Why does
> > it not want an interface to be renamed by systemd/udev?
>
> Now sorted:
>
>   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=941652


Surprised to see that took 25 months to sort out.
And a little surprised to read this written by M. Biebl on 4 Nov 2019:
"So the mere fact that iwd was installed changed the way the interfaces
are named. You don't actually have to enable/start iwd."

....because that does not follow the so-called "Principle of Least
Surprise".

Short story: iwd is faster than udev.
>
> --
> Brian.
>
>

[toc] | [prev] | [next] | [standalone]


#246502

FromBrian <ad44@cityscape.co.uk>
Date2022-03-21 14:20 +0100
Message-ID<E3q70-3dXx-11@gated-at.bofh.it>
In reply to#246467
On Sat 19 Mar 2022 at 10:12:54 -0500, Nicholas Geovanis wrote:

> On Sat, Mar 19, 2022 at 7:33 AM Brian <ad44@cityscape.co.uk> wrote:
> 
> > On Fri 18 Mar 2022 at 20:57:38 +0000, Brian wrote:
> >
> > > On Sun 13 Mar 2022 at 20:04:06 -0500, David Wright wrote:
> > >
> > > [...]
> > >
> > > > Install iwd, and resolvconf if necessary. You may then need to reboot
> > > > if the wifi interface has already been renamed by the kernel, ie if
> > > > it's not wlan0. (With buster, there's a missing file that needs adding
> > > > first; see below).
> > >
> > > It is systemd/udev that renames the interface. This is standard
> > > procedure. iwd decides it knows better and, no matter what, does
> > > it. I have never met this sort of behavior with wpasupplicant.
> > >
> > > So we will be more forceful and have
> > >
> > >   net.ifnames=1
> > >
> > > on GRUB's kernel command line. My choice is ignored by iwd. Why does
> > > it not want an interface to be renamed by systemd/udev?
> >
> > Now sorted:
> >
> >   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=941652
> 
> 
> Surprised to see that took 25 months to sort out.
> And a little surprised to read this written by M. Biebl on 4 Nov 2019:
> "So the mere fact that iwd was installed changed the way the interfaces
> are named. You don't actually have to enable/start iwd."
> 
> ....because that does not follow the so-called "Principle of Least
> Surprise".

Upstrem iwd has decided on the direction it wants to take and, by
closing the bug report, so has Debian. There seems little point in
pursuing it further via those channels.

I have limited skill with systemd but devised a service to rename
the interface and integrate with ifupdown.

 [Unit]
 Description=Rename wlan0. Use ifupdown.
 Requires=iwd.service
 After=iwd.service

 [Service]
 ExecStartPre=/usr/bin/sleep 2
 ExecStartPre=/sbin/ip link set wlan0 down ; /sbin/ip link set wlan0 name wlx74ea3a93adab ; /sbin/ip link set wlx74ea3a93adab up
 ExecStart=/sbin/ifup wlx74ea3a93adab

 [Install]
 WantedBy=multi-user.target

/e/n/i can now be used as originally written.

-- 
Brian.

[toc] | [prev] | [next] | [standalone]


#246465

FromDavid Wright <deblis@lionunicorn.co.uk>
Date2022-03-19 16:40 +0100
Message-ID<E2Jln-2Oap-5@gated-at.bofh.it>
In reply to#246431
On Fri 18 Mar 2022 at 20:57:38 (+0000), Brian wrote:
> On Sun 13 Mar 2022 at 20:04:06 -0500, David Wright wrote:
> 
> [...]
> 
> > Install iwd, and resolvconf if necessary. You may then need to reboot
> > if the wifi interface has already been renamed by the kernel, ie if
> > it's not wlan0. (With buster, there's a missing file that needs adding
> > first; see below).
> 
> It is systemd/udev that renames the interface.

Sorry, I was paraphrasing my notes and accidentally missed a bit out.
It should have said: "if the wifi interface has already been renamed
from the kernel's name", whereupon the  id est  makes sense.

> This is standard procedure.

I would say no more than that systemd and udev have reached a truce
on how and what to rename an interface to.

> iwd decides it knows better and, no matter what, does
> it. I have never met this sort of behavior with wpasupplicant.
> 
> So we will be more forceful and have
> 
>   net.ifnames=1
> 
> on GRUB's kernel command line. My choice is ignored by iwd. Why does
> it not want an interface to be renamed by systemd/udev?

https://iwd.wiki.kernel.org/interface_lifecycle

explains iwd's philosophy on interfaces, and the last section covers
why it's not desirable for udev to attempt to rename them.

Cheers,
David.

[toc] | [prev] | [next] | [standalone]


#246468

FromBrian <ad44@cityscape.co.uk>
Date2022-03-19 20:00 +0100
Message-ID<E2MsV-2PYm-5@gated-at.bofh.it>
In reply to#246465
On Sat 19 Mar 2022 at 10:15:45 -0500, David Wright wrote:

> On Fri 18 Mar 2022 at 20:57:38 (+0000), Brian wrote:
> > On Sun 13 Mar 2022 at 20:04:06 -0500, David Wright wrote:
> > 
> > [...]
> > 
> > > Install iwd, and resolvconf if necessary. You may then need to reboot
> > > if the wifi interface has already been renamed by the kernel, ie if
> > > it's not wlan0. (With buster, there's a missing file that needs adding
> > > first; see below).
> > 
> > It is systemd/udev that renames the interface.
> 
> Sorry, I was paraphrasing my notes and accidentally missed a bit out.
> It should have said: "if the wifi interface has already been renamed
> from the kernel's name", whereupon the  id est  makes sense.

Indeed it does.
 
> > This is standard procedure.
> 
> I would say no more than that systemd and udev have reached a truce
> on how and what to rename an interface to.

:)

> > iwd decides it knows better and, no matter what, does
> > it. I have never met this sort of behavior with wpasupplicant.
> > 
> > So we will be more forceful and have
> > 
> >   net.ifnames=1
> > 
> > on GRUB's kernel command line. My choice is ignored by iwd. Why does
> > it not want an interface to be renamed by systemd/udev?
> 
> https://iwd.wiki.kernel.org/interface_lifecycle
> 
> explains iwd's philosophy on interfaces, and the last section covers
> why it's not desirable for udev to attempt to rename them.

The link you give, the Debian bug report and the README.Debian in
unstable's iwd package all provide excellent information.

In truth, it is not a biggie for my intended use of iwd on some
non-roaming machines, although it did break my /e/n/i. A couple of
edits fixed that.

-- 
Brian.

[toc] | [prev] | [next] | [standalone]


#246561

FromStella Ashburne <rewefie@gmx.com>
Date2022-03-23 13:30 +0100
Message-ID<E48hI-3Ezz-7@gated-at.bofh.it>
In reply to#246468
Mon cheri

> Sent: Sunday, March 20, 2022 at 2:40 AM
> From: "Brian" <ad44@cityscape.co.uk>
> To: debian-user@lists.debian.org
> Subject: Re: iwd + systemd-networkd + resolvconf wrinkles
>
> In truth, it is not a biggie for my intended use of iwd on some
> non-roaming machines, although it did break my /e/n/i. A couple of
> edits fixed that.
>

Would you like to elaborate what stuff was broken in your /e/n/i ?

Best regards.

Stella

[toc] | [prev] | [next] | [standalone]


#246567

FromDavid Wright <deblis@lionunicorn.co.uk>
Date2022-03-23 16:40 +0100
Message-ID<E4bfz-3Gju-5@gated-at.bofh.it>
In reply to#246561
On Wed 23 Mar 2022 at 13:06:12 (+0100), Stella Ashburne wrote:
> From: "Brian" <ad44@cityscape.co.uk>
> >
> > In truth, it is not a biggie for my intended use of iwd on some
> > non-roaming machines, although it did break my /e/n/i. A couple of
> > edits fixed that.
> 
> Would you like to elaborate what stuff was broken in your /e/n/i ?

You've already presented us with a stanza:

# The primary network interface
allow-hotplug wlp7s0
iface wlp7s0 inet static
        wpa-ssid JupiterRising
        wpa-psk (a long string of alphanumeric characters)
        address 192.168.1.99/24
        gateway 192.168.1.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 1.1.1.1 8.8.8.8

Were you to install iwd on bullseye, udev would no longer rename
the wlan0 interface to wlp7s0, and the stanza would break. What's
unusual is that you don't have to configure iwd to run, only to
install it. The problem is caused by the mere presence of the file
/etc/systemd/network/80-iwd.link in package iwd.

Cheers,
David.

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | linux.debian.user


csiph-web