You are not logged in.
Hi community,
I'm working to make my home network IPv6 ready. However my Archlinux doesn't pick up DNS resolvers set via RA packets. I know the RAs are read by the client because it chooses an address in the advertised subnet. Just the DNS option is not inserted into /etc/resolv.conf.
Is it even possible to achieve what I want? I'm not sure which program is resposible for listening to RA packets. Maybe I'm lacking a daemon.
My client netctl profile looks like this:
Description='Connect to ethernet'
Interface=enp0s25
Connection=ethernet
IP=dhcp
DHCPReleaseOnStop=yes
IP6=stateless
A sample RA packet looks like this in wireshark:
Frame 20158: 136 bytes on wire (1088 bits), 136 bytes captured (1088 bits) on interface 0
Linux cooked capture
Internet Protocol Version 6, Src: fe80::46d9:e7ff:fe9f:8ee1 (fe80::46d9:e7ff:fe9f:8ee1), Dst: ff02::1 (ff02::1)
Internet Control Message Protocol v6
Type: Router Advertisement (134)
Code: 0
Checksum: 0x4d63 [correct]
[Checksum Status: Good]
Cur hop limit: 64
Flags: 0xc0, Managed address configuration, Other configuration, Prf (Default Router Preference): Medium
1... .... = Managed address configuration: Set
.1.. .... = Other configuration: Set
..0. .... = Home Agent: Not set
...0 0... = Prf (Default Router Preference): Medium (0)
.... .0.. = Proxy: Not set
.... ..0. = Reserved: 0
Router lifetime (s): 1800
Reachable time (ms): 0
Retrans timer (ms): 0
ICMPv6 Option (Prefix information : 2a02:168:7821:1::/64)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 64
Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
1... .... = On-link flag(L): Set
.1.. .... = Autonomous address-configuration flag(A): Set
..0. .... = Router address flag(R): Not set
...0 0000 = Reserved: 0
Valid Lifetime: 2592000
Preferred Lifetime: 604800
Reserved
Prefix: 2a02:168:7821:1:: (2a02:168:7821:1::)
ICMPv6 Option (Recursive DNS Server 2a02:168:7821:1::25)
Type: Recursive DNS Server (25)
Length: 3 (24 bytes)
Reserved
Lifetime: 600
Recursive DNS Servers: redacted-by-op.example (2a02:168:7821:1::25)
ICMPv6 Option (Source link-layer address : 44:d9:e7:9f:8e:e1)
Type: Source link-layer address (1)
Length: 1 (8 bytes)
Link-layer address: 44:d9:e7:9f:8e:e1
Last edited by aliena (2019-10-06 12:42:21)
Offline
As far as I know, you have to either let dhcpcd perform all ipv6 configuration or run rdnssd from [community]/ndisc6
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Online
Maybe you have conflicting network /dns management configurations, please post
$ systemctl list-unit-files --state=enabled
$ ls -lR /etc/systemd/system
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
I made it work with the ndisc6 tools, now the resolver is added correctly. Strange that this isn't mentioned on any wiki page. Thank you very much for that hint!
Is it always required to have this service running or is it more of a workaround?
For the record, here the requested outputs. I am not aware of any other network tool on my machine than netctl.
# systemctl list-unit-files --state=enabled
UNIT FILE STATE
org.cups.cupsd.path enabled
acpid.service enabled
autovt@.service enabled
bluetooth.service enabled
cronie.service enabled
cups-browsed.service enabled
dbus-org.bluez.service enabled
docker.service enabled
fancontrol.service enabled
getty@.service enabled
libvirtd.service enabled
loginspect.service enabled
netctl-sleep.service enabled
nftables.service enabled
nginx.service enabled
ntpd.service enabled
org.cups.cupsd.service enabled
postfix.service enabled
postgresql.service enabled
power_check.service enabled
rngd.service enabled
smartd.service enabled
sshd.service enabled
tor.service enabled
upower.service enabled
nix-daemon.socket enabled
org.cups.cupsd.socket enabled
virtlockd.socket enabled
virtlogd.socket enabled
remote-fs.target enabled
postfix-krbhelper.timer enabled
31 unit files listed.
# ls -lR /etc/systemd/system
/etc/systemd/system:
insgesamt 76
drwxr-xr-x 2 root root 4096 1. Jul 2015 bluetooth.target.wants
drwxr-xr-x 2 root root 4096 11. Sep 15:30 cronie.service.d
lrwxrwxrwx 1 root root 41 1. Jul 2015 dbus-org.bluez.service -> /usr/lib/systemd/system/bluetooth.service
drwxr-xr-x 2 root root 4096 6. Okt 14:24 default.target.wants
drwxr-xr-x 2 root root 4096 7. Mär 2018 fancontrol.service.d
drwxr-xr-x 2 root root 4096 22. Mär 2015 getty.target.wants
drwxr-xr-x 2 root root 4096 6. Aug 14:38 graphical.target.wants
-rw-r--r-- 1 root root 584 6. Mär 2016 libvirtd.service
drwxr-xr-x 2 root root 4096 6. Okt 14:10 multi-user.target.wants
-rw-r--r-- 1 root root 238 11. Mai 2018 netctl-auto-resume@.service
-rw-r--r-- 1 root root 167 24. Mär 2015 'netctl@wlp4s0\x2deth.service'
-rw-r--r-- 1 root root 201 18. Mai 13:09 postfix-krbhelper.service
-rw-r--r-- 1 root root 146 18. Mai 13:09 postfix-krbhelper.timer
drw-r--r-- 2 root root 4096 18. Mai 13:09 postfix@.service.d
-rw-r--r-- 1 root root 146 26. Mär 2016 power_check.service
drwxr-xr-x 2 root root 4096 5. Apr 2015 printer.target.wants
drwxr-xr-x 2 root root 4096 11. Mai 2018 sleep.target.wants
drwxr-xr-x 2 root root 4096 16. Mai 11:51 sockets.target.wants
drwxr-xr-x 2 root root 4096 19. Mai 10:54 timers.target.wants
drwxr-xr-x 2 root root 4096 11. Sep 15:31 unbound.service.d
/etc/systemd/system/bluetooth.target.wants:
insgesamt 0
lrwxrwxrwx 1 root root 41 1. Jul 2015 bluetooth.service -> /usr/lib/systemd/system/bluetooth.service
/etc/systemd/system/cronie.service.d:
insgesamt 4
-rw-r--r-- 1 root root 100 11. Sep 15:30 override.conf
/etc/systemd/system/default.target.wants:
insgesamt 0
/etc/systemd/system/fancontrol.service.d:
insgesamt 4
-rw-r--r-- 1 root root 46 7. Mär 2018 override.conf
/etc/systemd/system/getty.target.wants:
insgesamt 0
lrwxrwxrwx 1 root root 38 22. Mär 2015 getty@tty1.service -> /usr/lib/systemd/system/getty@.service
/etc/systemd/system/graphical.target.wants:
insgesamt 0
lrwxrwxrwx 1 root root 38 21. Mär 2016 upower.service -> /usr/lib/systemd/system/upower.service
/etc/systemd/system/multi-user.target.wants:
insgesamt 0
lrwxrwxrwx 1 root root 37 23. Mär 2015 acpid.service -> /usr/lib/systemd/system/acpid.service
lrwxrwxrwx 1 root root 38 11. Sep 15:30 cronie.service -> /usr/lib/systemd/system/cronie.service
lrwxrwxrwx 1 root root 44 16. Nov 2017 cups-browsed.service -> /usr/lib/systemd/system/cups-browsed.service
lrwxrwxrwx 1 root root 38 23. Sep 09:51 docker.service -> /usr/lib/systemd/system/docker.service
lrwxrwxrwx 1 root root 42 7. Mär 2018 fancontrol.service -> /usr/lib/systemd/system/fancontrol.service
lrwxrwxrwx 1 root root 36 12. Feb 2017 libvirtd.service -> /etc/systemd/system/libvirtd.service
lrwxrwxrwx 1 root root 42 15. Aug 18:09 loginspect.service -> /usr/lib/systemd/system/loginspect.service
lrwxrwxrwx 1 root root 44 4. Mai 2018 netctl-auto@wlp4s0.service -> /usr/lib/systemd/system/netctl-auto@.service
lrwxrwxrwx 1 root root 47 7. Apr 2015 netctl-ifplugd@enp0s25.service -> /usr/lib/systemd/system/netctl-ifplugd@.service
lrwxrwxrwx 1 root root 40 3. Mai 2018 nftables.service -> /usr/lib/systemd/system/nftables.service
lrwxrwxrwx 1 root root 37 25. Aug 09:55 nginx.service -> /usr/lib/systemd/system/nginx.service
lrwxrwxrwx 1 root root 36 23. Mär 2015 ntpd.service -> /usr/lib/systemd/system/ntpd.service
lrwxrwxrwx 1 root root 43 5. Apr 2015 org.cups.cupsd.path -> /usr/lib/systemd/system/org.cups.cupsd.path
lrwxrwxrwx 1 root root 39 18. Mai 13:22 postfix.service -> /usr/lib/systemd/system/postfix.service
lrwxrwxrwx 1 root root 42 2. Apr 2018 postgresql.service -> /usr/lib/systemd/system/postgresql.service
lrwxrwxrwx 1 root root 39 23. Mär 2016 power_check.service -> /etc/systemd/system/power_check.service
lrwxrwxrwx 1 root root 39 6. Okt 14:03 rdnssd@resolvconf-hook.service -> /usr/lib/systemd/system/rdnssd@.service
lrwxrwxrwx 1 root root 40 19. Apr 2015 remote-fs.target -> /usr/lib/systemd/system/remote-fs.target
lrwxrwxrwx 1 root root 36 2. Nov 2015 rngd.service -> /usr/lib/systemd/system/rngd.service
lrwxrwxrwx 1 root root 38 5. Mai 2018 smartd.service -> /usr/lib/systemd/system/smartd.service
lrwxrwxrwx 1 root root 36 12. Sep 2017 sshd.service -> /usr/lib/systemd/system/sshd.service
lrwxrwxrwx 1 root root 35 27. Nov 2015 tor.service -> /usr/lib/systemd/system/tor.service
/etc/systemd/system/postfix@.service.d:
insgesamt 4
-rw-r--r-- 1 root root 119 18. Mai 13:09 ansible-client.conf
/etc/systemd/system/printer.target.wants:
insgesamt 0
lrwxrwxrwx 1 root root 46 5. Apr 2015 org.cups.cupsd.service -> /usr/lib/systemd/system/org.cups.cupsd.service
/etc/systemd/system/sleep.target.wants:
insgesamt 0
lrwxrwxrwx 1 root root 47 11. Mai 2018 netctl-auto-resume@wlp4s0.service -> /etc/systemd/system/netctl-auto-resume@.service
lrwxrwxrwx 1 root root 44 14. Mär 2016 netctl-sleep.service -> /usr/lib/systemd/system/netctl-sleep.service
/etc/systemd/system/sockets.target.wants:
insgesamt 0
lrwxrwxrwx 1 root root 41 16. Mai 11:51 nix-daemon.socket -> /usr/lib/systemd/system/nix-daemon.socket
lrwxrwxrwx 1 root root 45 5. Apr 2015 org.cups.cupsd.socket -> /usr/lib/systemd/system/org.cups.cupsd.socket
lrwxrwxrwx 1 root root 40 12. Feb 2017 virtlockd.socket -> /usr/lib/systemd/system/virtlockd.socket
lrwxrwxrwx 1 root root 39 12. Feb 2017 virtlogd.socket -> /usr/lib/systemd/system/virtlogd.socket
/etc/systemd/system/timers.target.wants:
insgesamt 0
lrwxrwxrwx 1 root root 43 19. Mai 10:54 postfix-krbhelper.timer -> /etc/systemd/system/postfix-krbhelper.timer
/etc/systemd/system/unbound.service.d:
insgesamt 4
-rw-r--r-- 1 root root 97 11. Sep 15:31 override.conf
Last edited by aliena (2019-10-06 12:27:15)
Offline
The DNS server always has to be set with a userspace tool. If you use the IPv6 autoconfiguration built into the kernel, then you have to run an additional service like rdnssd. If you use a network manager like connman or networkmanager, then it should be built in I think. If you manage your IPv6 with dhcpcd (it understands both DHCPv6 as well as SLAAC), then it handles the DNS server as well.
Since most home networks are dual stack, clients receive DNS information via IPv4 DHCP which works well enough. Virtually all nameservers will return IPv6 responses even if the request is received via IPv4.
Last edited by progandy (2019-10-06 12:57:24)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Online