Unfortunately it is not possible to get an IPv6 address for servers at Server4You.
Check IPv6 availability for external server at Strato (1.21)
Every dedicated server at Strato can get an /56-IPv6-Subnet. Just activate IPv6 support on the control panel of that server and you will be informed about your subnet and the primary address of your server.
# configure address
/sbin/ip addr add <main ip address> dev eth3
# set default route
/sbin/ip route add default via fe80::1 dev eth3
In case everything was configured correctly you can test it with:
# ping6 -c5 ipv6.google.com
PING ipv6.google.com(ham02s11-in-x13.1e100.net) 56 data bytes
64 bytes from ham02s11-in-x13.1e100.net: icmp_seq=1 ttl=56 time=6.79 ms
64 bytes from ham02s11-in-x13.1e100.net: icmp_seq=2 ttl=56 time=7.24 ms
64 bytes from ham02s11-in-x13.1e100.net: icmp_seq=3 ttl=56 time=7.28 ms
64 bytes from ham02s11-in-x13.1e100.net: icmp_seq=4 ttl=56 time=7.28 ms
64 bytes from ham02s11-in-x13.1e100.net: icmp_seq=5 ttl=56 time=7.28 ms
--- ipv6.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 6.793/7.177/7.287/0.213 ms
If you want to keep that settings permanently, put all command it /etc/rc.local
So there seems to be no problem with stand alone servers at Strato.
Check IPv6 availability for external server at Hetzner (1.20)
Every server at Hetzner will get a native /64-IPv6-Subnet routed to that server. Besides virtual servers, an additional /48 subnet might be requested. Reverse DNS entries can be configured with the Hetzner robot. On this webpage you can also see the assigned subnet and the default gateway for your server. So configuring IPv6 is pretty easy:
# configure address
/sbin/ifconfig eth0 inet6 add <ip address from subnet>
# activate ipv6 routing
/sbin/route -A inet6
# set default route
/sbin/route -A inet6 add ::/0 gw <Hetzner gateway>
In case everything was configured correctly you can test it with:
# ping6 -c5 ipv6.google.com
PING ipv6.google.com(fa-in-x69.1e100.net) 56 data bytes
64 bytes from fa-in-x69.1e100.net: icmp_seq=1 ttl=56 time=8.40 ms
64 bytes from fa-in-x69.1e100.net: icmp_seq=2 ttl=56 time=8.64 ms
64 bytes from fa-in-x69.1e100.net: icmp_seq=3 ttl=56 time=7.97 ms
64 bytes from fa-in-x69.1e100.net: icmp_seq=4 ttl=56 time=7.94 ms
64 bytes from fa-in-x69.1e100.net: icmp_seq=5 ttl=56 time=8.36 ms
--- ipv6.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 7.948/8.267/8.640/0.266 ms
If you want to keep that settings permanently, put all commands in /etc/rc.local
So there seems to be no problem with stand alone servers at Hetzner.
IPv6 tunnel with Hurricane Electric (1.11 – 1.16)
Unfortunately Hurricane Electric (or tunnelbroker.net) uses 6in4 tunnels. In order to create a tunnel, my first obstacle is an IP address that answers pings. As I am captured behind a badly configured CGN of a German cable provider (Telecolumbus), I am afraid it is not possible to use the service of HE.
So for the rest of the experiment I will stick to the infrastructure provided by SixXS (of course I am pretty sure that the service of HE would be excellent as well).
BOM: bug squashing and new versions during last three months
As announced in my previous DTPOM article the month of May should be a bug squashing month. As everything worked well, I used last three months to decrease the bug count in Debian packages. Unfortunately I don’t remeber everything, so this list might be incomplete:
- Due to the help of T, who pointed me to a patch which was sent to the fpdns-user emaillist, bug 680077 disappeared.
- All meep-* packages had a problem with include files installed in the wrong directory. So development of own programs was a bit difficult. This resulted in
All bugs have been closed in Sid, but the release team doesn’t want to put it to stable!?
- Package setserial had some open bugs. Most of them resulted from a strange concept of initializing the serial port and could be closed with just some explanations:
- With the next upload of greylistd to experimental two bugs could be closed:
- Two uploads of package uucp closed a few ‘simple’ and one RC bug:
Further I created packages for some new software versions:
- all packages of the mgltools got a new version (1.5.7~rc1~cvs.20130519-1)
autodocktools, mgltools-bhtree, mgltools-cadd, mgltools-dejavu, mgltools-geomutils, mgltools-gle, mgltools-mglutil, mgltools-molkit, mgltools-networkeditor, mgltools-opengltk, mgltools-pmv, mgltools-pyautodock, mgltools-pybabel, mgltools-pyglf, mgltools-scenario2, mgltools-sff, mgltools-support, mgltools-symserv, mgltools-utpackages, mgltools-viewerframework, mgltools-vision, mgltools-visionlibraries, mgltools-volume, mgltools-webservices - autodocksuite is now available in version 4.2.5.1-3
- saint is now available in version 2.3.4+dfsg-2
- I uploaded version 1.5.3-1 of python-cogent, but meanwhile even version 1.5.3-2 is available
- gcal got an update to version 3.6.3-2
- epigrass got an update to version 2.2.2-2, unfortunately in that version it depends on python-sqlsoup, which is still in the NEW-queue. Thus this package got an RC bug …
From my point of view 17 closed bugs and 29 updated packages within three months are a pretty good result.
The next month will be characterized by solving all problems with epigrass (and of course python-sqlsoup), mgltools-cadd (there must be a better version hidden somewhere in the sources that needs to be activated somehow) and mgltools-sff (why doesn’t it migrate to testing?). Further the TODO-list of the Debian Med UDD needs to become smaller.
Second tunnel/subnet from SixXS (1.3, 1.4, 1.5)
After having configured everything the first time, the second tunnel/subnet is again just a matter of patience.
Subnet one from SixXS (1.3)
After patiently waiting for SixXS credits, you can apply for a new subnet that is routed to your tunnel.
Again this is done on the SixXS website and you need to add a short explanation about how you want to use the subnet.
As last time, you will get an email that everything is configured.
IPv6 local endpoint for first tunnel (1.2)
Now we can start to configure our local part of the tunnel. I want to keep each service as much as possible seperated from the underlying hardware. So I will use a virtual machine to handle my part of the tunnel. Thus I can easily control all traffic through the tunnel and get a dedicated firewall for free.
There are lots of information available in the net, so I don’t explain how to create a new Xen guest domain. The new instance is a Debian Wheezy system
with just 128MB RAM and 4GB disk space.
Afterwards you just need to install the Debian package \it aiccu, enter SixXS-Userid and Password and choose the default tunnel you want to use. In case of problems please have a look in the SixXS FAQ. Most likely your firewall has to be configured accordingly. More aiccu configuration can be done via /etc/aiccu.conf
After starting aiccu, the tunnel will be active and hopefully never terminate.
IPv6 tunnel from SixXS (1.1)
It is very easy to create a SixXS tunnel. First you have to register on the SixXS website. After having done so, you will get some credits. Depending on the number of credits you have, you can apply for tunnels, further subnets routed to your tunnel, DNS server entries and so on.
You can obtain new credits by keeping your tunnel active for some time. Every two weeks you will be given five credits. So all you need to work with SixXS is patience.
The first step after registration is to apply for a tunnel. SixXS won’t manage tunnels by itself but delegates this task to one PoP. You should choose the nearest one (network wise) for you tunnel and give a short explanation about how you want to use it. After some time you will get an email that everything is configured.
IPv6
After playing around with IPv6 just for fun, I think it is time to really reconfigure the whole network now.
1) As I don’t have native IPv6 access yet, I need a tunnel broker to connect my hosts to the IPv6 network.
According to Wikipedia there are only two of them who have PoPs in Europe:
- SixXS
- Hurricane Electric
In order to make things a bit more complicated, I want to connect two sites together with some external servers.
Further all IPv4 stuff needs to work as well, so I need a dual stack solution.
The following is a list of problems that I am trying to solve step by step.
1.1) tunnel one from SixXS
1.2) local tunnel endpoint one
1.3) routable subnet one from SixXS
1.4) tunnel two from SixXS
1.5) local tunnel endpoint two
1.6) routable subnet two from SixXS
1.11) tunnel one from Huricane Electric
1.12) local tunnel endpoint one
1.13) routable subnet one from Hurricane Electric
1.14) tunnel two from Huricane Electric
1.15) local tunnel endpoint two
1.16) routable subnet two from Hurricane Electric
1.20) check IPv6 availability for external server at Hetzner
1.21) check IPv6 availability for external server at Strato
1.22) check IPv6 availability for external server at Server4You
2) configure external server
2.1) configure connectivity for external server at Hetzner
2.2) configure connectivity for external server at Strato
2.3) configure connectivity for external server at Server4You
3) configure services
3.1) bind
3.2) DNS resolving
3.3) apache
3.4) exim4
3.3) inn2
3.6) ssh
3.7) nagios
3.8) nfs
3.9) openafs
3.10) xen
3.11) ftp
3.11) openvpn
4) configure home network
4.1) automatic configuration for all hosts
4.2) dynamic default route
4.3) manually routing of special networks
4.4) configure services from list in 3)
Let’s start the journey …