Hi,
I’ve been trying to figure out why none of my devices connected to my OpenWRT router are unable to use IPv6, while the router itself has IPv6 connectivity.
First of all, I use a mix of devices on my network, running iOS, Android, various Linux distros, and macOS.
My ISP is Verizon’s 5G Home Internet offering. My OpenWRT router’s WAN port is connected directly to the wireless receiver antenna which connects to Verizon’s network.
If I SSH into my router, and run try ping a domain over IPv6, everything seems to work fine:
root@router:~# ping example.com
PING example.com (2600:1406:5e00:6::17ce:bc12): 56 data bytes
64 bytes from 2600:1406:5e00:6::17ce:bc12: seq=0 ttl=50 time=56.505 ms
64 bytes from 2600:1406:5e00:6::17ce:bc12: seq=1 ttl=50 time=56.609 ms
64 bytes from 2600:1406:5e00:6::17ce:bc12: seq=2 ttl=50 time=57.291 ms
^C
--- example.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 56.505/56.801/57.291 ms
But if I try and use any of the client devices connected to my router, none of them can reach anything over IPv6:
opnent@box ~> ping -6 example.com
ping: connect: Network is unreachable
I tried to look through the IPv6 wiki page, but I found the article much too technical for me.
Any advice is greatly appreciated.
My configs:
root@router:~# ubus call system board
{
"kernel": "6.6.104",
"hostname": "router",
"system": "ARMv8 Processor rev 4",
"model": "ASUS TUF-AX6000",
"board_name": "asus,tuf-ax6000",
"rootfs_type": "squashfs",
"release": {
"distribution": "OpenWrt",
"version": "24.10.3",
"revision": "r28872-daca7c049b",
"target": "mediatek/filogic",
"description": "OpenWrt 24.10.3 r28872-daca7c049b",
"builddate": "1758316778"
}
}
/etc/config/network
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fdbf:9907:7140::/48'
option packet_steering '1'
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
list ports 'lan5'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
config interface 'wan'
option device 'eth1'
option proto 'dhcp'
option peerdns '0'
config interface 'wan6'
option device 'eth1'
option proto 'dhcpv6'
option peerdns '0'
config interface 'HomeVPN'
option proto 'wireguard'
option private_key ''
option listen_port '54280'
list addresses '10.10.10.1/24'
config wireguard_HomeVPN
option description 'Phone'
option public_key ''
option private_key ''
option preshared_key ''
list allowed_ips '10.10.10.2/32'
option route_allowed_ips '1'
config wireguard_HomeVPN
option public_key ''
option private_key ''
option preshared_key ''
option description 'MacBook'
list allowed_ips '10.10.10.3/32'
option route_allowed_ips '1'
option persistent_keepalive '5'
config wireguard_HomeVPN
option description 'Archbox'
option public_key ''
option private_key ''
option preshared_key ''
list allowed_ips '10.10.10.4/32'
option route_allowed_ips '1'
/etc/config/firewall
config defaults
option syn_flood '1'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'lan'
list network 'HomeVPN'
config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
list network 'wan'
list network 'wan6'
config forwarding
option src 'lan'
option dest 'wan'
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-IGMP'
option src 'wan'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-MLD'
option src 'wan'
option proto 'icmp'
option src_ip 'fe80::/10'
list icmp_type '130/0'
list icmp_type '131/0'
list icmp_type '132/0'
list icmp_type '143/0'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-IPSec-ESP'
option src 'wan'
option dest 'lan'
option proto 'esp'
option target 'ACCEPT'
config rule
option name 'Allow-ISAKMP'
option src 'wan'
option dest 'lan'
option dest_port '500'
option proto 'udp'
option target 'ACCEPT'
config redirect
option dest 'lan'
option target 'DNAT'
option name 'Divert-DNS, port 53'
option src 'wan'
option src_dport '53'
option dest_port '53'
config redirect
option dest 'lan'
option target 'DNAT'
option name 'HomeVPN'
list proto 'udp'
option src 'wan'
option src_dport '54280'
option dest_ip '192.168.1.1'
option dest_port '54280'
config rule
option name 'Reject-DoT,port 853'
list proto 'tcp'
option src 'lan'
option dest 'wan'
option dest_port '853'
option target 'ACCEPT'
/etc/config/uhttpd
config uhttpd 'main'
list listen_http '0.0.0.0:80'
list listen_http '[::]:80'
list listen_https '0.0.0.0:443'
list listen_https '[::]:443'
option redirect_https '1'
option home '/www'
option rfc1918_filter '1'
option max_requests '3'
option max_connections '100'
option cert '/etc/uhttpd.crt'
option key '/etc/uhttpd.key'
option cgi_prefix '/cgi-bin'
list lua_prefix '/cgi-bin/luci=/usr/lib/lua/luci/sgi/uhttpd.lua'
option script_timeout '60'
option network_timeout '30'
option http_keepalive '20'
option tcp_keepalive '1'
option ubus_prefix '/ubus'
list ucode_prefix '/cgi-bin/luci=/usr/share/ucode/luci/uhttpd.uc'
config cert 'defaults'
option days '397'
option key_type 'ec'
option bits '2048'
option ec_curve 'P-256'
option country 'ZZ'
option state 'Somewhere'
option location 'Unknown'
option commonname 'OpenWrt'



