Hi,
On 16/04/2025 17:41, Hugo Osvaldo Barrera wrote:
I'm using dhcp6leased to request IPv6 prefixes from my ISP. Interfaces
are properly assigned an IPv6 address as are downstream clients.
However, the upstream link (e.g.: the one to my ISP) has no default
route, and dhcp6leased is not assigning one, so my network is isolated
and cannot reach the public Internet.
**How can I debug why dhcp6leased is not assigning a default route to my
upstream interface?**
on IPv6, you will never get a default route via DHCPv6. It's by design.
IPv6 nodes learn prefix information via router advertisement. The latter
is a type of ICMP packet sent by routers. That's why strictly speaking
you don't need a DHCP server on IPv6.
So your router will not necessarily implement a dhcp function but it
will always send router advertisements.
RFC4861[1] has more details.
1. https://datatracker.ietf.org/doc/html/rfc4861
Below are finer details of my setup:
My ISP's published documentation indicates:
- VLAN = 6 with priority P-bit = 1
- PPPoE via VLAN 6 (802.1q).
- PPPoE authentication PAP with a username and password (e.g.:
internet/internet).
- Maximum packet size (mtu) 1500 bytes (rfc4638).
- Obtain IPv4 address + DNS servers via PPPoE
- Obtain IPv6 address range + DNS servers (IPv6) via DHCPv6-PD request
(in PPPoE). Use one address from range for router.
My interface configurations are as follows:
# cat hostname.igc4
description "WAN Interface"
up
# cat hostname.vlan0
parent igc4
vnetid 6
up
# cat hostname.pppoe0
inet 0.0.0.0 255.255.255.255 NONE
dest 0.0.0.1
inet6 autoconf
pppoedev vlan0
authproto pap
authname 'internet'
authkey 'internet'
!/sbin/route add default -ifp pppoe0 0.0.0.1
according to pppoe(4) you are missing something like
!/sbin/route add -inet6 default -ifp pppoe0 fe80::%pppoe0
At this point, your internal router should have IPv6 configured and a
list of prefixes it can reach. You can check with:
route -n show inet6
or only for the default route
route -n get ::/0
> # cat dhcp6leased.conf
> request prefix delegation on pppoe0 for { pppoe0/64 vport0/64 }
I think
dhcp6leasectl -l pppoe0
should display the configured lease
Just for curiosity. Do you know the prefix size assigned by your ISP?
If everything is fine, you can proceed with the assignation of IPv6 to
your LAN.
You will configure your LAN interface first itself.
0. Enable IPv6 forwarding "net.inet6.ip6.forwarding=1"
1. You select 1x/64 prefix among what you received from your delegation
2. You manually assign 1 address to your LAN interface
3. You configure rad (from /etc/examples/rad.conf you can start with
just one line)
[...]
# cat rad.conf
interface pppoe0 {
You should not use rad on your WAN interface : pppoe .
It is meant for your LAN interface(s) such as vport0.
Just remove the block "interface pppoe0" from rad.conf .
--
Willy Manga