You are not logged in.

#1 2019-10-09 08:06:12

philipp
Member
Registered: 2018-12-14
Posts: 10

wpa_supplicant / systemd-resolved / dhcpcd — wrong nameserver

Based on a fresh Arch install and following the docs. There is

# /etc/wpa_supplicant/wpa_supplicant-wlan0.conf

ctrl_interface=/run/wpa_supplicant
# ctrl_interface_group=wheel
update_config=1

ap_scan=1

country=DE

network={
        ssid="XXX"
        psk=xxx
        priority=1
}

After the first boot:

systemctl enable wpa_supplicant@wlan0
systemctl enable dhcpcd@wlan0
systemctl disable netctl

After reboot

# systemctl --type=service

dbus.service                           loaded active running D-Bus System Message Bus                                                     
dhcpcd.service                         loaded active running dhcpcd on all interfaces                                                     
dhcpcd@wlan0.service                   loaded active running dhcpcd on wlan0                                                              
getty@tty1.service                     loaded active running Getty on tty1                                                                
haveged.service                        loaded active running Entropy Daemon based on the HAVEGE algorithm                                 
kmod-static-nodes.service              loaded active exited  Create list of static device nodes for the current kernel                    
ldconfig.service                       loaded active exited  Rebuild Dynamic Linker Cache                                                 
lvm2-lvmetad.service                   loaded active running LVM2 metadata daemon                                                         
lvm2-monitor.service                   loaded active exited  Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
sshd.service                           loaded active running OpenSSH Daemon                                                               
systemd-journal-catalog-update.service loaded active exited  Rebuild Journal Catalog                                                      
systemd-journal-flush.service          loaded active exited  Flush Journal to Persistent Storage                                          
systemd-journald.service               loaded active running Journal Service                                                              
systemd-logind.service                 loaded active running Login Service                                                                
systemd-modules-load.service           loaded active exited  Load Kernel Modules                                                          
systemd-random-seed.service            loaded active exited  Load/Save Random Seed                                                        
systemd-remount-fs.service             loaded active exited  Remount Root and Kernel File Systems                                         
systemd-resolved.service               loaded active running Network Name Resolution                                                      
systemd-sysctl.service                 loaded active exited  Apply Kernel Variables                                                       
systemd-sysusers.service               loaded active exited  Create System Users                                                          
systemd-timesyncd.service              loaded active running Network Time Synchronization                                                 
systemd-tmpfiles-setup-dev.service     loaded active exited  Create Static Device Nodes in /dev                                           
systemd-tmpfiles-setup.service         loaded active exited  Create Volatile Files and Directories                                        
systemd-udev-trigger.service           loaded active exited  udev Coldplug all Devices                                                    
systemd-udevd.service                  loaded active running udev Kernel Device Manager                                                   
systemd-update-done.service            loaded active exited  Update is Completed                                                          
systemd-update-utmp.service            loaded active exited  Update UTMP about System Boot/Shutdown                                       
systemd-user-sessions.service          loaded active exited  Permit User Sessions                                                         
user-runtime-dir@0.service             loaded active exited  User Runtime Directory /run/user/0                                           
user-runtime-dir@1000.service          loaded active exited  User Runtime Directory /run/user/1000                                        
user@0.service                         loaded active running User Manager for UID 0                                                       
user@1000.service                      loaded active running User Manager for UID 1000                                                    
wpa_supplicant@wlan0.service           loaded active running WPA supplicant daemon (interface-specific version)

Than

# cat /etc/resolv.conf

# Generated by resolvconf
domain fritz.box
nameserver 192.168.1.1

what does not work. If the first line is removed, it works. But If I run the following

systemctl restart systemd-resolved

cat /etc/resolv.conf

# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients directly to
# all known uplink DNS servers. This file lists all configured search domains.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.

nameserver 1.1.1.1
nameserver 9.9.9.10
nameserver 8.8.8.8
# Too many DNS servers configured, the following entries may be ignored.
nameserver 2606:4700:4700::1111
nameserver 2620:fe::10
nameserver 2001:4860:4860::8888

The DNS resolution works, but it does not use the nameserver from the wireless configuration.

Seams that two services cancel out each other, but waht can I do to fix that?

Offline

#2 2019-10-09 11:01:28

WSDMatty
Member
Registered: 2019-08-27
Posts: 22

Re: wpa_supplicant / systemd-resolved / dhcpcd — wrong nameserver

What nameserver in the wireless configuration? There is nothing in wpa_supplicant declaring a nameserver?
Is the system acting as a router? You do not need dhcpd to -get- a name, only to give them out.
Is there a particular reason you're using wpa_supplicant bare vs through a network manager?

Last edited by WSDMatty (2019-10-09 11:02:15)

Offline

#3 2019-10-09 11:09:46

progandy
Member
Registered: 2012-05-17
Posts: 5,190

Re: wpa_supplicant / systemd-resolved / dhcpcd — wrong nameserver

WSDMatty wrote:

You do not need dhcpd to -get- a name, only to give them out.

There is no mention of dhcpd, only the client dhcpcd


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#4 2019-10-09 11:14:33

philipp
Member
Registered: 2018-12-14
Posts: 10

Re: wpa_supplicant / systemd-resolved / dhcpcd — wrong nameserver

wpa_supplicant is used »bare« because this is for an embedded system, so no profiles or anything needs to be managed, if a network is available the system should connect, that's all. Even I am not an expert, as far as I know, the nameserver to use is given by the wireless network, which is 192.168.1.1 in this very case. So /etc/resolv.conf should be updated whenever the wireless network changes. The strange thing here is, that the nameserver included in /etc/resolv.conf is right, but not working anyway.

Offline

#5 2019-10-09 11:26:46

progandy
Member
Registered: 2012-05-17
Posts: 5,190

Re: wpa_supplicant / systemd-resolved / dhcpcd — wrong nameserver

I suggest you disable systemd-resolved. I don't think you need any of its features here.


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#6 2019-10-09 11:37:48

WSDMatty
Member
Registered: 2019-08-27
Posts: 22

Re: wpa_supplicant / systemd-resolved / dhcpcd — wrong nameserver

progandy wrote:
WSDMatty wrote:

You do not need dhcpd to -get- a name, only to give them out.

There is no mention of dhcpd, only the client dhcpcd

I misread. That's my mistake.

Offline

#7 2019-10-09 11:58:34

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,523
Website

Re: wpa_supplicant / systemd-resolved / dhcpcd — wrong nameserver

I also don't think you should have dhcpcd.service and dhcpcd@wlan0.service both enabled - pick one.  And is your interface really named wlan0?


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#8 2019-10-14 07:29:59

philipp
Member
Registered: 2018-12-14
Posts: 10

Re: wpa_supplicant / systemd-resolved / dhcpcd — wrong nameserver

So I was digging into this but could not find out why the approach described above did not work. However, I managed to set it up using the instructions described here. I would really be interested about the why, even though it is working now…

Offline

Board footer

Powered by FluxBB