IPV6 configuration

My router is a Linksys WRT3200ACM, running OpenWrt-19.07.8.

I have been running OpenWrt well for a few weeks now. I just was checking the status of things and noticed that my WAN6 DHCPv6 client interface says "Error: Network device is not present".

I'm scared of breaking anything so I thought I'd ask for any tips. I've done some searching but not found an exact match to my question.

Thanks!

OpenWRT runs on hundreds of different devices, each with their own quirks and differences.

What device are you using?

Having said that, WAN6 usually (in my limited experience of 4 of those hundreds of devices) uses the same device as WAN

I'm sorry, I don't know why it didn't cross my mind to start with that info. I have a Linksys WRT3200ACM.

Thanks!

So, what device does WAN6 use? Is it the same as WAN?

WAN uses br-wan and WAN6 uses br-wan6.

that's an odd config for 19.07

?????
OpenWRT always have one interface for wan and one interface for wan6 but both are in the same wan firewall zone.

This has been the same standard setup at least since I joined in with 18.06.

This is very diffused statement! Checking status where and on what?
Do you have IPv6 from your ISP to begin with? What doesn’t work?

1 Like

Try assigning both interfaces (WAN & WAN6) to the same br-wan device.

1 Like

Generally speaking, having wan and wan6 in a bridge is usually a mistake from the user. Let's see better the configuration before we suggest a fix.

Please run the following commands (copy-paste the whole block) and paste the output here, using the "Preformatted text </> " button:
grafik
Remember to redact passwords, MAC addresses and any public IP addresses you may have

ubus call system board; \
uci export network; uci export wireless; \
uci export dhcp; uci export firewall; \
head -n -0 /etc/firewall.user
1 Like

I'm sorry for not providing more info, I wasn't quite sure what would be needed to help you help me.

Here is the output of the commands above in putty as root.

login as: root
root@192.168.212.1's password:


BusyBox v1.30.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 19.07.8, r11364-ef56c85848
 -----------------------------------------------------
root@WRT3200ACM:~# ubus call system board; \
> uci export network; uci export wireless; \
> uci export dhcp; uci export firewall; \
> head -n -0 /etc/firewall.user
{
        "kernel": "4.14.241",
        "hostname": "WRT3200ACM",
        "system": "ARMv7 Processor rev 1 (v7l)",
        "model": "Linksys WRT3200ACM",
        "board_name": "linksys,rango",
        "release": {
                "distribution": "OpenWrt",
                "version": "19.07.8",
                "revision": "r11364-ef56c85848",
                "target": "mvebu/cortexa9",
                "description": "OpenWrt 19.07.8 r11364-ef56c85848"
        }
}
package network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd62:2410:54c7::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1'
        option proto 'static'
        option ipaddr '192.168.212.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option gateway '192.168.1.254'
        list dns '8.8.8.8'
        list dns '192.168.1.254'

config interface 'wan'
        option ifname 'eth1.2'
        option proto 'dhcp'
        option type 'bridge'

config interface 'wan6'
        option ifname 'eth1.2'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'
        option type 'bridge'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 1 2 3 5t'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '4 6t'

config interface 'vpn'
        option proto 'wireguard'
        option private_key '$$$'
        option listen_port '$$$'
        list addresses '192.168.9.1/24'
        list addresses 'fdf1:e8a1:8d3f:9::1/64'

config wireguard_vpn 'wgclient'
        option public_key '$$$'
        option preshared_key '$$$'
        list allowed_ips '192.168.9.2/32'
        list allowed_ips 'fdf1:e8a1:8d3f:9::2/128'

package wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11a'
        option path 'soc/soc:pcie/pci0000:00/0000:00:01.0/0000:01:00.0'
        option htmode 'VHT80'
        option channel '48'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option mode 'ap'
        option key '$$$'
        option encryption 'psk2'
        option network 'lan'
        option ssid '$$$'

config wifi-device 'radio1'
        option type 'mac80211'
        option hwmode '11g'
        option path 'soc/soc:pcie/pci0000:00/0000:00:02.0/0000:02:00.0'
        option htmode 'HT20'
        option country 'US'
        option channel '8'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option mode 'ap'
        option wpa_disable_eapol_key_retries '1'
        option key '$$$'
        option ssid '$$$'
        option encryption 'psk2'
        option network 'lan'

config wifi-device 'radio2'
        option type 'mac80211'
        option channel '36'
        option hwmode '11a'
        option path 'platform/soc/soc:internal-regs/f10d8000.sdhci/mmc_host/mmc0/mmc0:0001/mmc0:0001:1'
        option htmode 'VHT80'
        option disabled '1'

config wifi-iface 'default_radio2'
        option device 'radio2'
        option mode 'ap'
        option ssid '$$$'
        option encryption 'none'

