OpenWrt/LEDE Project

  • Status Unconfirmed
  • Percent Complete
    0%
  • Task Type Bug Report
  • Category Base system
  • Assigned To No-one
  • Operating System All
  • Severity Medium
  • Priority Very Low
  • Reported Version openwrt-18.06
  • Due in Version Undecided
  • Due Date Undecided
  • Votes 2
  • Private
Attached to Project: OpenWrt/LEDE Project
Opened by Vladislav Grigoryev - 06.03.2019

FS#2167 - IPv6-connectivity is broken for local system via 6in4-tunnel

Issue description:
IPv6-connectivity is broken for local system via 6in4-tunnel.
Disabling source-routing is ignored.

System version:
OpenWrt 18.06.1

Steps to reproduce:

# uci show network.wan6
network.wan6=interface
network.wan6.proto='6in4'
network.wan6.tunlink='wan'
network.wan6.peeraddr='216.66.88.98'
network.wan6.ipaddr='139.162.227.238'
network.wan6.ip6addr='2001:470:1f1c:2a6::2/64'
network.wan6.ip6prefix='2001:470:1f1d:2a2::/64'
network.wan6.sourcerouting='0'
 
# ip -6 addr show 6in4-wan6
9: 6in4-wan6@eth0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1280 state UNKNOWN qlen 1000
    inet6 2001:470:1f1c:2a6::2/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::8ba2:e3ee/64 scope link 
       valid_lft forever preferred_lft forever
 
# ip -6 route show default table all
default from 2001:470:1f1c:2a6::/64 dev 6in4-wan6 proto static metric 1024 pref medium
default from 2001:470:1f1d:2a2::/64 dev 6in4-wan6 proto static metric 1024 pref medium
 
# ip -6 route show dev 6in4-wan6
default from 2001:470:1f1c:2a6::/64 proto static metric 1024 pref medium
default from 2001:470:1f1d:2a2::/64 proto static metric 1024 pref medium
2001:470:1f1c:2a6::/64 proto kernel metric 256 pref medium
fe80::/64 proto kernel metric 256 pref medium
 
# dig +short -q openwrt.org -t aaaa
2a03:b0c0:3:d0::1af1:1
 
# ping6 -c 3 openwrt.org
connect: Permission denied
 
# ip -6 route get 2a03:b0c0:3:d0::1af1:1
RTNETLINK answers: Permission denied
 
# ping6 -c 3 -I 2001:470:1f1c:2a6::2 openwrt.org
PING openwrt.org(wiki-01.infra.openwrt.org) from 2001:470:1f1c:2a6::2 : 56 data bytes
64 bytes from wiki-01.infra.openwrt.org: icmp_seq=1 ttl=59 time=20.2 ms
64 bytes from wiki-01.infra.openwrt.org: icmp_seq=2 ttl=59 time=35.3 ms
64 bytes from wiki-01.infra.openwrt.org: icmp_seq=3 ttl=59 time=20.0 ms
 
--- openwrt.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 20.006/25.190/35.340/7.177 ms
 
# ip -6 route get 2a03:b0c0:3:d0::1af1:1 from 2001:470:1f1c:2a6::2
2a03:b0c0:3:d0::1af1:1 from 2001:470:1f1c:2a6::2 dev 6in4-wan6 proto static src 2001:470:1f1c:2a6::2 metric 1024 pref medium
Trey Sis commented on 20.03.2019 16:38

This is not broken only for local system. It seems it boils down to being unable to disable sourcerouting. You can't essentially use two different prefixes on the 6in4 tunnel interface. To be more specific: HE assigns you one /64, and if requested an additional /48. In theory, you could assign them to different interfaces on your OpenWrt system. However, with sourcerouting enabled, forwarding will only work for the one specified in "ip6prefix" in the "wan6" section of /etc/config/network.

The problem exists from at least Chaos Calmer. The problem DOESN'T exist with Kamikaze (which didn't use kmod-sit).

This is not working (only works if ip6prefix is set for wan6, and then only for that specific prefix):

#/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 interface 'lan'
        option ifname 'eth0'
        option force_link '1'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6addr '2001:470:xxyy::1/64'
        option ip6prefix '2001:470:xxyy::/64'

config interface 'wan'
        option ifname 'eth1'
        option proto 'static'
        option ipaddr 'x.x.x.19'
        option netmask '255.255.255.0'
        option gateway 'x.x.x.254'
        option dns 'x.x.y.1 x.x.y.2'
        option ip6addr '2001:470:xy:zzzz::1/64'
        option ip6prefix '2001:470:xy:zzzz::/64'

config interface 'wan6'
        option proto '6in4'
        option ipaddr 'x.x.x.19'
        option peeraddr '216.66.x.x'
        option ip6addr '2001:470:xx:zzzz::2/64'
        option sourcerouting '0'

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing