Modify

Opened 5 years ago

Closed 5 years ago

#12898 closed defect (fixed)

trunk ipv6-support, lan clients tries to use ula prefix for ipv6 internet access

Reported by: anonymous Owned by: developers
Priority: normal Milestone: Chaos Calmer 15.05
Component: packages Version: Trunk
Keywords: Cc:

Description

Today I found that my lan clients have lost their ipv6 access, although ipv6 is working fine from the router itself.

Lan clients seem to try to use ULA prefix as default route?

C:>tracert -6 www.freebsd.org

Tracing route to wfe0.ysv.freebsd.org [2001:1900:2254:206a::50:0]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  fdxx::1
  2     *        *        *     Request timed out.
  3     *        *        *     Request timed out.
  4     *        *        *     Request timed out.
  5     *     ^C
#ip -6 route
2a02:x:x:x::/64 dev br-lan  proto kernel  metric 256  expires 30804sec
unreachable 2a02:x:x:x::/56 dev lo  proto static  metric 2147483647  error -128
fdab::/64 dev br-lan  proto kernel  metric 256
unreachable fdab::/48 dev lo  proto static  metric 2147483647  error -128
fe80::/64 dev eth0  proto kernel  metric 256
fe80::/64 dev eth0.2  proto kernel  metric 256
fe80::/64 dev br-lan  proto kernel  metric 256
fe80::/64 dev wlan1.sta1  proto kernel  metric 256
fe80::/10 dev pppoe-wan  metric 1
fe80::/10 dev pppoe-wan  proto kernel  metric 256
default via fe80::xxx:xxff:fexx:xxx dev pppoe-wan  proto ra  metric 1024  expires 1678sec

ipv4 access still works normally.

Attachments (0)

Change History (11)

comment:1 Changed 5 years ago by Jyrki.Soini@…

Check that your LAN client has IPv6 address from 2a02:x:x:x::/64 prefix.

If it has, the problem is not openwrt issue, but the client problem.
The client is responsible of selecting right source address for the packet.
The rules how the address selection should happen are recently updated and
published in RFC6724.

Address selection rules should be modifiable, but the mechanism is operating system specific.

comment:2 Changed 5 years ago by anonymous

The clients keep both ula prefix and global prefixes.

I only guessed it's an openwrt problem since all (5+) clients loose ipv6 connectivity at the same time.

comment:3 Changed 5 years ago by anonymous

Same thins just happened again, this time 6relayd seems to have crashed/quit. After manually starting 6relayd, ipv6 connectivity is back.

couldn't find any log message or errors though..

comment:4 Changed 5 years ago by cyrus

Please provide more information:

What OS do your clients use?
Do they have an IPv6 default route?

comment:5 Changed 5 years ago by anonymous

Various clients, androids, linux & windows PCs, they all loose ipv6 connectivity when this happens. The clients keep their configuration data for some time it seems, so default route will remain (fe80:x:x) in their tables.

For example on a windows 7 pc, I would see both global and ula prefix, aswell as DNS and default route for ipv6. But there is no ipv6 connectivity - a traceroute will try to use the ula prefix.

Before ipv6-support was added I had ipv6 running with old scripts/tools for well over a year with few problems and nothing such as this.

I realize this information won't help you much.. as this problem happens randomly I'll just have to try debug it the best I can when it happens.. and update this ticket.

comment:6 Changed 5 years ago by anonymous

Today this happened again, on r35381.

Can't really explain it, makes no sense at all to me. So I'll just post whatever information I can.

The router itself still has IPv6 connectivity.
Lan clients still have all their IPv6 settings. Below is from a debian installation;

root@squeeze:~# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:xx:xx:xx:xx:54
          inet addr:192.168.199.110  Bcast:192.168.199.255  Mask:255.255.255.0
          inet6 addr: fdab::a00:27ff:fec3:6d54/64 Scope:Global
          inet6 addr: 2a02:x:x:x:x:xff:fex:x/64 Scope:Global
          inet6 addr: fe80::x:xff:fex:x/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:546851 errors:0 dropped:0 overruns:0 frame:0
          TX packets:351146 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:688641480 (656.7 MiB)  TX bytes:102323547 (97.5 MiB)

root@squeeze:~# ip -6 route
2a02:x:x:x::/64 dev eth1  proto kernel  metric 256  expires 1135sec mtu 1452 advmss 1392 hoplimit 0
fdab::/64 dev eth1  proto kernel  metric 256  expires 86318sec mtu 1452 advmss 1392 hoplimit 0
fe80::/64 dev eth1  proto kernel  metric 256  mtu 1452 advmss 1392 hoplimit 0
default via fe80::x:xff:fex:x dev eth1  proto kernel  metric 1024  expires 1713sec mtu 1452 advmss 1392 hoplimit 0

