No ipv6 address

I am not familiar with the pppoe tweaks, but based with basic ipv6 connectivity knowledge, something looks wrong:

lan: ipassign might be 60 instead of 64. (64 is the minimal size, but larger one is better, just in case). You have been given a /56 from ISP, so /60 in lan is ok.

wan: ipassign ???? there should be none. You are not assigning anything from the given address space back towards ISP.
wan: ipv6 auto should also be unnecessary

I read the ipv6 configuration of openwrt from the Internet.And I also don't know why the prefix delegated is 56.I only set both LAN and Wan to automatically obtain ipv6 and assign 64 bit addresses.

ip6assign 64 in lan is fine, as long as there won't be any prefix delegated downstream. In any case you can assign the 60 there and leave room for future expansions.

In wan interface, remove the option ip6assign '64'.
Remove wan6 interface. You have option ipv6 'auto' in wan so the virtual interface wan_6 will be spawned automatically and will handle the ipv6 part.

2 Likes

Still not.

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 dhcp; uci export firewall; \
head -n -0 /etc/firewall.user; \
ip -6 addr ; ip -6 ro li tab all ; ip -6 ru; \
ls -l  /etc/resolv.* /tmp/resolv.* /tmp/resolv.*/* ; head -n -0 /etc/resolv.* /tmp/resolv.* /tmp/resolv.*/*

ubus call system board;

{
        "kernel": "5.10.143",
        "hostname": "OpenWrt",
        "system": "MediaTek MT7621 ver:1 eco:3",
        "model": "Phicomm K2P",
        "board_name": "phicomm,k2p",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "SNAPSHOT",
                "revision": "r20698-3cee396bf8",
                "target": "ramips/mt7621",
                "description": "OpenWrt SNAPSHOT r20698-3cee396bf8"
        }
}

uci export network;

package 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 packet_steering '1'
        option ula_prefix 'fd00:a5d5:d4a6::/48'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        list ports 'lan4'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.5.1'
        option netmask '255.255.255.0'
        option ip6assign '64'

config interface 'wan'
        option device 'wan'
        option username 'XXXXXXXXXX'
        option password 'XXXXXXXX'
        option metric '40'
        option proto 'pppoe'
        option ipv6 'auto'

uci export dhcp; uci export firewall;

package dhcp

config dnsmasq
        option domainneeded '1'
        option boguspriv '1'
        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.d/resolv.conf.auto'
        option nonwildcard '1'
        option localservice '1'
        option ednspacket_max '1232'
        option noresolv '0'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv4 'server'
        option dhcpv6 'server'
        option ra 'server'
        list ra_flags 'managed-config'
        list ra_flags 'other-config'

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 name 'ubuntu'
        option ip '192.168.5.128'
        option mac 'XX:XX:XX:XX:XX:XX'

package firewall

config defaults
        option input 'ACCEPT'
        option output 'ACCEPT'
        option flow_offloading '1'
        option flow_offloading_hw '1'
        option fullcone '0'
        option synflood_protect '1'
        option forward 'REJECT'

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

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

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 include 'miniupnpd'
        option type 'script'
        option path '/usr/share/miniupnpd/firewall.include'

config include 'adbyby'
        option type 'script'
        option path '/var/etc/adbyby.include'
        option reload '1'

config rule 'adblock'
        option name 'adblock'
        option target 'DROP'
        option src 'wan'
        option proto 'tcp'
        option dest_port '8118'

config include 'mia'
        option type 'script'
        option path '/etc/mia.include'
        option reload '1'

config include 'redsocks2'
        option type 'script'
        option path '/usr/share/redsocks2/firewall.include'
        option reload '1'

config include 'shadowsocksr'
        option type 'script'
        option path '/var/etc/shadowsocksr.include'
        option reload '1'

head -n -0 /etc/firewall.user;

head: /etc/firewall.user: No such file or directory

ip -6 addr ; ip -6 ro li tab all ; ip -6 ru;

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1504 state UP qlen 1000
    inet6 fe80::6adb:54ff:fe93:44fa/64 scope link 
       valid_lft forever preferred_lft forever
3: wan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::6adb:54ff:fe93:44f9/64 scope link 
       valid_lft forever preferred_lft forever
8: ra0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
    inet6 fe80::6adb:54ff:fe93:44fb/64 scope link 
       valid_lft forever preferred_lft forever
9: rax0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
    inet6 fe80::68db:54ff:fe93:44fb/64 scope link 
       valid_lft forever preferred_lft forever
14: apcli0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
    inet6 fe80::6ccb:54ff:fe93:44fb/64 scope link 
       valid_lft forever preferred_lft forever
15: apclix0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
    inet6 fe80::6cdb:54ff:fe93:44fb/64 scope link 
       valid_lft forever preferred_lft forever
