Re: RC3 trouble?
Roy Marples
Tue Nov 07 08:24:08 2017
On 07/11/2017 04:48, Neal P. Murphy wrote:
I got ip6tables working, and tried RC3, but there's little joy in Mudville. (I follow the list here, but I may have missed/forgotten some syntax and other changes.)
The main errors that caught my eye:
- unknown options
- wrong iaid on eth3 (I suspect it should be ...7d, but previous versions would only work with ...7a)
- parse error on ia_pd (?)
Per Smoothwall, eth0, eth1, eth2 are 'internal' nets, and eth3 is internet. ISP is Comcrash and has been happy to give me a /60 in the past.
I hope it's just that my config is outdated.
Neal
This conf worked well before (v6 and maybe early v7). I wrote a script that generates the .conf from a template; it uses data it finds in the system or sensible defaults for items not found.
----
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
# Some non-RFC compliant DHCP servers do not reply with this set.
# In this case, comment out duid and enable clientid above.
duid
# Persist interface configuration when dhcpcd exits.
persistent
# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit
# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Most distributions have NTP support.
option ntp_servers
# Respect the network MTU.
# Some interface drivers reset when changing the MTU so disabled by default.
#option interface_mtu
# A ServerID is required by RFC2131.
require dhcp_server_identifier
# Generate Stable Private IPv6 Addresses instead of hardware based ones
slaac private
# A hook script is provided to lookup the hostname if not set by the DHCP
# server, but it should not be run by default.
nohook lookup-hostname, hostname, resolv.conf, ntp.conf, timezone, wpa_supplicant
# Use smoothie's script
script /etc/rc.d/rc.update6red
Because you are forcing a script, there is no need to use the nohook
previous nohook directive. All that does is set up an env var to send to
dhcpcd-run-hooks.
allowinterfaces eth0 eth1 eth2 eth3
denyinterfaces lo ipsec0 ipsec1
debug
ipv6only
ipv6ra_own
ipv6ra_own_default
ipv6ra_own and ipv6ra_own_default are no longer options.
They are always on now if you want ipv6.
leasetime 31622400
Why the need to specify this?
nodhcp
nodhcp6
noipv6rs
logfile /var/log/dhcpcd6.log
interface eth0
iaid 4b:17:f2:7a
interface eth1
iaid 4b:17:f2:7b
interface eth2
iaid 4b:17:f2:7c
interface eth3
dhcp6
ipv6rs
iaid 4b:17:f2:7d
ia_na 4b:17:f2:7d
ia_pd 4b:17:f2:7a/2601:5ca:4280:170::/60 eth0/1/64 eth1/2/64 eth2/3/64
The last line, as reported by dhcpcd, is in conflict with eth0.
Just change the iaid for ia_pd to 1 and it will work fine.
ia_pd 1/2601:5ca:4280:170::/60 eth0/1/64 eth1/2/64 eth2/3/64
----
Here's the output of RC3:
----
unknown option: ipv6ra_own
unknown option: ipv6ra_own_default
dhcpcd-7.0.0-rc3 starting
unknown option: ipv6ra_own
unknown option: ipv6ra_own_default
unknown option: ipv6ra_own
unknown option: ipv6ra_own_default
unknown option: ipv6ra_own
unknown option: ipv6ra_own_default
unknown option: ipv6ra_own
unknown option: ipv6ra_own_default
eth3: if_disable_autolinklocal: Operation not supported
This is either newer headers than running kernel or you've disabled a
possible kernel setting to disallow auto generation of link-local ipv6
addresses.
eth0: executing `/etc/rc.d/rc.update6red' PREINIT
eth0: executing `/etc/rc.d/rc.update6red' CARRIER
eth1: executing `/etc/rc.d/rc.update6red' PREINIT
eth1: executing `/etc/rc.d/rc.update6red' NOCARRIER
eth2: executing `/etc/rc.d/rc.update6red' PREINIT
eth2: executing `/etc/rc.d/rc.update6red' CARRIER
eth3: executing `/etc/rc.d/rc.update6red' PREINIT
eth3: executing `/etc/rc.d/rc.update6red' CARRIER
DUID 00:01:00:01:21:92:aa:19:00:90:0b:17:f2:7d
eth0: IAID 4b:17:f2:7a
eth2: IAID 4b:17:f2:7c
eth3: IAID 4b:17:f2:7d
eth3: IAID 4b:17:f2:7a
eth3: IAID conflicts with one assigned to eth0
eth3: delaying IPv6 router solicitation for 0.8 seconds
eth3: reading lease `/var/db/dhcpcd/eth3.lease6'
eth3: soliciting a DHCPv6 lease
eth3: delaying SOLICIT6 (xid 0x7bd156), next in 0.3 seconds
eth1: waiting for carrier
eth3: broadcasting SOLICIT6 (xid 0x7bd156), next in 1.0 seconds
eth3: ADV 2001:558:6036:65:55fe:87a8:c66a:fc18/128 from fe80::201:5cff:fe8e:ea46
eth3: broadcasting REQUEST6 (xid 0xd69aac), next in 1.1 seconds
eth3: accepted reconfigure key
Nice!
Can you force the server to send a reconfigure? I don't have much of a
means of testing this myself.
eth3: REPLY6 received from fe80::201:5cff:fe8e:ea46
eth3: adding address 2001:558:6036:65:55fe:87a8:c66a:fc18/128
eth3: pltime 4054 seconds, vltime 4054 seconds
ipv6_addaddr1: Invalid argument
That's odd, dhcpcd should not moan with those values.
Could you try the latest HEAD in github please to see if by some chance
that's already fixed?
If not, could you email me /var/db/dhcpcd/eth3.lease6 off list please?
eth3: renew in 2027, rebind in 3243, expire in 4054 seconds
lo: adding reject route to 2601:5ca:4400:d65::/64
eth3: writing lease `/var/db/dhcpcd/eth3.lease6'
eth3: delegated prefix 2601:5ca:4400:d65::/64
eth0: invalid prefix 2601:5ca:4400:d65::/64 + 1/64: Numerical result out of range
eth2: invalid prefix 2601:5ca:4400:d65::/64 + 3/64: Numerical result out of range
These errors make sense.
You asked for a /60 but got a /64. As such you cannot delegate a /64 to
your other links.
Well, you *can* if you only delegate to one link with a SLA of 0, but
you have to explicity ask for that.
eth1: has no carrier, cannot delegate addresses
eth3: executing `/etc/rc.d/rc.update6red' BOUND6
..DHCP6 lease bound (BOUND6) and prefix delegated; update RED6 info
RTNETLINK answers: File exists
Guessing this error is from your script.
Roy
Archive administrator: postmaster@marples.name