Re: dhcpcd and consumer broadband connections
Daniel Corbe
Wed Jan 01 04:05:09 2020
Hi all,
Sorry for the delayed response. Roy's suggestion, along with adding
slaac private under directly underneath the interface config fixed my
issue. Though I'm not really sure if relocating slaac private in my
config had any actual affect.
# Use the interface connected to WAN
interface eth1
ipv6rs # enable routing solicitation get the default IPv6 route
ipv6ra_autoconf
iaid 1
ia_pd 1/::/62 eth2/0/64
ia_na
slaac private
Best,
Daniel
On Fri, Dec 27, 2019 at 9:59 AM Roy Marples <roy@xxxxxxxxxxxx> wrote:
>
> Hi Daniel
>
> On 22/12/2019 07:11, Daniel Corbe wrote:
> > I've got a bit of a situation I'm stuck on and I'd appreciate any
> > guidance anyone has to offer on this.
> >
> > I have a Comcast cable modem. eth1 is my connection to the cable
> > modem and eth2 is my LAN.
> >
> > When I let dhcpcd do its thing without specifying any
> > interface-specific configuration, I get an auto-configured address on
> > my outside interface:
> >
> > router:~# ifconfig eth1
> > eth1 Link encap:Ethernet HWaddr 18:E8:29:4C:4C:52
> > inet addr:73.57.99.182 Bcast:255.255.255.255 Mask:255.255.254.0
> > inet6 addr: 2001:558:6030:7c:38e8:d8d8:7e9e:730a/128 Scope:Global
> > inet6 addr: fe80::1ae8:29ff:fe4c:4c52/64 Scope:Link
> > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> > RX packets:2385 errors:0 dropped:0 overruns:0 frame:0
> > TX packets:2539 errors:0 dropped:0 overruns:0 carrier:0
> > collisions:0 txqueuelen:1000
> > RX bytes:894141 (873.1 KiB) TX bytes:650792 (635.5 KiB)
> >
> > However, the moment I add any interface-specific configuration, the
> > autoconfigure address on the outside interface goes away. However, I
> > do actually get my prefix and it gets put on the correct interface:
> >
> > router:~# ifconfig eth1
> > eth1 Link encap:Ethernet HWaddr 18:E8:29:4C:4C:52
> > inet addr:73.57.99.182 Bcast:255.255.255.255 Mask:255.255.254.0
> > inet6 addr: fe80::1ae8:29ff:fe4c:4c52/64 Scope:Link
> > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> > RX packets:19299 errors:0 dropped:0 overruns:0 frame:0
> > TX packets:17034 errors:0 dropped:0 overruns:0 carrier:0
> > collisions:0 txqueuelen:1000
> > RX bytes:7641535 (7.2 MiB) TX bytes:4799347 (4.5 MiB)
> >
> > router:~# ifconfig eth2
> > eth2 Link encap:Ethernet HWaddr 18:E8:29:4C:4C:53
> > inet addr:10.0.0.1 Bcast:0.0.0.0 Mask:255.255.255.0
> > inet6 addr: 2601:588:c000:3a9::1/64 Scope:Global
> > inet6 addr: fe80::1ae8:29ff:fe4c:4c53/64 Scope:Link
> > inet6 addr: fe80::b35f:254c:58af:66e1/64 Scope:Link
> > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> > RX packets:18210 errors:0 dropped:0 overruns:0 frame:0
> > TX packets:18612 errors:0 dropped:0 overruns:0 carrier:0
> > collisions:0 txqueuelen:1000
> > RX bytes:5040165 (4.8 MiB) TX bytes:7602467 (7.2 MiB)
> >
> > This unfortunately causes IPv6 to stop working completely:
> >
> > router:~# ping6 www.google.com
> > PING www.google.com (2607:f8b0:4008:803::2004): 56 data bytes
> > ping6: sendto: Network unreachable
> >
> > I'm pretty sure the problem is Comcast doesn't use link-local
> > addresses for routing and are expecting me to continue to carry the
> > autoconfigured address.
> >
> > Here's my running config:
> >
> > router:~# cat /etc/dhcpcd.conf
> > # A sample configuration for dhcpcd.
> > # See dhcpcd.conf(5) for details.
> >
> > # Allow users of this group to interact with dhcpcd via the control socket.
> > #controlgroup wheel
> >
> > # Inform the DHCP server of our hostname for DDNS.
> > hostname
> >
> > # Use the hardware address of the interface for the Client ID.
> > #clientid
> > # or
> > # 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
> > # Respect the network MTU. This is applied to DHCP routes.
> > option interface_mtu
> >
> > # Most distributions have NTP support.
> > #option ntp_servers
> >
> > # A ServerID is required by RFC2131.
> > require dhcp_server_identifier
> >
> > # Generate SLAAC address using the Hardware Address of the interface
> > #slaac hwaddr
> > # OR generate Stable Private IPv6 Addresses based from the DUID
> > slaac private
> >
> > # IPv6 Only
> > #ipv6only
> >
> > # Wait for IP before forking to background
> > waitip 6
> >
> > # Use the interface connected to WAN
> > interface eth1
> > ipv6rs # enable routing solicitation get the default IPv6 route
> > ipv6ra_autoconf
> > iaid 1
> > ia_pd 1/::/62 eth2/0/64
>
> The issue is with your configuartion :)
> Because you have specificall requested a DHCP6 address, it overrides any default
> as suggested by dhcpcd or the IPv6 router.
>
> Try this:
>
> interface eth1
> ipv6rs # enable routing solicitation get the default IPv6 route
> ipv6ra_autoconf
> ia_pd 1/::/62 eth2/0/64
> ia_na 1
>
> Note that the first two entries are on by default and you haven't disabled them
> in the config so you could remove them.
>
> Roy
Archive administrator: postmaster@marples.name