16: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 240e:XXX:XXXX:XXXX::1/64 scope global dynamic noprefixroute 
       valid_lft 252451sec preferred_lft 166051sec
    inet6 240e:XXX:XXXX:XXXX::1/64 scope global deprecated dynamic 
       valid_lft 439sec preferred_lft 0sec
    inet6 fd00:a5d5:d4a6::1/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::6adb:54ff:fe93:44fa/64 scope link 
       valid_lft forever preferred_lft forever
18: pppoe-wan: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 state UNKNOWN qlen 3
    inet6 240e:XXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX/64 scope global dynamic noprefixroute 
       valid_lft 258623sec preferred_lft 172223sec
    inet6 fe80::b5c2:e336:4316:e26e peer fe80::211:ff:fe22:33/128 scope link 
       valid_lft forever preferred_lft forever
default from 240e:XXX:XXXX:XXXX::/64 via fe80::211:ff:fe22:33 dev pppoe-wan proto static metric 512 pref medium
default from 240e:XXX:XXXX:XXXX::/56 via fe80::211:ff:fe22:33 dev pppoe-wan proto static metric 512 pref medium
unreachable 240e:XXX:XXXX:XXXX::/64 dev lo proto static metric 2147483647 pref medium
240e:XXX:XXXX:XXXX::/64 dev br-lan proto kernel metric 256 expires 670sec pref medium
240e:XXX:XXXX:XXXX::/64 dev br-lan proto static metric 1024 pref medium
unreachable 240e:XXX:XXXX:XXXX::/56 dev lo proto static metric 2147483647 pref medium
240e:XXX:XXXX:XXXX::/64 dev br-lan proto kernel metric 256 expires 438sec pref medium
fd00:a5d5:d4a6::/64 dev br-lan proto kernel metric 256 expires 670sec pref medium
fd00:a5d5:d4a6::/64 dev br-lan proto static metric 1024 pref medium
unreachable fd00:a5d5:d4a6::/48 dev lo proto static metric 2147483647 pref medium
fe80::211:ff:fe22:33 dev pppoe-wan proto kernel metric 256 pref medium
fe80::b5c2:e336:4316:e26e dev pppoe-wan proto kernel metric 256 pref medium
fe80::/64 dev ra0 proto kernel metric 256 pref medium
fe80::/64 dev apcli0 proto kernel metric 256 pref medium
fe80::/64 dev rax0 proto kernel metric 256 pref medium
fe80::/64 dev apclix0 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 wan proto kernel metric 256 pref medium
local ::1 dev lo table local proto kernel metric 0 pref medium
anycast 240e:XXX:XXXX:XXXX:: dev pppoe-wan table local proto kernel metric 0 pref medium
local 240e:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX dev pppoe-wan table local proto kernel metric 0 pref medium
anycast 240e:XXX:XXXX:XXXX:: dev br-lan table local proto kernel metric 0 pref medium
local 240e:XXX:XXXX:XXXX::1 dev br-lan table local proto kernel metric 0 pref medium
anycast 240e:XXX:XXXX:XXXX:: dev br-lan table local proto kernel metric 0 pref medium
local 240e:XXX:XXXX:XXXX::1 dev br-lan table local proto kernel metric 0 pref medium
anycast fd00:a5d5:d4a6:: dev br-lan table local proto kernel metric 0 pref medium
local fd00:a5d5:d4a6::1 dev br-lan table local proto kernel metric 0 pref medium
anycast fe80:: dev ra0 table local proto kernel metric 0 pref medium
anycast fe80:: dev apcli0 table local proto kernel metric 0 pref medium
anycast fe80:: dev rax0 table local proto kernel metric 0 pref medium
anycast fe80:: dev eth0 table local proto kernel metric 0 pref medium
anycast fe80:: dev br-lan table local proto kernel metric 0 pref medium
anycast fe80:: dev apclix0 table local proto kernel metric 0 pref medium
anycast fe80:: dev wan table local proto kernel metric 0 pref medium
local fe80::68db:54ff:fe93:44fb dev rax0 table local proto kernel metric 0 pref medium
local fe80::6adb:54ff:fe93:44f9 dev wan table local proto kernel metric 0 pref medium
local fe80::6adb:54ff:fe93:44fa dev eth0 table local proto kernel metric 0 pref medium
local fe80::6adb:54ff:fe93:44fa dev br-lan table local proto kernel metric 0 pref medium
local fe80::6adb:54ff:fe93:44fb dev ra0 table local proto kernel metric 0 pref medium
local fe80::6ccb:54ff:fe93:44fb dev apcli0 table local proto kernel metric 0 pref medium
local fe80::6cdb:54ff:fe93:44fb dev apclix0 table local proto kernel metric 0 pref medium
local fe80::b5c2:e336:4316:e26e dev pppoe-wan table local proto kernel metric 0 pref medium
multicast ff00::/8 dev ra0 table local proto kernel metric 256 pref medium
multicast ff00::/8 dev apcli0 table local proto kernel metric 256 pref medium
multicast ff00::/8 dev rax0 table local proto kernel metric 256 pref medium
multicast ff00::/8 dev apclix0 table local proto kernel metric 256 pref medium
multicast ff00::/8 dev eth0 table local proto kernel metric 256 pref medium
multicast ff00::/8 dev br-lan table local proto kernel metric 256 pref medium
multicast ff00::/8 dev wan table local proto kernel metric 256 pref medium
multicast ff00::/8 dev pppoe-wan table local proto kernel metric 256 pref medium
0:      from all lookup local
2061:   from all fwmark 0x3d00/0x3f00 blackhole
2062:   from all fwmark 0x3e00/0x3f00 unreachable
32766:  from all lookup main
4200000000:     from 240e:XXX:XXXX:XXXX::1/64 iif br-lan unreachable

