My ISP recently made IPv6 available and I’m trying to figure out how to make it work with my network. The setup I have is an OPNsense box connected to my ISP’s router and I’m using it to isolate my homelab from the rest of the network. However, the machines on my OPNsense LAN aren’t being assigned IPv6 addresses that allow them to connect to the internet.
I can ping IPv6 sites from my OPNsense box and I see that it’s being assigned a /64 prefix from the ISP router. If I use my laptop to connect to my ISP’s router, I can visit IPv6 sites just fine as well. My devices in the OPNsense LAN also have IPv6 addresses and can ping each other using IPv6 but not the internet.
Are there special settings that I need to set for OPNsense to make this setup work? I’ve tried reading up on the different modes like SLAAC but I’m not quite grasping the concepts.
I’m no expert on IPv6 but here’s how I did it on my OPNsense box:
WAN
interface (probably already done)LAN
interface, useTrack interface
on IPv6, track theWAN
interface and choose a prefix ID like0x1
::eeee
to::ffff
, you don’t have to type the full IP)Advertisments
toManaged
andPriority
toHigh
After that your DHCP server should serve public IPv6 addresses inside of your prefix and clients should be able to connect to the internet.
A few notes:
I’ll try this when I get a chance. Off the top of my head, why did you set the prefix to 0x1? I was under the impression that it only needs to be set if there are multiple vlans and what are your rules for the WAN side of the firewall? My LAN interface is only getting an LLA so maybe it’s being blocked from communicating with the ISP router.
Prefix ID of 0x1 means “Use the first prefix available in the block as a /64 for the LAN”. Essentially your ISP probably gave you a /48, /56, or /60. The firewall is giving prefix IDs to all of the /64s you can fit inside of one of these and allocating them numbers 1 through whatever. Each LAN you have can have its own prefix ID. A /60 has 16 /64 networks that you can subnet it into.
I have multiple VLANs, 0x1 is my LAN and 0x10 is my DMZ for example. I then get IP addresses abcd:abcd:a01::abcd in my LAN and abcd:abcd:a10::bcdf in my DMZ.
However, I get a /56 from my ISP wich gets subnetted into /64. I heard it’s not ideal to subnet a /64 but you might want to double check what you really got.
Only IPv4 + IPv6 ICMP, the normal NAT rules for IPv4 and the same rules for IPv6 but as regular rule instead of NAT rule.
If you enable DHCPv6 in your network your firewall should be the one to hand out IP addresses, your ISP assigns your OPNsense the prefix and your OPNsense then subnets them into smaller chunks for your internal networks.
It is possible to do it without DHCPv6 but I didn’t read into it yet since DHCPv6 does exactly what I want it to do.