package dhcp

config dnsmasq
        option domainneeded '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option expandhosts '1'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.auto'
        option localservice '1'
        option confdir '/tmp/dnsmasq.d'
        option domain 'local'
        option local '/local/'
        list server '8.8.8.8'
        list server '192.168.1.254'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv6 'server'
        option ra 'server'
        option ra_management '1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

config host
        option mac '$$$'
        option dns '1'
        option name 'XBOX'
        option duid '$$$'
        option ip '192.168.212.50'

config host
        option mac '$$$'
        option dns '1'
        option name 'DS216'
        option duid '$$$'
        option ip '192.168.212.20'

config host
        option mac '$$$'
        option name 'voron'
        option dns '1'
        option ip '192.168.212.24'
        option duid '$$$'

config host
        option mac '$$$'
        option dns '1'
        option name 'PRECISION'
        option duid '$$$'
        option ip '192.168.212.30'

package firewall

config defaults
        option syn_flood '1'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'

config zone 'lan'
        option name 'lan'
        list network 'lan'
        list network 'vpn'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'

config zone 'wan'
        option name 'wan'
        list network 'wan'
        list network 'wan6'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'

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 src_ip 'fc00::/6'
        option dest_ip 'fc00::/6'
        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 include
        option path '/etc/firewall.user'

config rule
        option src 'wan'
        option dest 'lan'
        list dest_ip '192.168.212.50'
        option target 'ACCEPT'
        option name 'Xbox Live1'
        option src_port '57166'
        option dest_port '57166'

config rule
        option src 'wan'
        option name 'XBOX DMZ'
        option dest 'lan'
        list dest_ip '192.168.212.50'
        option target 'ACCEPT'

config rule 'wg'
        option name 'Allow-WireGuard'
        option src 'wan'
        option dest_port '51820'
        option proto 'udp'
        option target 'ACCEPT'

config rule
        option src_port '3074'
        option src 'wan'
        option name 'XBOX Live2'
        option dest 'lan'
        list dest_ip '192.168.212.50'
        option target 'ACCEPT'
        option dest_port '3074'

config rule
        option src_port '80'
        list proto 'tcp'
        option name 'XBL_000_TCP-80'
        list src_ip '192.168.212.50'
        option dest 'lan'
        option target 'ACCEPT'
        option dest_port '80'
        option src 'wan'

config rule
        option src_port '88'
        option src 'wan'
        option name 'XBL_001_UDP-88'
        option target 'ACCEPT'
        option dest 'lan'
        list dest_ip '192.168.212.50'
        option dest_port '88'
        list proto 'udp'

config rule
        option src_port '500'
        option src 'wan'
        option name 'XBL_002_UDP-500'
        option target 'ACCEPT'
        option dest 'lan'
        list dest_ip '192.168.212.50'
        option dest_port '500'
        list proto 'udp'

config rule
        option src_port '3544'
        option src 'wan'
        option name 'XBL_003_UDP-3544'
        option target 'ACCEPT'
        option dest 'lan'
        list dest_ip '192.168.212.50'
        option dest_port '3544'
        list proto 'udp'

config rule
        option src_port '4500'
        option src 'wan'
        option name 'XBL_004_UDP-4500'
        option target 'ACCEPT'
        option dest 'lan'
        list dest_ip '192.168.212.50'
        option dest_port '4500'
        list proto 'udp'

# This file is interpreted as shell script.
# Put your custom iptables rules here, they will
# be executed with each firewall (re-)start.

# Internal uci firewall chains are flushed and recreated on reload, so
# put custom rules into the root chains e.g. INPUT or FORWARD or into the
# special user chains, e.g. input_wan_rule or postrouting_lan_rule.
root@WRT3200ACM:~#

I have gone to test-ipv6.com and their test says the following:

My ATT gateway has ipv6 addresses listed but I don't know if they are good or not.

Using "option type='bridge'" with two interfaces having the same ifname value seems wrong, I would remove the "option type='bridge'" line from both interfaces. If you really need a bridge then you should configure it on wan and then use "option ifname '@wan'" on the wan6 interface without having "option type='bridge'", which means they'll use the same bridge.

2 Likes

I made the suggested changes, removing the bridge from both interfaces and adding wan6 ifname of @wan.

The router has been assigning ipv6 addresses to my clients that support it, but I am still unable to ping google.com forcing ipv6.

Don't do that

Just remove the option type 'bridge'

config interface 'wan'
        option ifname 'eth1.2'
        option proto 'dhcp'

config interface 'wan6'
        option ifname 'eth1.2'
        option proto 'dhcpv6'
        option reqaddress 'try'
        option reqprefix 'auto'

This "should" work - I can't really recall as OpenWRT 21.02.x configuration is different as it uses DSA rather than sw_config (on this device)