ls -l /etc/resolv.* /tmp/resolv.* /tmp/resolv./ ; head -n -0 /etc/resolv.* /tmp/resolv.* /tmp/resolv./

lrwxrwxrwx    1 root     root            16 Sep 20 11:33 /etc/resolv.conf -> /tmp/resolv.conf
-rw-r--r--    1 root     root            47 Nov 16 17:15 /tmp/resolv.conf
-rw-r--r--    1 root     root           132 Nov 16 17:07 /tmp/resolv.conf.d/resolv.conf.auto
-rw-r--r--    1 root     root            48 Nov 16 17:07 /tmp/resolv.conf.ppp

/tmp/resolv.conf.d:
-rw-r--r--    1 root     root           132 Nov 16 17:07 resolv.conf.auto
==> /etc/resolv.conf <==
search lan
nameserver 127.0.0.1
nameserver ::1

==> /tmp/resolv.conf <==
search lan
nameserver 127.0.0.1
nameserver ::1

==> /tmp/resolv.conf.d <==
head: /tmp/resolv.conf.d: I/O error

==> /tmp/resolv.conf.ppp <==
nameserver 21X.XXX.XX.XXX
nameserver 21X.XXX.XX.XXX

==> /tmp/resolv.conf.d/resolv.conf.auto <==
# Interface wan_6
nameserver 240e:XX::XX
nameserver 240e:XX:XXX:XX
# Interface wan
nameserver 21X.XXX.XX.XXX
nameserver 21X.XXX.XX.XXX

OpenWrt looks fine.
Verify that the lan host is getting the IPv6 settings and try to ping ipv6.google.com

Can't connect ipv6.

PING ipv6.ustb.edu.cn(2001:da8:208:10::14 (2001:da8:208:10::14)) 56 data bytes
From 240e:346:XXXX:XXXX::1 (240e:346:XXXX:XXXX::1) icmp_seq=1 Destination unreachable: No route
From 240e:346:XXXX:XXXX::1 (240e:346:XXXX:XXXX::1) icmp_seq=2 Destination unreachable: No route

Can you ping it from the OpenWrt cli?

From the computer instead of openwrt.

Can you ping this ipv6 address when you are in the cli of OpenWrt?
I suppose the failed attempt earlier is from the cli of your computer. Can you confirm that?

1 Like

Ping from openwrt cli.

root@OpenWrt:~# ping ipv6.ustb.edu.cn
PING ipv6.ustb.edu.cn (2001:da8:208:10::14): 56 data bytes
ping: sendto: Network unreachable

Issue this and try to ping again.

ip -6 rule del from all fwmark 0x3d00/0x3f00 blackhole pref 2061
ip -6 rule del from all fwmark 0x3e00/0x3f00 unreachable pref 2062

Where does the IP rules come from?

2 Likes

Still no.Ping from openwrt cli,

root@OpenWrt:~# ping ipv6.ustb.edu.cn
PING ipv6.ustb.edu.cn (2001:da8:208:10::14): 56 data bytes
ping: sendto: Network unreachable

from my computer.

$ ping ipv6.ustb.edu.cn
PING ipv6.ustb.edu.cn(2001:da8:208:10::14 (2001:da8:208:10::14)) 56 data bytes

And there is public network ipv6 by "ifconfig" command.

Default from 240e:344:5b02:XXXX::/64

Are those rules still there?
ip -6 ru

Substitute method for troubleshooting: put openwrt router away for a moment and connect to your ISP modem directly using yout PC for pppoe dial, can you obtain IPV6 global address? Is V6 network working?
If no then call your ISP for help.
If yes then proceed:
Reset openwrt router to factory settings, change option ipv6 to 1 in your network config and add the following to /etc/config/network then restart the router:

config interface 'WAN6'
	option proto 'dhcpv6'
	option device '@wan'
	option reqaddress 'try'
	option reqprefix '56'
	option ip6ifaceid 'random'

Reason: I have encountered similar issue in certain ISP and solved it using "manual mode" IPV6 settings.

4 Likes

Thanks!OK.Resolved.The configuration is ok.

1 Like

I think this only works if you set a net.ipv6.conf.default.stable_secret= in sysctrl.

See: Cascading routers, dhcpv6 and unwanted EUI64 w/SLAAC on wan6 - #39 by Frood42