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?**
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
up
For this last, I've also tried with no `inet6` directive, as well as
`inet6 eui64`.
# cat dhcp6leased.conf
request prefix delegation on pppoe0 for { pppoe0/64 vport0/64 }
# ifconfig pppoe0
pppoe0:
flags=248851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6TEMP,AUTOCONF6>
mtu 1492
index 8 priority 0 llprio 3
dev: vlan0 state: session
sid: 0x290e PADI retries: 1 PADR retries: 0 time: 13:51:31
sppp: phase network authproto pap authname "internet"
dns: 195.121.1.34 195.121.1.66
groups: pppoe egress
status: active
inet6 fe80::XXXX:XXXX:XXXX:XXXX%pppoe0 --> prefixlen 64 scopeid 0x8
inet 195.XXX.XX.XX --> XXX.XXX.XXX.X netmask 0xffffffff
inet6 2a03:XXXX:XXXX::X --> prefixlen 64 pltime 122914 vltime 209314
# cat rad.conf
interface pppoe0 {
default router no
managed address configuration yes
other configuration yes
# I'm not certain that this last is required; I've tried
# removing it with not positive results.
}
interface vport0 {
default router yes
router preference high
}
vport0 is connected to my LAN, where clients properly obtain an IPv6
address. It is not relevant for this question.
# pfctl -s rules
block return out log proto tcp all user = 55
block return out log proto udp all user = 55
block drop all
pass in inet6 proto ipv6-icmp all icmp6-type echoreq
pass in inet6 proto ipv6-icmp all icmp6-type unreach
pass in inet6 proto ipv6-icmp all icmp6-type timex
pass in inet6 proto ipv6-icmp all icmp6-type routeradv
pass in inet6 proto ipv6-icmp all icmp6-type neighbrsol
pass in inet6 proto ipv6-icmp all icmp6-type neighbradv
pass in inet proto icmp all icmp-type echoreq
pass in inet proto icmp all icmp-type unreach
pass in inet proto icmp all icmp-type timex
pass out proto tcp all flags S/SA
pass out proto udp all
pass out proto icmp all
pass out proto ipv6-icmp all
pass in on egress inet6 proto udp from fe80::/10 port = 547 to fe80::/10 port =
546 no state
match in all scrub (random-id max-mss 1440)
pass out on pppoe0 inet from ! (egress:network) to any flags S/SA nat-to
(pppoe0:0)
pass out on pppoe0 inet6 all flags S/SA
block drop in quick on egress from <private> to any
block return out quick on egress from any to <private>
pass in on vport0 all flags S/SA
# pfctl -t private -T show
0.0.0.0/8
10.0.0.0/8
127.0.0.0/8
169.254.0.0/16
172.16.0.0/12
192.0.0.0/24
192.0.2.0/24
192.168.0.0/16
198.18.0.0/15
198.51.100.0/24
203.0.113.0/24
224.0.0.0/3
Environment:
System : OpenBSD 7.7
Details : OpenBSD 7.7 (GENERIC.MP) #624: Wed Apr 9 09:38:45 MDT
2025
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
Architecture: OpenBSD.amd64
Machine : amd64
Please let me know if I any additional information is relevant to better
understand this situation.
--
Hugo