IPV4/IPV6 Vodafone DSL Germany?

Hi There,

today i got my new dsl line from vodafone germany / providet by telekom ...

vodafone issues no real ipv4 adress .. i configured all thinks like described here in the help pages.

iam getting connection to the internet. so that seems to be fine. but i cannot use the real ipv6 adress - when iam going to ipv6 sites they say i not have a ipv6 adress:

but i want to connect to my home network via wireguard from the outside (smartphone) using ipv6.

iam getting the following information on the interfaces after the dsl line is estavlished. does this looks good? it seems that i get a local ipv4 adress and a public (?) ipv6 adress

i run some statistics on the router:

root@OpenWrt:~# speedtest-netperf.sh -H netperf-eu.bufferbloat.net
2024-10-30 12:16:22 Starting speedtest for 60 seconds per transfer session.
Measure speed to netperf-eu.bufferbloat.net (IPv4) while pinging gstatic.com.
Download and upload sessions are sequential, each with 5 simultaneous streams.
...........................................................
 Download:  54.22 Mbps
  Latency: [in msec, 0 pings, 0.00% packet loss]
 CPU Load: [in % busy (avg +/- std dev), 54 samples]
     cpu0:  92.1 +/-  6.0
 Overhead: [in % used of total CPU available]
  netperf:  60.8
.............................................................
   Upload:  21.19 Mbps
  Latency: [in msec, 0 pings, 0.00% packet loss]
 CPU Load: [in % busy (avg +/- std dev), 58 samples]
     cpu0:  54.2 +/- 25.4
 Overhead: [in % used of total CPU available]
  netperf:   7.0
root@OpenWrt:~#

SpeedTest++ version 1.20.3
Speedtest.net command line interface
Info: https://github.com/oskarirauta/speedtestcpp
Author: Francesco Laurita <francesco.laurita@gmail.com>
Co-authored-by: Oskari Rauta <oskari.rauta@gmail.com>

IP: 2.201.73.30 ( Vodafone Germany ) Location: [xx.yyy, xx.zzz]
Finding fastest server...
10 Servers online

Server #20507: Berlin speedtest01.dns-net.de.prod.hosts.ooklaserver.net:8080 by DNS:NET Internet Service GmbH (18 km from you): 12 ms
Ping: 12 ms.
Jitter: 0 ms.

server selected profile detected: profile selected from server configuration

Download: 61.51 Mbit/s
Upload: 21.78 Mbit/s

and some tracert / pingtest ipv4/ipv6

root@OpenWrt:~# mtr -ezb6w -c 100 one.one.one.one
Start: 2024-10-30T13:44:50+0000
^C
root@OpenWrt:~# nslookup ipv4only.arpa
Server:         127.0.0.1
Address:        127.0.0.1:53

Non-authoritative answer:
Name:   ipv4only.arpa
Address: 192.0.0.171
Name:   ipv4only.arpa
Address: 192.0.0.170

Non-authoritative answer:

root@OpenWrt:~# ping 64:ff9b::40be:3fde
PING 64:ff9b::40be:3fde (64:ff9b::40be:3fde): 56 data bytes
^C
--- 64:ff9b::40be:3fde ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss
root@OpenWrt:~# ping openwrt.de
PING openwrt.de (64.190.63.222): 56 data bytes
64 bytes from 64.190.63.222: seq=0 ttl=56 time=23.085 ms
64 bytes from 64.190.63.222: seq=1 ttl=56 time=23.092 ms
64 bytes from 64.190.63.222: seq=2 ttl=56 time=23.187 ms
64 bytes from 64.190.63.222: seq=3 ttl=56 time=22.845 ms
64 bytes from 64.190.63.222: seq=4 ttl=56 time=23.130 ms
64 bytes from 64.190.63.222: seq=5 ttl=56 time=23.007 ms
64 bytes from 64.190.63.222: seq=6 ttl=56 time=23.060 ms
^C
--- openwrt.de ping statistics ---
7 packets transmitted, 7 packets received, 0% packet loss
round-trip min/avg/max = 22.845/23.058/23.187 ms
root@OpenWrt:~# tracepath -4 -b one.one.one.one
 1?: [LOCALHOST]                      pmtu 1492
 1:  dslb-002-201-073-022.002.201.pools.vodafone-ip.de (2.201.73.22) 38357.000ms asymm 65
 1:  dslb-002-201-073-022.002.201.pools.vodafone-ip.de (2.201.73.22) 380736.000ms asymm 65
 2:  no reply
 3:  92.79.215.112 (92.79.215.112)                       170817.000ms asymm 65
 4:  92.79.215.49 (92.79.215.49)                         461600.000ms asymm 65
 5:  cloudflare.bcix.de (193.178.185.17)                 254737.000ms asymm 65
 6:  no reply
 7:  no reply
 8:  no reply
^C
root@OpenWrt:~# tracepath -6 -b one.one.one.one
 1?: [LOCALHOST]                      168536.000ms pmtu 1492
 1:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         702469.000ms
 1:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         699291.000ms
 2:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         898703.000ms asymm  1
 3:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         31667.000ms asymm  1
 4:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         207324.000ms asymm  1
 5:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         486511.000ms asymm  1
 6:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         518489.000ms asymm  1
 7:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         571111.000ms asymm  1
 8:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         938387.000ms asymm  1
 9:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         140381.000ms asymm  1
10:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         211624.000ms asymm  1
11:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         190474.000ms asymm  1
12:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         543731.000ms asymm  1
13:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         633842.000ms asymm  1
14:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         529396.000ms asymm  1
15:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         865311.000ms asymm  1
16:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         371341.000ms asymm  1
17:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         118.000ms asymm  1
18:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         360769.000ms asymm  1
19:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         491698.000ms asymm  1
20:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         639824.000ms asymm  1
21:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         511277.000ms asymm  1
22:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         924614.000ms asymm  1
23:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         778460.000ms asymm  1
24:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         109900.000ms asymm  1
25:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         346129.000ms asymm  1
26:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         966935.000ms asymm  1
27:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         614209.000ms asymm  1
28:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         790919.000ms asymm  1
29:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         682098.000ms asymm  1
30:  2a00:10:3f32:9c01::1 (2a00:10:3f32:9c01::1)         123105.000ms asymm  1
     Too many hops: pmtu 1492
     Resume: pmtu 1492
root@OpenWrt:~#

This command will take around 2 minutes before it will print/show anything, did you wait long enough before aborting it with ctrl-c?

Did you try to configure ds-lite? I have no idea what Vodafone currently provisions via DSL, but it might be ds-lite...

1 Like

Thanks for the hint. you are right - i waited longer now there is output. but it makes no real sense to me :wink: ... perhaps vodafone provides not a public connected ipv6 adress ... wired

root@OpenWrt:~# mtr -ezb6w -c 100 one.one.one.one
Start: 2024-10-30T15:51:09+0000
HOST: OpenWrt                                                                              Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    0.6   0.6   0.6   1.1   0.1
  2. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    0.7   0.7   0.7   1.2   0.1
  3. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    0.8   0.8   0.8   1.3   0.1
  4. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    1.2   0.9   0.8   1.6   0.2
  5. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    0.9   0.9   0.9   1.5   0.1
  6. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    1.0   1.1   1.0   1.6   0.1
  7. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    1.1   1.2   1.1   1.8   0.1
  8. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    1.3   1.2   1.2   2.1   0.1
  9. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    1.3   1.3   1.2   2.2   0.2
 10. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    1.6   1.5   1.4   3.0   0.3
 11. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    2.0   1.5   1.5   2.9   0.2
 12. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    1.7   1.6   1.6   2.6   0.2
 13. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    1.7   1.7   1.6   3.7   0.2
 14. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    1.8   1.9   1.7   6.8   0.6
 15. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    1.8   1.9   1.8   6.4   0.5
 16. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    1.9   2.0   1.9   3.0   0.2
 17. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    2.1   2.0   2.0   2.5   0.1
 18. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    2.2   2.1   2.1   3.5   0.3
 19. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    2.2   2.2   2.1   2.8   0.1
 20. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    2.3   2.3   2.2   3.1   0.2
 21. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    2.5   2.5   2.3   7.2   0.8
 22. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    2.5   2.6   2.4   7.3   0.8
 23. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    2.5   2.7   2.5   7.1   0.8
 24. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    3.2   2.8   2.5   7.2   0.8
 25. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    2.7   2.8   2.6   7.7   0.7
 26. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    2.9   2.9   2.7   7.7   0.6
 27. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    3.5   3.1   2.8  12.2   1.0
 28. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    3.0   3.0   2.9   7.8   0.5
 29. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    3.1   3.1   2.9   7.6   0.5
 30. AS3209   2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)   0.0%   100    3.2   3.2   3.0   7.7   0.5
root@OpenWrt:~#

i also tried dslite config but i deactivated it beacuase iam getting not just a ipv6 adress but also a local ipv4 adress from vodafone. so dslite makes no sense for me i think. here is the log:

Wed Oct 30 11:33:33 2024 daemon.info pppd[1777]: CHAP authentication succeeded: access accepted : vodafone-vdsl.komplett/xxxxxx
Wed Oct 30 11:33:33 2024 daemon.notice pppd[1777]: CHAP authentication succeeded
Wed Oct 30 11:33:33 2024 daemon.notice pppd[1777]: peer from calling number 3C:61:04:53:88:06 authorized
Wed Oct 30 11:33:33 2024 daemon.notice pppd[1777]: local  LL address fe80::60ea:7e9b:9361:c651
Wed Oct 30 11:33:33 2024 daemon.notice pppd[1777]: remote LL address fe80::ded2:fcff:fe24:dd17
Wed Oct 30 11:33:33 2024 daemon.notice pppd[1777]: local  IP address 192.0.0.1
Wed Oct 30 11:33:33 2024 daemon.notice pppd[1777]: remote IP address 88.72.0.1
Wed Oct 30 11:33:33 2024 daemon.notice pppd[1777]: primary   DNS address 176.95.16.250
Wed Oct 30 11:33:33 2024 daemon.notice pppd[1777]: secondary DNS address 176.95.16.251
Wed Oct 30 11:33:34 2024 daemon.notice netifd: Network device 'pppoe-wan' link is up
Wed Oct 30 11:33:34 2024 daemon.notice netifd: Interface 'wan' is now up

