I had to disable IPv6 on my laptop. I don’t know why. Do you know how to figure out what my problem is? Is this a config of mine somewhere? My operating system? My router? My ISP?
This is how it starts:
alex@melanobombus:~$ ping irc.freenode.net PING irc.freenode.net(2606:2e00:8003:1:ec4:7aff:fe53:57ea (2606:2e00:8003:1:ec4:7aff:fe53:57ea)) 56 data bytes ^C --- irc.freenode.net ping statistics --- 5 packets transmitted, 0 received, 100% packet loss, time 4089ms
For hosts that resolve to an IPv6, I get 100% packet loss.
So now I’m going to disable IPv6 and it will work again.
First, show that I have IPv6 enabled:
alex@melanobombus:~$ ifconfig lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 44 bytes 3144 (3.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 44 bytes 3144 (3.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.178.28 netmask 255.255.255.0 broadcast 192.168.178.255 inet6 fe80::42d6:72e6:52d2:be3c prefixlen 64 scopeid 0x20<link> inet6 2a02:168:48ac:0:6390:7121:3b0e:23b2 prefixlen 64 scopeid 0x0<global> ether 18:cf:5e:f4:02:3b txqueuelen 1000 (Ethernet) RX packets 61 bytes 7718 (7.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 104 bytes 15249 (14.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Create the file `/etc/sysctl.d/70-disable-ipv6.conf` with the following content:
net.ipv6.conf.all.disable_ipv6 = 1
Apply it:
sudo sysctl -p -f /etc/sysctl.d/70-disable-ipv6.conf
Verify that IPv6 is off:
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) RX packets 44 bytes 3144 (3.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 44 bytes 3144 (3.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.178.28 netmask 255.255.255.0 broadcast 192.168.178.255 ether 18:cf:5e:f4:02:3b txqueuelen 1000 (Ethernet) RX packets 180 bytes 44953 (43.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 115 bytes 16444 (16.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
And verify that packets are no longer lost:
alex@melanobombus:~$ ping irc.freenode.net PING chat.freenode.net (130.185.232.126) 56(84) bytes of data. 64 bytes from hitchcock.freenode.net (130.185.232.126): icmp_seq=1 ttl=55 time=32.8 ms 64 bytes from hitchcock.freenode.net (130.185.232.126): icmp_seq=2 ttl=55 time=32.3 ms 64 bytes from hitchcock.freenode.net (130.185.232.126): icmp_seq=3 ttl=55 time=32.5 ms ^C --- chat.freenode.net ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 32.390/32.604/32.887/0.294 ms
Oh, and this is what the router says:
#Debian #Administration
(Please contact me if you want to remove your comment.)
⁂
My ISP’s router (a ZyXel something) sometimes loses IPv6 service - and only regains it after a reboot or powercycle.
I’ve set a cron job that tries to ping an IPv6 address up, so I get a notice when the router freaks out.
– Adam 2018-03-24 18:47 UTC
---
Oh wow! I need to check that.
– Alex Schroeder 2018-03-24 21:50 UTC
---
Got help by Marcin Cieślak <@saper> on Mastodon and I was able to remove the change I had made.
For my router, I basically did two things:
1. use native IPv6 connection
2. no ULA (even though it is not recommended)
Marcin ended by saying I was now ready for the Hurricane Electric IPv6 Sage certification program. Maybe one day! 😄
– Alex Schroeder 2018-03-24 23:48 UTC
---
Months later, here I am again. I replaced all the IPv6 numbers with an ellipsis.
$ ping alexschroeder.ch PING alexschroeder.ch(... (...)) 56 data bytes ^C --- alexschroeder.ch ping statistics --- 38 packets transmitted, 0 received, 100% packet loss, time 912ms $ traceroute6 alexschroeder.ch traceroute to alexschroeder.ch (...) from ..., 30 hops max, 24 byte packets 1 fritz.box (...) 1.332 ms 0.787 ms 0.738 ms 2 2a02:168:2000:4::1 (...) 2.98 ms 1.128 ms 5.378 ms 3 r1zlz1.core.init7.net (...) 3.235 ms 1.033 ms 0.91 ms 4 * * * 5 * * * 6 * * *
Basically the browser still works, but SSH to my servers is extremely slow. It takes a minute or so to connect but once I’m connected there is no problem.
In June I asked for a static IPv6 prefix and got it. Using `ifconfig` I see that my local machine still uses the prefix, so everything should be fine.
– Alex Schroeder 2018-12-07 14:12 UTC