WAN IPv6 not working

My WAN IPv6 is not receiving an address from my service provider.

My service provider (Comcast/Xfinity) recently perform an upgrade to our area. My WAN IPv4 and IPv6 worked fined prior to their upgrade however, my WAN IPv6 stopped working after the upgrade. I am only be assigned an IPv4 address. Mind you that I made zero router modifications before or after their service (infrastructure) upgrade.

Here is a screen shot from BEFORE the service upgrade:

Here is a screen shot from AFTER the service upgrade:

I have tried:

  • Deleting the WAN6 enterface and re-creating it - DID NOT WORK
  • Reset to openWRT factory defaults - DID NOT WORK

I'm in a real pissing contest with Comcast/Xfinity support right now. They swear up and down they are answering DHCPv6 client requests. I don't think they are but I'm not sure how to prove it either way. Any help would be greatly appreciated.

My Specifications
Model: Netgear Nighthawk X4S R7800
Architecture: ARMv7 Processor rev 0 (v7l)|
Firmware Version: OpenWrt 19.07.7 r11306-c4a6851c72 / LuCI openwrt-19.07 branch git-21.044.30835-34e0d65
Kernel Version: 4.14.221
IP Service Provider: Comcast/Xfinity
IP Service Type: Cable Modem

Snippet from /etc/config/network:

config interface 'wan'                                                                                                                                                               
        option ifname 'eth0.2'                                                                                                                                                       
        option proto 'dhcp'                                                                                                                                                          
        list dns '8.8.8.8'                                                                                                                                                           
        list dns '8.8.4.4'                                                                                                                                                           
        option peerdns '0'                                                                                                                                                           
                                                                                                                                                                                     
config interface 'wan6'                                                                                                                                                              
        option ifname 'eth0.2'                                                                                                                                                       
        option proto 'dhcpv6'                                                                                                                                                        
        list dns '2001:4860:4860::8888'                                                                                                                                              
        list dns '2001:4860:4860::8844'                                                                                                                                              
        option reqprefix 'auto'                                                                                                                                                      
        option reqaddress 'try'                                                                                                                                                      
        option peerdns '0'                                                                                                                                                           

ifstatus wan6
$ ifstatus wan6
{
	"up": false,
	"pending": true,
	"available": true,
	"autostart": true,
	"dynamic": false,
	"proto": "dhcpv6",
	"device": "eth0.2",
	"data": {
		
	}
}
1 Like

Check out this way:

/etc/init.d/firewall stop &> /dev/null; \
ifup wan6; sleep 10; ifstatus wan6; \
/etc/init.d/firewall start &> /dev/null

Then try to troubleshoot DHCPv6:
https://openwrt.org/docs/guide-user/network/protocol.dhcp#troubleshooting

1 Like

WoW! Those commands worked! So, what am I doing wrong?

Boy, I owe the Comcast/Xfinity support an apology.. :frowning:

