Closed octavsly closed 9 months ago
I'm not sure what your expectation is here.
With this config, new_domain_name_servers will be set to your value for the hooks to use but nohook resolv.conf
will stop it from being written.
My expectation is that /etc/resolv.conf is not touched.
Since I could not stop dhcpcd to overwrite the resolv.conf I tried to force the DNS. This did not work either.
/etc/resolv.conf is always written with the information from the DHCPv6 server...
Maybe some other hook is being called or some other program is doing it?
I just tested and with nohook resolv.conf
the dhcpcd supplied resolv.conf script does nothing.
Do you see at the top of the modifed resolv.conf file # Generated by dhcpcd
?
Do you have resolvconf installed? If so, what is the output of resolvconf -l
?
# Generated by dhcpcd from ppp0.dhcp6
# /etc/resolv.conf.head can replace this line
nameserver 2a02:a47f:e000::53
nameserver 2a02:a47f:e000::54
# /etc/resolv.conf.tail can replace this line
resolvconf -l
-bash: resolvconf: command not found
The call is dhcpcd -6 ppp0
Can you apply this patch to dhcpcd-run-hooks.in please and let me know the results?
--- a/hooks/dhcpcd-run-hooks.in
+++ b/hooks/dhcpcd-run-hooks.in
@@ -341,6 +341,7 @@ do
case "$hook" in
*/*~) continue;;
esac
+ echo "Testing hook $hook with skips $skip_hooks"
for skip in $skip_hooks; do
case "$hook" in
*/"$skip") continue 2;;
@@ -349,6 +350,7 @@ do
esac
done
if [ -f "$hook" ]; then
+ echo "Running hook $hook"
. "$hook"
fi
done
I get this sample output:
Testing hook /etc/dhcpcd.enter-hook with skips resolv.conf
Testing hook /libexec/dhcpcd-hooks/01-test with skips resolv.conf
Running hook /libexec/dhcpcd-hooks/01-test
Testing hook /libexec/dhcpcd-hooks/20-resolv.conf with skips resolv.conf
Testing hook /libexec/dhcpcd-hooks/30-hostname with skips resolv.conf
Running hook /libexec/dhcpcd-hooks/30-hostname
Testing hook /libexec/dhcpcd-hooks/50-ntp.conf with skips resolv.conf
Running hook /libexec/dhcpcd-hooks/50-ntp.conf
Testing hook /etc/dhcpcd.exit-hook with skips resolv.conf
Running hook /etc/dhcpcd.exit-hook
You can see that the 20-resolv.conf hook script is not run
Interesting result, it looks like the skip is missing for some steps... :
dhcpcd-10.0.3 starting
DUID 00:01:00:01:10:4a:d3:b5:00:00:b4:9c:94:a3
Testing hook /etc/dhcpcd.enter-hook with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/01-test with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/01-test
Testing hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/30-hostname with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/30-hostname
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf
Testing hook /etc/dhcpcd.exit-hook with skips resolv.conf
Testing hook /etc/dhcpcd.enter-hook with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/01-test with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/01-test
Testing hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/30-hostname with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/30-hostname
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf
Testing hook /etc/dhcpcd.exit-hook with skips resolv.conf
ppp0: IAID 70:70:70:30
ppp0: IA type 25 IAID 00:00:00:02
ppp0: rebinding prior DHCPv6 lease
breeurope: activating for delegation
Testing hook /etc/dhcpcd.enter-hook with skips
Testing hook /lib/dhcpcd/dhcpcd-hooks/01-test with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/01-test
Testing hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/30-hostname with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/30-hostname
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf
Testing hook /etc/dhcpcd.exit-hook with skips
Testing hook /etc/dhcpcd.enter-hook with skips
Testing hook /lib/dhcpcd/dhcpcd-hooks/01-test with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/01-test
Testing hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/30-hostname with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/30-hostname
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf
Testing hook /etc/dhcpcd.exit-hook with skips
breeurope: IAID c5:ad:99:22
ppp0: REPLY6 received from fe80::9217:3fff:feb7:70a1
ppp0: renew in 86400, rebind in 138240, expire in 259200 seconds
lo: adding reject route to 2a02:a46e:c4a8::/48
ppp0: delegated prefix 2a02:a46e:c4a8::/48
breeurope: adding address 2a02:a46e:c4a8::1/64
Testing hook /etc/dhcpcd.enter-hook with skips
Testing hook /lib/dhcpcd/dhcpcd-hooks/01-test with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/01-test
Testing hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/30-hostname with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/30-hostname
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf with skips
Running hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf
Testing hook /etc/dhcpcd.exit-hook with skips
breeurope: adding route to 2a02:a46e:c4a8::/64
Testing hook /etc/dhcpcd.enter-hook with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/01-test with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/01-test
Testing hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/30-hostname with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/30-hostname
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf
Testing hook /etc/dhcpcd.exit-hook with skips resolv.conf
forked to background, child pid 15237
Interesting. Can you please attach your full dhcpcd.conf or email it to me at roy@marples.name please?
I think I know what's going on now. Are you running dhcpcd specifically on the ppp0 interface? Can you add this to /etc/dhcpcd.enter-hook please?
echo "reason $reason interface $interface"
The call is : $> dhcpcd -6 ppp0
I will add the line and come back with the results.
@octavsly really sorry for the delay, finding the time for this has been problematic.
Anway, I think I have the problem fixed. Can you test the above patch please?
No problem. Everybody is busy with a lot of things. I applied the patch on gentoo 10.0.5-r1 version. It seems to work. After putting back the echo's I get :
dhcpcd-10.0.5 starting
spawned manager process on PID 27838
DUID 00:01:00:01:10:4a:d3:b5:00:00:b4:9c:94:a3
ppp0: executing: /lib/dhcpcd/dhcpcd-run-hooks PREINIT
Testing hook /etc/dhcpcd.enter-hook with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/01-test with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/01-test
Testing hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/30-hostname with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/30-hostname
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf
Testing hook /etc/dhcpcd.exit-hook with skips resolv.conf
ppp0: executing: /lib/dhcpcd/dhcpcd-run-hooks CARRIER
Testing hook /etc/dhcpcd.enter-hook with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/01-test with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/01-test
Testing hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/30-hostname with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/30-hostname
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf
Testing hook /etc/dhcpcd.exit-hook with skips resolv.conf
ppp0: IAID 70:70:70:30
ppp0: IA type 25 IAID 00:00:00:02
ppp0: reading lease: /var/lib/dhcpcd/ppp0.lease6
ppp0: rebinding prior DHCPv6 lease
ppp0: delaying REBIND6 (xid 0x0c4b0e), next in 2.1 seconds
breeurope: activating for delegation
breeurope: executing: /lib/dhcpcd/dhcpcd-run-hooks PREINIT
Testing hook /etc/dhcpcd.enter-hook with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/01-test with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/01-test
Testing hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/30-hostname with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/30-hostname
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf
Testing hook /etc/dhcpcd.exit-hook with skips resolv.conf
breeurope: executing: /lib/dhcpcd/dhcpcd-run-hooks CARRIER
Testing hook /etc/dhcpcd.enter-hook with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/01-test with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/01-test
Testing hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/30-hostname with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/30-hostname
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf
Testing hook /etc/dhcpcd.exit-hook with skips resolv.conf
breeurope: IAID c5:ad:99:22
ppp0: multicasting REBIND6 (xid 0x0c4b0e), next in 1.0 seconds
ppp0: REPLY6 received from fe80::9217:3fff:feb7:70a1
ppp0: renew in 86400, rebind in 138240, expire in 259200 seconds
lo: adding reject route to 2a02:a46e:c4a8::/48
ppp0: writing lease: /var/lib/dhcpcd/ppp0.lease6
ppp0: delegated prefix 2a02:a46e:c4a8::/48
breeurope: adding address 2a02:a46e:c4a8::1/64
breeurope: pltime 172800 seconds, vltime 259200 seconds
breeurope: executing: /lib/dhcpcd/dhcpcd-run-hooks DELEGATED6
Testing hook /etc/dhcpcd.enter-hook with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/01-test with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/01-test
Testing hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/30-hostname with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/30-hostname
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf
Testing hook /etc/dhcpcd.exit-hook with skips resolv.conf
breeurope: adding route to 2a02:a46e:c4a8::/64
ppp0: executing: /lib/dhcpcd/dhcpcd-run-hooks REBIND6
Testing hook /etc/dhcpcd.enter-hook with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/01-test with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/01-test
Testing hook /lib/dhcpcd/dhcpcd-hooks/20-resolv.conf with skips resolv.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/30-hostname with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/30-hostname
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-ntp.conf
Testing hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf with skips resolv.conf
Running hook /lib/dhcpcd/dhcpcd-hooks/50-yp.conf
Testing hook /etc/dhcpcd.exit-hook with skips resolv.conf
forked to background
# no nohook since we do not want the dns to be touched
nohook resolv.conf
interface ppp0
debug
ia_pd 2 breeurope/0
# resolv.conf is still overidden. Try hard-coding DNS servers
static domain_name_servers=192.168.1.1 xxxx:xxxx:xxxx::53
With the above nohook option, the /etc/resolv.conf is unexplainably written. Furthermore the defined static DNS server is not appearing in /etc/resolv.conf !
Gentoo net-misc/dhcpcd-10.0.3