We are fortunate to have several of our servers hosted by Hetzner in their data centres in southern Germany. Since 2009, all Hetzner systems could have IPv6 connectivity, all you had to do was ask for a subnet and you would receive a /64 subnet allocation and a gateway address; these might look like this:

IPs: 2a01:4f8:145:4243::/64
Gateway: 2a01:4f8:145:4240::1 /59

We have also deployed IPv6 locally using tunnels and subnets provided through Sixxs or Hurricane Electric. For some time we have tunnelled internal services over IPv6. Using Sixxs connectivity requires tunnels to be connected via Points of Presence (POPs); generally these tunnels are managed by the aiccu tool and local IPv6 addresses through radvd. Most of the time this has worked well requiring almost no configuration. However, when we looked at providing IPv6 networking from our Hetzner systems we had to figure how to actually get IPv6 configured correctly on our openSuSE boxes.

Usually openSuSE provides good configuration support for networking through its Yast tool. Not so for IPv6, it is necessary to work at a lower level. There are plenty of excellent resources on the Internet that explain how everything should work and how to configure your network, at least to test it: the definitive documentation is the Linux IPV6 Howto. There is some specific SuSE information at Cyberciti which provides a couple of commands to setup IPv6 quickly for testing. Using our addresses above for the eth0 interface, we can do this:

  1. add an IPv6 address with: 
    ip -6 address add 2a01:4f8:145:4243::2/64 dev eth0
  2. add IPv6 routing with:
    ip -6 route add default via 2a01:4f8:145:4240::1 dev eth0
  3. and then test using
    ip -6 address show dev eth0, ip -6 route show
    or
    route -A inet6 and ping6 ipv6.google.com

This is enough to get IPv6 working but this will not survive a reboot, we need something that will persist

The IPv6 address can be assigned to your network card easily enough; either add it as an Additional Address to your Network Device within Yast or add it directly to appropriate file below /etc/sysconfig/network, ifcfg-eth0 in the example above. Add 2 lines like:

IPADDR_1='2a01:4f8:145:4243::2/128'
LABEL_1="etho06'

The label should be a unique name for the interface

A permanent route can be added to the routes file in the same folder with these 2 lines

2a01:4f8:145:4240::1 - 59 eth0
default 2a01:4f8:145:4240::1 - eth0

Restarting your network with service network restart should then do the trick

This blog post was posted to Technobabble on Tuesday August 31st, 2010 at 1:36PM
 

Leave a Comment

All comments are moderated and hidden until reviewed; please preview before posting. You can use bbcode in the comment: e.g. [b]This is bold[/b], [url]http://www.willmcgugan.com[/url], [code python]import this[/code]
Preview Posting...
Previewing comment, please wait a moment...
Search for Posts
Tags
Popular Tags
 
Archives
2014
 
Recent Comments
As you mention, it is true that an unregistered record cannot be used in the (Select *) method of setting ...
 
© 2013 Andy Ferguson