I’ve been following all the guides, forum threads and Reddit posts I can find to get IPv6 with Prefix Delegation working.
My ISP provides a /56 prefix using DHCPv6-PD, like lots of other ISPs. I know that it has been enabled by the ISP since they told me so and also because a neighbor in the same house has it working (same ISP).
The Qotom mini PC I’m running VyOS on turned out to have a UUID I’ve seen used by other manufacturers so I generated a random one and manually set the DUID I calculated from that UUID to avoid conflicts, just in case.
Am I missing something obvious here? Am I mistakenly blocking some important traffic?
Santized configuration:
firewall {
flowtable FT-OFFLOAD {
interface "eth2"
interface "eth1"
}
group {
interface-group LAN {
interface "eth1"
}
interface-group MANAGEMENT {
include "LAN"
interface "eth8"
}
interface-group WAN {
interface "eth2"
}
network-group NET-LAN-v4 {
network "192.168.10.0/24"
network "192.168.1.0/24"
}
network-group WAN-IP {
network "xx.xx.xx.xx/32"
}
}
ipv6 {
forward {
filter {
rule 5 {
action "offload"
offload-target "FT-OFFLOAD"
state "established"
state "related"
}
rule 10 {
action "jump"
jump-target "CONN_FILTER"
}
rule 100 {
action "jump"
inbound-interface {
group "WAN"
}
jump-target "OUTSIDE-IN"
}
}
}
input {
filter {
default-action "drop"
rule 10 {
action "jump"
jump-target "CONN_FILTER"
}
rule 20 {
action "jump"
destination {
port "22"
}
jump-target "VyOS_MANAGEMENT"
protocol "tcp"
}
rule 30 {
action "accept"
protocol "ipv6-icmp"
state "new"
}
rule 40 {
action "jump"
inbound-interface {
group "WAN"
}
jump-target "WAN-LOCAL"
}
}
}
name CONN_FILTER {
default-action "return"
rule 10 {
action "accept"
state "established"
state "related"
}
rule 20 {
action "drop"
state "invalid"
}
}
name OUTSIDE-IN {
default-action "drop"
rule 10 {
action "accept"
protocol "ipv6-icmp"
}
}
name VyOS_MANAGEMENT {
default-action "return"
rule 15 {
action "accept"
inbound-interface {
group "LAN"
}
}
rule 20 {
action "drop"
inbound-interface {
group "WAN"
}
state "new"
}
}
name WAN-LOCAL {
rule 30 {
action "accept"
destination {
port "546"
}
protocol "udp"
source {
port "547"
}
}
}
}
}
interfaces {
ethernet eth0 {
description "SFP+ 1"
}
ethernet eth1 {
address "192.168.1.1/24"
description "LAN (SFP+ 2)"
}
ethernet eth2 {
address "dhcp"
description "WAN (SFP+ 3)"
dhcpv6-options {
duid "..."
no-release
pd 0 {
interface eth1 {
address "1"
sla-id "0"
}
length "56"
}
}
ipv6 {
address {
autoconf
}
}
}
ethernet eth3 {
description "SFP+ 4"
}
ethernet eth4 {
description "LAN (RJ45 4)"
}
ethernet eth5 {
description "RJ45 2"
}
ethernet eth6 {
description "RJ45 3"
}
ethernet eth7 {
description "RJ45 1"
}
ethernet eth8 {
description "Management (RJ45 5)"
}
loopback lo {
}
}
service {
router-advert {
interface eth1 {
default-preference "high"
prefix ::/64 {
}
}
}
}