1 Like
uci show firewall
uci show firewall
firewall.@defaults[0]=defaults
firewall.@defaults[0].syn_flood='1'
firewall.@defaults[0].input='ACCEPT'
firewall.@defaults[0].output='ACCEPT'
firewall.@defaults[0].forward='REJECT'
firewall.@defaults[0].drop_invalid='1'
firewall.@zone[0]=zone
firewall.@zone[0].name='lan'
firewall.@zone[0].input='ACCEPT'
firewall.@zone[0].output='ACCEPT'
firewall.@zone[0].forward='ACCEPT'
firewall.@zone[0].network='lan wg0'
firewall.@zone[1]=zone
firewall.@zone[1].name='wan'
firewall.@zone[1].input='REJECT'
firewall.@zone[1].output='ACCEPT'
firewall.@zone[1].forward='REJECT'
firewall.@zone[1].masq='1'
firewall.@zone[1].mtu_fix='1'
firewall.@zone[1].network='wan wan6'
firewall.@forwarding[0]=forwarding
firewall.@forwarding[0].src='lan'
firewall.@forwarding[0].dest='wan'
firewall.@rule[0]=rule
firewall.@rule[0].name='Allow-DHCP-Renew'
firewall.@rule[0].src='wan'
firewall.@rule[0].proto='udp'
firewall.@rule[0].dest_port='68'
firewall.@rule[0].target='ACCEPT'
firewall.@rule[0].family='ipv4'
firewall.@rule[1]=rule
firewall.@rule[1].name='Allow-Ping'
firewall.@rule[1].src='wan'
firewall.@rule[1].proto='icmp'
firewall.@rule[1].icmp_type='echo-request'
firewall.@rule[1].family='ipv4'
firewall.@rule[1].target='ACCEPT'
firewall.@rule[2]=rule
firewall.@rule[2].name='Allow-IGMP'
firewall.@rule[2].src='wan'
firewall.@rule[2].proto='igmp'
firewall.@rule[2].family='ipv4'
firewall.@rule[2].target='ACCEPT'
firewall.@rule[3]=rule
firewall.@rule[3].name='Allow-DHCPv6'
firewall.@rule[3].src='wan'
firewall.@rule[3].proto='udp'
firewall.@rule[3].src_ip='fc00::/6'
firewall.@rule[3].dest_ip='fc00::/6'
firewall.@rule[3].dest_port='546'
firewall.@rule[3].family='ipv6'
firewall.@rule[3].target='ACCEPT'
firewall.@rule[4]=rule
firewall.@rule[4].name='Allow-MLD'
firewall.@rule[4].src='wan'
firewall.@rule[4].proto='icmp'
firewall.@rule[4].src_ip='fe80::/10'
firewall.@rule[4].icmp_type='130/0' '131/0' '132/0' '143/0'
firewall.@rule[4].family='ipv6'
firewall.@rule[4].target='ACCEPT'
firewall.@rule[5]=rule
firewall.@rule[5].name='Allow-ICMPv6-Input'
firewall.@rule[5].src='wan'
firewall.@rule[5].proto='icmp'
firewall.@rule[5].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type' 'router-solicitation' 'neighbour-solicitation' 'router-advertisement' 'neighbour-advertisement'
firewall.@rule[5].limit='1000/sec'
firewall.@rule[5].family='ipv6'
firewall.@rule[5].target='ACCEPT'
firewall.@rule[6]=rule
firewall.@rule[6].name='Allow-ICMPv6-Forward'
firewall.@rule[6].src='wan'
firewall.@rule[6].dest='*'
firewall.@rule[6].proto='icmp'
firewall.@rule[6].icmp_type='echo-request' 'echo-reply' 'destination-unreachable' 'packet-too-big' 'time-exceeded' 'bad-header' 'unknown-header-type'
firewall.@rule[6].limit='1000/sec'
firewall.@rule[6].family='ipv6'
firewall.@rule[6].target='ACCEPT'
firewall.@rule[7]=rule
firewall.@rule[7].name='Allow-IPSec-ESP'
firewall.@rule[7].src='wan'
firewall.@rule[7].dest='lan'
firewall.@rule[7].proto='esp'
firewall.@rule[7].target='ACCEPT'
firewall.@rule[8]=rule
firewall.@rule[8].name='Allow-ISAKMP'
firewall.@rule[8].src='wan'
firewall.@rule[8].dest='lan'
firewall.@rule[8].dest_port='500'
firewall.@rule[8].proto='udp'
firewall.@rule[8].target='ACCEPT'
firewall.@include[0]=include
firewall.@include[0].path='/etc/firewall.user'
firewall.@redirect[0]=redirect
firewall.@redirect[0].dest_port='80'
firewall.@redirect[0].src='wan'
firewall.@redirect[0].name='HTTP'
firewall.@redirect[0].src_dport='80'
firewall.@redirect[0].target='DNAT'
firewall.@redirect[0].dest_ip='10.3.17.26'
firewall.@redirect[0].dest='lan'
firewall.@redirect[0].proto='tcp'
firewall.@redirect[1]=redirect
firewall.@redirect[1].dest_port='443'
firewall.@redirect[1].src='wan'
firewall.@redirect[1].name='HTTPS'
firewall.@redirect[1].src_dport='443'
firewall.@redirect[1].target='DNAT'
firewall.@redirect[1].dest_ip='10.3.17.26'
firewall.@redirect[1].dest='lan'
firewall.@redirect[1].proto='tcp'
firewall.@redirect[2]=redirect
firewall.@redirect[2].dest_port='3690'
firewall.@redirect[2].src='wan'
firewall.@redirect[2].name='SVN'
firewall.@redirect[2].src_dport='3690'
firewall.@redirect[2].target='DNAT'
firewall.@redirect[2].dest_ip='10.3.17.26'
firewall.@redirect[2].dest='lan'
firewall.@redirect[2].proto='tcp'
firewall.@redirect[2].enabled='0'
firewall.@rule[9]=rule
firewall.@rule[9].dest_port='1194'
firewall.@rule[9].src='wan'
firewall.@rule[9].target='ACCEPT'
firewall.@rule[9].name='Allow-VPN-server'
firewall.@rule[9].proto='udp'
firewall.@forwarding[1]=forwarding
firewall.@forwarding[1].src='lan'
firewall.@forwarding[1].dest='vpn_server'
firewall.@forwarding[2]=forwarding
firewall.@forwarding[2].src='vpn_server'
firewall.@forwarding[2].dest='lan'
firewall.@forwarding[3]=forwarding
firewall.@forwarding[3].dest='lan'
firewall.@forwarding[3].src='vpn'
firewall.@forwarding[4]=forwarding
firewall.@forwarding[4].dest='vpn'
firewall.@forwarding[4].src='lan'
firewall.@redirect[3]=redirect
firewall.@redirect[3].dest_port='53'
firewall.@redirect[3].src='lan'
firewall.@redirect[3].name='Force DNS'
firewall.@redirect[3].src_dport='53'
firewall.@redirect[3].target='DNAT'
1 Like

If you managed to fix IPv6 by stopping firewall, then it should be similar to that thread:
IPv6 not working in 19.07 in standard configuration, only disable Firewall rules helped - #20 by trendy

Otherwise, it's another known issue:
IPv6 works only with wan in promiscuous mode

3 Likes