Thursday, November 13, 2014
Discover IPv6 enabled devices on your LAN
pi@raspevaq ~ $ ping6 -c4 -I eth0 ff02::1 | awk '{ print $4 }' | grep fe80 | sed -e 's/:$//' | sort -u
fe80::1af4:6aff:fe9c:ced4
fe80::212:40ff:fe8a:8e38
fe80::ba27:ebff:fef2:b330
pi@raspevaq ~ $
Tuesday, July 29, 2014
Dutch ISP Telfort ends its IPv6 offering
Ouch: It's 2014 and Dutch ISP ends its IPv6 service to its customers.
Telfort started an IPv6 pilot in December 2011 (see my blog post) and offered opt-in IPv6 to all its customers as of March 2013 (see my blog post). And all that ended yesterday, July 28, 2014.
As the reason for ending the IPv6 pilot, Telfort says it's moving to a new datacenter.
Telfort offers no clear plans for re-introduction of IPv6: Telfort refers to its dependency on mother company KPN, which does not offer IPv6 to consumer customers.
So: one step back for IPv6 and Telfort.
Telfort started an IPv6 pilot in December 2011 (see my blog post) and offered opt-in IPv6 to all its customers as of March 2013 (see my blog post). And all that ended yesterday, July 28, 2014.
As the reason for ending the IPv6 pilot, Telfort says it's moving to a new datacenter.
Telfort offers no clear plans for re-introduction of IPv6: Telfort refers to its dependency on mother company KPN, which does not offer IPv6 to consumer customers.
So: one step back for IPv6 and Telfort.
Sunday, July 13, 2014
Testing IPv6-only on Ubuntu
A nice try, just for fun: how is the Internet behaving with IPv6-only on a Ubuntu system?
Before we start: I think IPv4 will be in use for at least 10 years, together with IPv6. So IPv6-only is just a test.
Pre-condition: your IPv6 must be working. Check with
ping6 -c4 ipv6.google.com
Two steps to remove IPv4:
First
sudo gedit /etc/resolv.conf
and put this before the existing nameserver entry:
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
Then remove your IPv4 address, in my case 192.168.1.113 from wlan0:
sudo ip addr del 192.168.1.113/24 dev wlan0
You now only have IPv6. (Don't worry: after a network reload, you have your IPv4 back)
Check that IPv4 is not working anymore:
$ ping 8.8.8.8
connect: Network is unreachable
Check that IPv6 is still working:
ping6 -c4 ipv6.google.com
With your webbrowser, visit (which should all work):
Not working (shame on them!):
You can visit an IPv4-only site like nu.nl via http://www.nu.nl.ipv6.sixxs.org/ . Note that this only work for plain HTTP, not for HTTPS.
If you run
sudo apt-get update && sudo apt-get upgrade
you will get messages like:
Could not resolve 'ppa.launchpad.net'
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Pity.
Back to dual stack IPv4 and IPv6? Just reload your network.
Before we start: I think IPv4 will be in use for at least 10 years, together with IPv6. So IPv6-only is just a test.
Pre-condition: your IPv6 must be working. Check with
ping6 -c4 ipv6.google.com
Two steps to remove IPv4:
First
sudo gedit /etc/resolv.conf
and put this before the existing nameserver entry:
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
Then remove your IPv4 address, in my case 192.168.1.113 from wlan0:
sudo ip addr del 192.168.1.113/24 dev wlan0
You now only have IPv6. (Don't worry: after a network reload, you have your IPv4 back)
Check that IPv4 is not working anymore:
$ ping 8.8.8.8
connect: Network is unreachable
Check that IPv6 is still working:
ping6 -c4 ipv6.google.com
With your webbrowser, visit (which should all work):
- http://ipv6.test-ipv6.com/ , which should say "No IPv4 address detected"
- https://www.google.com/
- https://www.youtube.com/
- https://gmail.com/
- https://www.facebook.com/
- https://www.xs4all.nl/
Not working (shame on them!):
You can visit an IPv4-only site like nu.nl via http://www.nu.nl.ipv6.sixxs.org/ . Note that this only work for plain HTTP, not for HTTPS.
If you run
sudo apt-get update && sudo apt-get upgrade
you will get messages like:
Could not resolve 'ppa.launchpad.net'
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Pity.
Back to dual stack IPv4 and IPv6? Just reload your network.
Friday, June 27, 2014
TP-Link 3600 and 6to4 based IPv6
TP-Link 3600 and IPv6
I just bought a TP-Link 3600 router (formal name: TL-WDR3600). Quite a nice router: good Wifi (80/80 Mbps), almost linespeed (router achieves 380/380 Mbps, so not completely reaching my 420/420 Mbps linespeed). Nice configuration features. And all that for only 45 Euro's.
The Dutch product information says it supports 6RD, which ... it does not. So the router can't use Hurricane Electric.
However, it does support IPv6 via DHCPv6, Static IPv6, PPPoEv6 and 6to4.
As my ISP does not support IPv6, I tried 6to4, and ... it works quite well. The results are below
Results
IPv6 Addressing
On the LAN side, the TP-Link 3600 provides SLAAC. The resulting addresses are:
Raspi with Raspbian:
MAC address: b8:27:eb:96:c4:2f
IPv6 address: 2002:3e2d:7722:1:ba27:ebff:fe96:c42f (MAC-based with the u-bit set, aka EUI-64)
Laptop with Ubuntu, with IPv6 privacy extensions activated:
MAC address: 18:f4:6a:9c:ce:d4
IPv6 addresses:
2002:3e2d:7722:1:545f:6a47:e629:cce (privacy extension)
2002:3e2d:7722:1:1af4:6aff:fe9c:ced4 (MAC-based with the u-bit set, aka EUI-64)
So the format of the IPv6 addresses is:
2002:
In other words, the scheme from http://docs.oracle.com/cd/E19683-01/817-0573/iptm-ip6-trans-1/index.html is followed:
IPv6 Speed
wget -6 'http://ftp.belnet.be/ubuntu.com/ubuntu/releases/precise/ubuntu-12.04.4-desktop-i386.iso' -O /dev/null
results in a mean speed of 7,07 MB/s, so about 70 MBps IPv6.
A "ping6 ipv6.google.com" results in a mean ping time of 6.8 ms
Not bad at all
IPv6 Connectivity
Within the LAN, things works as expected: a direct connection between IPv6 enabled devices.
Conclusion
Details
Hardware and firmware version
Tests run on WDR3600 v1 with Firmware Version: 3.13.34 Build 130909 Rel.53148n
IPv6 configuration screen
Sunday, April 20, 2014
Ubuntu with Netflix, over IPv6
Some cool technology to share:
Ubuntu 14.04, with Netflix (using pipelight), which is using IPv6 (see terminal on the right).
Ubuntu 14.04, with Netflix (using pipelight), which is using IPv6 (see terminal on the right).
Tuesday, April 15, 2014
Hurricane Electric can handle dynamic IPv4 addresses
My ISP loves to give me a new IPv4 address each few days. Until now I used Hurricane Electric's website to update my IPv6 tunnel endpoint accordingly to get my IPv6 working again. I just discovered you can update your tunnel in another way:
curl -s 'https://myname:verysecret@ipv4.tunnelbroker.net/nic/update?hostname=123456'
You have to run this from a machine on your LAN
I created a script like this
date >> /var/log/tunnelbroker.log
curl -s 'https://myname:verysecret@ipv4.tunnelbroker.net/nic/update?hostname=123456' >> /var/log/tunnelbroker.log
and put it into my crontab. Problem solved!
Thanks to the Tunnelbroker FAQ:
curl -s 'https://myname:verysecret@ipv4.tunnelbroker.net/nic/update?hostname=123456'
You have to run this from a machine on your LAN
I created a script like this
date >> /var/log/tunnelbroker.log
curl -s 'https://myname:verysecret@ipv4.tunnelbroker.net/nic/update?hostname=123456' >> /var/log/tunnelbroker.log
and put it into my crontab. Problem solved!
Thanks to the Tunnelbroker FAQ:
My IPv4 endpoint address is dynamic. Can I still create a tunnel? If yes, what do I need to do when my IP address changes?
Yes, you can still create a tunnel even if you are using a dynamic IPv4 endpoint address. If your IPv4 endpoint address changes, you can either login to the tunnelbroker.net page and update your IPv4 endpoint address or use https://ipv4.tunnelbroker.net/nic/update which is designed to be used to update your IPv4 endpoint address.
Monday, April 14, 2014
Top 1000 .nl sites: 66 IPv6 enabled
Of the top 1000 .nl (= Netherlands) sites (based on the Alexa list) 66 are IPv6 enabled. That's 6.6%
Collecting:
alexa-aaaa$ cat top-1m.csv | grep -e "\.nl$" | head -1000 | ./has-an-aaaa-or-not.py > alexa-nl-top1000.txt
Counting:
alexa-aaaa$ cat alexa-nl-top1000.txt | awk '{ print $2 " " $3 " " $4 }' | sort | uniq -c
66 has an IPv6
934 has no IPv6
Collecting:
alexa-aaaa$ cat top-1m.csv | grep -e "\.nl$" | head -1000 | ./has-an-aaaa-or-not.py > alexa-nl-top1000.txt
Counting:
alexa-aaaa$ cat alexa-nl-top1000.txt | awk '{ print $2 " " $3 " " $4 }' | sort | uniq -c
66 has an IPv6
934 has no IPv6
The IPv6 enabled sites are (in order of Alexa relevance):
$ cat alexa-nl-top1000.txt | grep "has an"
google.nl has an IPv6 address
blogspot.nl has an IPv6 address
dumpert.nl has an IPv6 address
geenstijl.nl has an IPv6 address
mijnwoordenboek.nl has an IPv6 address
encyclo.nl has an IPv6 address
xs4all.nl has an IPv6 address
digid.nl has an IPv6 address
rijksoverheid.nl has an IPv6 address
daskapital.nl has an IPv6 address
utwente.nl has an IPv6 address
transip.nl has an IPv6 address
zoover.nl has an IPv6 address
voetbalprimeur.nl has an IPv6 address
mijndomein.nl has an IPv6 address
flabber.nl has an IPv6 address
knmi.nl has an IPv6 address
tudelft.nl has an IPv6 address
sidn.nl has an IPv6 address
froot.nl has an IPv6 address
lindanieuws.nl has an IPv6 address
partyflock.nl has an IPv6 address
npo.nl has an IPv6 address
huurwoningen.nl has an IPv6 address
nsmbl.nl has an IPv6 address
spele.nl has an IPv6 address
nuon.nl has an IPv6 address
worldstream.nl has an IPv6 address
moneybird.nl has an IPv6 address
brekend.nl has an IPv6 address
goedbegin.nl has an IPv6 address
cbs.nl has an IPv6 address
zalando-lounge.nl has an IPv6 address
uvt.nl has an IPv6 address
webhostingtalk.nl has an IPv6 address
strato.nl has an IPv6 address
corendon.nl has an IPv6 address
fonq.nl has an IPv6 address
centralpoint.nl has an IPv6 address
babybytes.nl has an IPv6 address
moneymiljonair.nl has an IPv6 address
kamers.nl has an IPv6 address
dezaak.nl has an IPv6 address
antagonist.nl has an IPv6 address
sochicken.nl has an IPv6 address
torrentproxy.nl has an IPv6 address
want.nl has an IPv6 address
dutchleader.nl has an IPv6 address
ovh.nl has an IPv6 address
kennisnet.nl has an IPv6 address
fashionunited.nl has an IPv6 address
camilleri.nl has an IPv6 address
pcextreme.nl has an IPv6 address
greenhost.nl has an IPv6 address
openoffice.nl has an IPv6 address
prankster.nl has an IPv6 address
culy.nl has an IPv6 address
appwereld.nl has an IPv6 address
sexdateszoeken.nl has an IPv6 address
terena.nl has an IPv6 address
utopiatvshow.nl has an IPv6 address
manners.nl has an IPv6 address
oudjesophetweb.nl has an IPv6 address
neemontslag.nl has an IPv6 address
dailyinspiration.nl has an IPv6 address
volrecepten.nl has an IPv6 address
Sunday, April 13, 2014
IPv4 versus IPv6 traffic on Windows
On Windows, you can see the IPv4 and Ipv6 traffic with the following commands:
netstat -ps ip
netstat -ps ipv6
Example output below (tested on a Windows 7 machine)
netstat -ps ip
netstat -ps ipv6
Example output below (tested on a Windows 7 machine)
Friday, April 11, 2014
IPv6 and IPv4 statistics without netstat
Here's a method to show IPv6 and IPv4 statistics on Linux without the netstat command. I was looking for a method "without netstat", because the very old netstat version 1.42 on Ubuntu (both 12.04 and 14.04) and Debian has a silly overflow bug:
$ netstat -s -6 | grep -i octet
Ip6InOctets: -1
Ip6OutOctets: 80610872
Ip6InMcastOctets: 172080
Ip6OutMcastOctets: 3448
So "-1" IPv6 bytes ... :-(
Here's the solution with /proc/net/snmp6 (and no netstat needed):
$ cat /proc/net/snmp6 | grep -i octet | head -2 | awk '{ print $NF }'
8325976854
80610872
To make it a bit more readable:
You can put this into a five line script:
#!/bin/sh
echo "IPv4 (down resp up):"
cat /proc/net/netstat | grep -i ipext | tail -1 | awk '{ print $8 "\n" $9 }' | awk '{ print int($NF/1048576) " MB" }'
echo "\nIPv6 (down resp up):"
cat /proc/net/snmp6 | grep -i octet | head -2 | awk '{ print int($NF/1048576) " MB" }'
$ ./ipv4-vs-ipv6.sh
IPv4 (down resp up):
3636 MB
31 MB
IPv6 (down resp up):
7971 MB
77 MB
$ netstat -s -6 | grep -i octet
Ip6InOctets: -1
Ip6OutOctets: 80610872
Ip6InMcastOctets: 172080
Ip6OutMcastOctets: 3448
So "-1" IPv6 bytes ... :-(
IPv6 statistics
Here's the solution with /proc/net/snmp6 (and no netstat needed):
$ cat /proc/net/snmp6 | grep -i octet | head -2 | awk '{ print $NF }'
8325976854
80610872
To make it a bit more readable:
$ cat /proc/net/snmp6 | grep -i octet | head -2 | awk '{ print int($NF/1048576) " MB" }'
7940 MB
76 MB
So 7940 MB downstream IPv6 traffic.
IPv4 statistics
The IPv4 statistics are in a different file called ... /proc/net/netstat:
$ cat /proc/net/netstat | grep -i ipext | tail -1 | awk '{ print $8 "\n" $9 }'
3813163404
32346989
And in MB's:
$ cat /proc/net/netstat | grep -i ipext | tail -1 | awk '{ print $8 "\n" $9 }' | awk '{ print int($NF/1048576) " MB" }'
3636 MB
30 MB
To be complete: the overflow for IPv4 traffic:
$ netstat -s | grep -i octet
InOctets: -481799528
OutOctets: 32350221
InMcastOctets: 396
So a negative number of IPv4 bytes ....
Script
You can put this into a five line script:
#!/bin/sh
echo "IPv4 (down resp up):"
cat /proc/net/netstat | grep -i ipext | tail -1 | awk '{ print $8 "\n" $9 }' | awk '{ print int($NF/1048576) " MB" }'
echo "\nIPv6 (down resp up):"
cat /proc/net/snmp6 | grep -i octet | head -2 | awk '{ print int($NF/1048576) " MB" }'
The result is something like:
$ ./ipv4-vs-ipv6.sh
IPv4 (down resp up):
3636 MB
31 MB
IPv6 (down resp up):
7971 MB
77 MB
Monday, March 10, 2014
IPv6 deployment per ISP / ASN
IPv6 deployment per ISP / ASN
I find this a very cool site: http://www.worldipv6launch.org/measurements/ : It will show the IPv6 deployment (percentage) per ISP or ASN. This way you can monitor which ISP actually does IPv6 (instead of just intentions and announcements), and how thoroughly.
Results for some ISPs:
Dutch ISP Xs4all is at 19.54% IPv6 usage:
Dutch ISP Solcon is at 6.63% IPv6 usage:
French ISP Free is at 37.16%:
I find this a very cool site: http://www.worldipv6launch.org/measurements/ : It will show the IPv6 deployment (percentage) per ISP or ASN. This way you can monitor which ISP actually does IPv6 (instead of just intentions and announcements), and how thoroughly.
Results for some ISPs:
Dutch ISP Xs4all is at 19.54% IPv6 usage:
Dutch ISP Solcon is at 6.63% IPv6 usage:
French ISP Free is at 37.16%:
Sunday, January 26, 2014
Netflix and tunneled IPv6
Suddenly my Netflix was only showing English as language/subtitles option, and no more Dutch.
I contacted Netflix via chat, and 'Jeremy' asked me "are you using a proxy, because we see you coming from the US".
Hmmm. I use Hurricane Electric's IPv6 tunnel, and as netflix.com has AAAA addresses, it could be my Netflix was flowing through IPv6, and because of HE's location, it was considered to be coming from the US. And thus no more Dutch language.
I couldn't find how to disable IPv6 in Chrome, so I started Firefox and disabled IPv6 via about:config. And ... tada ... the Dutch language was back.
So tunneled IPv6 has it's disadvantages.
I contacted Netflix via chat, and 'Jeremy' asked me "are you using a proxy, because we see you coming from the US".
Hmmm. I use Hurricane Electric's IPv6 tunnel, and as netflix.com has AAAA addresses, it could be my Netflix was flowing through IPv6, and because of HE's location, it was considered to be coming from the US. And thus no more Dutch language.
I couldn't find how to disable IPv6 in Chrome, so I started Firefox and disabled IPv6 via about:config. And ... tada ... the Dutch language was back.
So tunneled IPv6 has it's disadvantages.
Subscribe to:
Posts (Atom)