note: I could be completely wrong - I can't recall 19.07.x configs :stuck_out_tongue:

I don't know why the hell I am even running 19.

I must have been following an old guide for this hardware and followed an old link! GAH I feel so stupid! I just set this router up like, three weeks ago.

I'm going to update and see what that does.

because it's not old, and upgrading to 21 means you'll need to start from scratch :stuck_out_tongue:

That is not so necessary as in pppoe, but you can leave it as it is.
Also remove the gateway and dns 192.168.1.254 from lan interface, they seem to be leftovers.

The router or the lan hosts cannot ping ipv6 addresses?
In any case post the following:
ifstatus wan6; ifstatus lan; ip -6 ad; ip -6 ro; ip -6 ru; ping6 www.google.com

I can ping local hosts using forced ipv6

Here are the results from the above suggestion:

Using username "root".
root@192.168.212.1's password:


BusyBox v1.30.1 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 19.07.8, r11364-ef56c85848
 -----------------------------------------------------
root@WRT3200ACM:~# ifstatus wan6; ifstatus lan; ip -6 ad; ip -6 ro; ip -6 ru; pi
ng6 www.google.com
{
        "up": false,
        "pending": true,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "proto": "dhcpv6",
        "device": "eth1.2",
        "data": {

        }
}
{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "uptime": 608818,
        "l3_device": "br-lan",
        "proto": "static",
        "device": "br-lan",
        "updated": [
                "addresses",
                "routes"
        ],
        "metric": 0,
        "dns_metric": 0,
        "delegation": true,
        "ipv4-address": [
                {
                        "address": "$$$$$$$$$$$$$$$$$$$",
                        "mask": 24
                }
        ],
        "ipv6-address": [

        ],
        "ipv6-prefix": [

        ],
        "ipv6-prefix-assignment": [
                {
                        "address": "$$$$$$$$$$$$$$$$$$$",
                        "mask": 60,
                        "local-address": {
                                "address": "$$$$$$$$$$$$$$$$$$$",
                                "mask": 60
                        }
                }
        ],
        "route": [
                {
                        "target": "0.0.0.0",
                        "mask": 0,
                        "nexthop": "$$$$$$$$$$$$$$$$$$$",
                        "source": "0.0.0.0/0"
                }
        ],
        "dns-server": [
                "8.8.8.8",
                "192.168.1.254"
        ],
        "dns-search": [

        ],
        "neighbors": [

        ],
        "inactive": {
                "ipv4-address": [

                ],
                "ipv6-address": [

                ],
                "route": [

                ],
                "dns-server": [

                ],
                "dns-search": [

                ],
                "neighbors": [

                ]
        },
        "data": {

        }
}
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 532
    inet6 $$$$$$$$$$$$$$$$$$$/64 scope link
       valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 532
    inet6 $$$$$$$$$$$$$$$$$$$64 scope link
       valid_lft forever preferred_lft forever
36: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 $$$$$$$$$$$$$$$$$$$/60 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 $$$$$$$$$$$$$$$$$$$/64 scope link
       valid_lft forever preferred_lft forever
41: vpn: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 state UNKNOWN qlen 1000
    inet6 $$$$$$$$$$$$$$$$$$$/64 scope global
       valid_lft forever preferred_lft forever
43: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 $$$$$$$$$$$$$$$$$$$/64 scope link
       valid_lft forever preferred_lft forever
44: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 $$$$$$$$$$$$$$$$$$$/64 scope link
       valid_lft forever preferred_lft forever
52: ifb4eth1.2: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 32
    inet6 $$$$$$$$$$$$$$$$$$$/64 scope link
       valid_lft forever preferred_lft forever
$$$$:$$$$:$$$$::/64 dev br-lan proto static metric 1024 pref medium
unreachable $$$$:$$$$:$$$$::/48 dev lo proto static metric 2147483647 error 4294967183 pref medium
$$$$$$$$$$$$::/64 dev vpn proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev br-lan proto kernel metric 256 pref medium
fe80::/64 dev wlan0 proto kernel metric 256 pref medium
fe80::/64 dev wlan1 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev ifb4eth1.2 proto kernel metric 256 pref medium
0:      from all lookup local
32766:  from all lookup main
4200000001:     from all iif lo failed_policy
4200000036:     from all iif br-lan failed_policy
4200000041:     from all iif vpn failed_policy
4200000045:     from all iif eth1.2 failed_policy
PING www.google.com (2607:f8b0:4009:80b::2004): 56 data bytes
ping6: sendto: Permission denied
root@WRT3200ACM:~#

It won't work if it is down...
Furthermore, all of the addresses that you have redacted from the console output must be link local addresses which start from fe80:: and are not assigned by your ISP.