This is strange since the ISP is giving you v6 configuration both inside and outside the tunnel. But the inside the tunnel is only a /56 prefix (which is good) but no direct IP. And outside the tunnel is a real mess with multiple IPs in different /64 prefixes but no larger routed prefix.

As a stopgap without knowing more about this ISP, try ip6class pppoe-wan on the LAN interface. This should (along with the default ip6assign 60 setting) give lan a /60 out of the /56 and allow LAN clients to route IPv6.

will this also makes me ping a public ipv6 adress in the internet from the openwrt router?
when i try this now it doesnt seems to work correctly - my assumption is, that vodafone disrupts the ipv6 connection ...

root@OpenWrt:~# ping 64:ff9b::40be:3fde
PING 64:ff9b::40be:3fde (64:ff9b::40be:3fde): 56 data bytes
^C
--- 64:ff9b::40be:3fde ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss
root@OpenWrt:~# traceroute 64:ff9b::40be:3fde
traceroute to 64:ff9b::40be:3fde (64:ff9b::40be:3fde), 30 hops max, 72 byte packets
 1  2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)  0.055 ms  0.596 ms  0.423 ms
 2  2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)  1.255 ms  5.045 ms  0.060 ms
 3  2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)  29.959 ms  0.060 ms  7.725 ms
 4  2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)  5.099 ms  12.639 ms  0.055 ms
 5  2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)  5.125 ms  0.052 ms  0.053 ms
 6  2a00:10:3f32:9c01:6a1:51ff:fe80:14cd (2a00:10:3f32:9c01:6a1:51ff:fe80:14cd)  0.056 ms  0.054 ms  0.054 ms

You could also try removing or disabling the stock wan6 section, which is making DHCP requests directly on eth0.2; outside the tunnel. Apparently something is answering them, perhaps with a lot of nonsense. A pppoe ISP usually has both IPv4 and IPv6 inside the tunnel.

nice - i stoped the wan6 interface - now i get better results:

root@OpenWrt:~# mtr -ezb6w -c 100 one.one.one.one
Start: 2024-10-30T18:57:08+0000
HOST: OpenWrt                                             Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. AS3209   2a00::50:cb:23 (2a00::50:cb:23)              0.0%   100   19.0  35.8  12.8 129.9  28.9
  2. AS3209   2a00::150:0:2d (2a00::150:0:2d)             11.0%   100   33.5  14.9  12.9  39.2   4.7
  3. AS3209   2a00::150:0:89 (2a00::150:0:89)              6.0%   100   13.7  14.9  13.1  45.9   4.4
  4. AS???    cloudflare.bcix.de (2001:7f8:19:1::3417:1)   0.0%   100   13.8  21.2  12.6  70.7  12.1
  5. AS13335  one.one.one.one (2606:4700:4700::1111)       0.0%   100   13.3  14.0  12.6  37.1   3.6
root@OpenWrt:~#

root@OpenWrt:~# tracepath -6 -b one.one.one.one
 1?: [LOCALHOST]                      138583.000ms pmtu 1492
 1:  2a00::50:cb:23 (2a00::50:cb:23)                     7786.000ms
 1:  2a00::50:cb:23 (2a00::50:cb:23)                     636443.000ms
 2:  2a00::150:0:10 (2a00::150:0:10)                     856152.000ms asymm  3
 3:  2a00::150:0:89 (2a00::150:0:89)                     225248.000ms asymm  4
 4:  cloudflare.bcix.de (2001:7f8:19:1::3417:1)          983376.000ms asymm  6
 5:  no reply
 6:  no reply
 7:  no reply
...

root@OpenWrt:~# ping 64:ff9b::40be:3fde
PING 64:ff9b::40be:3fde (64:ff9b::40be:3fde): 56 data bytes
^C
--- 64:ff9b::40be:3fde ping statistics ---
13 packets transmitted, 0 packets received, 100% packet loss

the interfaces show the following:

is fe80::5524:5f1e:fc80:1018/128 the public ipv6 adress that i can reach from the outside for example with wireguard to access my local network?

No, IP6s that start with fe80 are link-local, they are not vaild on the Internet. You still don't have a public IPv6 (starts with 2 or 3), though there is a PD on wan_6. I don't have direct experience with pppoe but I think the pppoe driver is supposed to start up wan_6 and then obtain both an IP and a prefix from the ISP. (note that wan_6 is a completely different name than wan6.)

Kinda seems like it's working to me though, if you look at br-lan there in your screenshot there's a public ip right there. Though once you figure out your ip address troubles depending on what port you run the wireguard on you'll need to adjust the firewall settings to let it through, probably with a rule to allow UDP connection on the wireguard port.

i try to traceroute this public ipv6 from here and got these results:

so the last hop (Nr. 13) should be already my openwrt router? then the public ipv6 works already - that would be nice.