root@squeeze:~# traceroute -6 ftp.sunet.se
traceroute to ftp.sunet.se (2001:6b0:19::64), 30 hops max, 80 byte packets
 1  fdab::1 (fdab::1)  1.337 ms  1.228 ms  1.079 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  *^C

root@squeeze:~# route -A inet6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
2a02:x:x:x::/64                ::                         UAe  256 0   660 eth1
fdab::/64                      ::                         UAe  256 0   677 eth1
fe80::/64                      ::                         U    256 0     0 eth1
::/0                           fe80::x:xff:fex:x          UGDAe 1024 0    39 eth1
::/0                           ::                         !n   -1  1  1665 lo
::1/128                        ::                         Un   0   1   766 lo
2a02:x:x:x:x:xff:fex:x/128     ::                         Un   0   1 75942 lo
fdab::a00:27ff:fexx:xx/128   ::                         Un   0   1     3 lo
fe80::a00:27ff:fexx:xx/128   ::                         Un   0   1     9 lo
ff00::/8                       ::                         U    256 0     0 eth1
::/0                           ::                         !n   -1  1  1665 lo

Here from windows 7;
http://img19.imageshack.us/img19/2149/win7ipv6p.jpg

And from the router itself;

root@dexter:~# ifconfig br-lan
br-lan    Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          inet addr:192.168.199.1  Bcast:192.168.199.255  Mask:255.255.255.0
          inet6 addr: fdab::1/64 Scope:Global
          inet6 addr: fe80::x:xff:fex:x/64 Scope:Link
          inet6 addr: 2a02:x:x:x::1/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:799014 errors:0 dropped:10 overruns:0 frame:0
          TX packets:896703 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:217246249 (207.1 MiB)  TX bytes:734682168 (700.6 MiB)

root@dexter:~# ifconfig pppoe-wan
pppoe-wan Link encap:Point-to-Point Protocol
          inet addr:x.x.x.x  P-t-P:x.x.x.x  Mask:255.255.255.255
          inet6 addr: 2a02:x:x:x:x:x:x:x/64 Scope:Global
          inet6 addr: fe80::x:x:x:x/10 Scope:Link
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1452  Metric:1
          RX packets:849280 errors:0 dropped:0 overruns:0 frame:0
          TX packets:670877 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:696843980 (664.5 MiB)  TX bytes:199559631 (190.3 MiB)

root@dexter:~# route -A inet6
Kernel IPv6 routing table
Destination                                 Next Hop                                Flags Metric Ref    Use Iface
2a00:xx:4009:803::1019/128                  fe80::215:c7ff:fed0:xx                UGDAC 0      6        0 pppoe-wan
2a00:xx:4009:804::1015/128                  fe80::215:c7ff:fed0:xx               UGDAC 0      48869       0 pppoe-wan
2a02:xx:200::xx/128                         fe80::215:c7ff:fed0:xx                UGDAC 0      14       0 pppoe-wan
2a02:xx:200::xx/128                         fe80::215:c7ff:fed0:xx                UGDAC 0      18       0 pppoe-wan
2a02:xx:xx:xx:xx:81ac:8ff2:cb6d:a895/128    2a02:xx:xx:xx:xx:8ff2:cb6d:a895  UC    0      79267       0 br-lan
2a02:xx:xx:xx:xx::/64                       ::                                      U     256    0        0 br-lan
fdab::41f6:a3e7:2fe5:df1c/128               fdab::41f6:a3e7:2fe5:df1c               UC    0      128       0 br-lan
fdab::81ac:8ff2:cb6d:a895/128               fdab::xx:8ff2:cb6d:a895               UC    0      10       0 br-lan
fdab::/64                                   ::                                      U     256    0        0 br-lan
fe80::/64                                   ::                                      U     256    0        0 eth0
fe80::/64                                   ::                                      U     256    0        0 eth0.2
fe80::/64                                   ::                                      U     256    0        0 br-lan
fe80::/64                                   ::                                      U     256    0        0 wlan1.sta1
fe80::/64                                   ::                                      U     256    0        0 ifb0
fe80::/10                                   ::                                      U     1      0        0 pppoe-wan
fe80::/10                                   ::                                      U     256    0        0 pppoe-wan
::/0                                        fe80::215:c7ff:fexx:xx               UGDA  1024   0        4 pppoe-wan
::1/128                                     ::                                      U     0      0        1 lo
2a02:x:x::/128                              ::                                      U     0      0        1 lo
2a02:x:x:x:x:1fe1:d930:7d25/128             ::                                      U     0      8592       1 lo
2a02:x:x:x::/128                            ::                                      U     0      0        1 lo
2a02:x:x:x::1/128                           ::                                      U     0      15970       1 lo
fdab::/128                                  ::                                      U     0      0        1 lo
fdab::1/128                                 ::                                      U     0      129       1 lo
fe80::/128                                  ::                                      U     0      0        1 lo
fe80::/128                                  ::                                      U     0      0        1 lo
fe80::/128                                  ::                                      U     0      0        1 lo
fe80::/128                                  ::                                      U     0      0        1 lo
fe80::/128                                  ::                                      U     0      0        1 lo
fe80::/128                                  ::                                      U     0      0        1 lo
fe80::xxxxxxxxxxxxxxxxxx/128                ::                                      U     0      0        1 lo
fe80::xxxxxxxxxxxxxxxxxx/128                ::                                      U     0      0        1 lo
fe80::xxxxxxxxxxxxxxxxxx/128                ::                                      U     0      7706       1 lo
fe80::xxxxxxxxxxxxxxxxxx/128                ::                                      U     0      0        1 lo
fe80::xxxxxxxxxxxxxxxxxx/128               ::                                      U     0      0        1 lo
fe80::xxxxxxxxxxxxxxxxxx/128               ::                                      U     0      2        1 lo
ff02::c/128                                 ff02::c                                 UC    0      50976       0 br-lan
ff02::fb/128                                ff02::fb                                UC    0      12       0 br-lan
ff00::/8                                    ::                                      U     256    2        0 br-lan
ff00::/8                                    ::                                      U     256    0        0 eth0
ff00::/8                                    ::                                      U     256    0        0 eth0.2
ff00::/8                                    ::                                      U     256    0        0 pppoe-wan
ff00::/8                                    ::                                      U     256    0        0 wlan1.sta1
ff00::/8                                    ::                                      U     256    0        0 ifb0

root@dexter:~# ip -6 route
2a02:xx:xx:xx::/64 dev br-lan  proto kernel  metric 256  expires 510sec
unreachable 2a02:xx:xx:xx::/56 dev lo  proto static  metric 2147483647  error -128
fdab::/64 dev br-lan  proto kernel  metric 256
unreachable fdab::/48 dev lo  proto static  metric 2147483647  error -128
fe80::/64 dev eth0  proto kernel  metric 256
fe80::/64 dev eth0.2  proto kernel  metric 256
fe80::/64 dev br-lan  proto kernel  metric 256
fe80::/64 dev wlan1.sta1  proto kernel  metric 256
fe80::/64 dev ifb0  proto kernel  metric 256
fe80::/10 dev pppoe-wan  metric 1
fe80::/10 dev pppoe-wan  proto kernel  metric 256
default via fe80::xx:c7ff:fexx:xx dev pppoe-wan  proto ra  metric 1024  expires 1703sec

Again I'll leave it in this broken state for as long as I can, in case you want me to test/check something..

comment:7 Changed 5 years ago by anonymous

Now, a bit later, all clients have dropped their default gateway/route and also their global prefix (2a02::). ula prefix remains though, but clients won't try to route through it any longer (network unreachable or similar).

6relayd is still running this time. But it appears to not hand out my public ipv6 prefix any longer, clients will only configure ula prefixes now - even after restarting 6relayd.

All connectivity was this time restored by running /etc/init.d/network restart

comment:8 Changed 5 years ago by anonymous

Something that I've been considering is the dhcpv6 option "reqaddress 'try'", perhaps I should try using 'none'. I say this because in a packet capture from my ISPs dhcpv6, I noticed that they only hand out a prefix delegation (/56), the response for dhcpv6 'Non-temporary Address' will always be NoAddrAvail(2) in the packet capture.

What do you think? Could use some advice..

comment:9 Changed 5 years ago by anonymous

And now, 1 hour later.. ipv6 connectivity broken again. This time the router lost it's default gateway.

comment:10 Changed 5 years ago by anonymous

It turns out if I just run /etc/init.d/network restart, ipv6 connectivity will work for about 1 hour and then break again...

comment:11 Changed 5 years ago by cyrus

  • Resolution set to fixed
  • Status changed from new to closed

Please try again with current trunk. DHCPv6 process and default route acquisition was rewritten.

Please reopen if the problem persists.

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.