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
                         
dera...@amd64.openbsd.org:/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

Reply via email to