Only ping works over IPv6

Hi Folks,

I seem to be running into a weird issue, my ISP has dualstack implemented and I get both IPv4 and IPv6 addresses assigned when establishing the PPPoE connection. It works absolutely fine when I directly connect the PC to ISP ONT(ZTE F670L), I can establish connections with IPv6 destinations but when I connect via the OpenWrt router(RT-AC-58U) then I'm able to only ping the same IPv6 destinations but other connections fail. So far, I've tried mss clamping but that didn't seem to help, also tried the IPv6 relay config as documented in the wiki but then the clients don't get any IPv6 address assigned to them. I'd really appreciate if someone can help me with this.

Here's my current config

/etc/config/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 'fd0e:0f19:b412::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '64'
        option ipaddr '192.168.20.1'

config device 'lan_eth0_dev'
        option name 'eth0'
        option macaddr '04:92:26:8b:49:38'

config interface 'wan'
        option ifname 'eth1'
        option proto 'pppoe'
        option password 'xyz'
        option username 'abc'
        option peerdns '0'
        option keepalive '3 5'
        option ipv6 'auto'

config device 'wan_eth1_dev'
        option name 'eth1'
        option macaddr '04:92:26:8b:49:3c'

config interface 'wan6'
        option ifname 'eth1'
        option proto 'dhcpv6'
        option reqprefix 'auto'
        option reqaddress 'try'
        option peerdns '0'

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

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

/etc/config/dhcp
config dnsmasq
        option domainneeded '1'
        option boguspriv '0'
        option filterwin2k '0'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option nonegcache '0'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.auto'
        option nonwildcard '1'
        option localservice '1'
        option noresolv '1'
        option localuse '1'
        option cachesize '0'
        list server '127.0.0.53'

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

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'

Try option ifname '@wan', this ensure that wan is up, before wan6 is about to be taken up.

1 Like

I made the change and now wan6 is an alias for wan but the still the same result, ping works but tcp connection fails.

Try to clone the MAC of your PC, or cold boot the modem.

By cloning you mac mean cloning mac address of the wan interface of the ONT to the wan interface of the router?

Change to the MAC of the PC and reboot.

That worked, can you please explain why this needed to be done? I'll also test if it works for WLAN clients. Also for some reason, ipv6-test.com still doesn't detect IPv6.

Something like this:
WAN DHCP: OpenWrt vs FritzBox - #2 by moeller0

It just worked once and I've tried rebooting both ONT and router multiple times since then but not working anymore.

Linksys WRT1200AC does not recognize new Arris T25 cable modem - #2 by slh

Isn't my case kind of different as IPv4 works absolutely fine and it's only IPv6 that's affected?

ubus call system board; ifstatus wan6; ifstatus wan_6

What is the output?

I deleted wan6 as wan_6 is automatically created by wan interface when it comes up. Here's the output of both commands.

{
        "kernel": "4.14.221",
        "hostname": "2F-SISPR",
        "system": "ARMv7 Processor rev 5 (v7l)",
        "model": "ASUS RT-AC58U",
        "board_name": "asus,rt-ac58u",
        "release": {
                "distribution": "OpenWrt",
                "version": "19.07.7",
                "revision": "r11306-c4a6851c72",
                "target": "ipq40xx/generic",
                "description": "OpenWrt 19.07.7 r11306-c4a6851c72"
        }
}
{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": true,
        "uptime": 1679,
        "l3_device": "pppoe-wan",
        "proto": "dhcpv6",
        "device": "pppoe-wan",
        "updated": [
                "addresses",
                "routes",
                "prefixes",
                "data"
        ],
        "metric": 0,
        "dns_metric": 0,
        "delegation": true,
        "ipv4-address": [

        ],
        "ipv6-address": [
                {
                        "address": "2401:4900:1f30:8fff::3:5d0d",
                        "mask": 128,
                        "preferred": 84711,
                        "valid": 84711
                }
        ],
        "ipv6-prefix": [
                {
                        "address": "2401:4900:1f31:4280::",
                        "mask": 64,
                        "preferred": 84711,
                        "valid": 84711,
                        "class": "wan_6",
                        "assigned": {
                                "lan": {
                                        "address": "2401:4900:1f31:4280::",
                                        "mask": 64
                                }
                        }
                }
        ],
        "ipv6-prefix-assignment": [

        ],
        "route": [
                {
                        "target": "::",
                        "mask": 0,
                        "nexthop": "fe80::46ec:ceff:fee5:6069",
                        "metric": 4096,
                        "valid": 84711,
                        "source": "2401:4900:1f31:4280::/64"
                },
                {
                        "target": "::",
                        "mask": 0,
                        "nexthop": "fe80::46ec:ceff:fee5:6069",
                        "metric": 4096,
                        "valid": 84711,
                        "source": "2401:4900:1f30:8fff::3:5d0d/128"
                }
        ],
        "dns-server": [

        ],
        "dns-search": [

        ],
        "neighbors": [

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

                ],
                "ipv6-address": [

                ],
                "route": [

                ],
                "dns-server": [
                        "2401:4900:50:9::9",
                        "2401:4900:50:9::39",
                        "2404:a800:0:14::1:1010",
                        "2404:a800:0:14::1:1011"
                ],
                "dns-search": [

                ],
                "neighbors": [

                ]
        },
        "data": {
                "passthru": "0017004024014900005000090000000000000009240149000050000900000000000000392404a8000000001400000000000110102404a800000000140000000000011011",
                "zone": "wan"
        }
}
1 Like

Try to use a public DNS provider and disable peer DNS:
https://openwrt.org/docs/guide-user/base-system/dhcp_configuration#upstream_dns_provider

I already use dnscrypt-proxy2, as you can see in the dhcp config I shared.

Could it be the vlan(100) that's being used on the ONT Wan interface? But on that even IPv4 session doesn't come up without specifying the vlan.

But the Wan interface of RT-AC58-U isn't part of switch and maybe doesn't support it.

It was the ONT, got it changed to Nokia from ZTE. For now they have not enabled IPv6 on the new unit but atleast all other issues have been resolved.

Edit: IPV6 works fine as well now.

If your problem is solved, please consider marking this topic as [Solved]. See How to mark a topic as [Solved] for a short how-to.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.