Linode Library Home
Linode Library RSS Feed
Home :: Networking
Print View View Source

Native IPv6 Networking

Published: Tuesday, May 3rd, 2011 by Amanda Folson

Linode provides native IPv6 support in all of our facilities. To enable IPv6, simply navigate to your Linode's "Remote Access" subtab and then click "Enable IPv6". You will be prompted to reboot your Linode.

Contents

Setting up IPv6

Once you have been assigned an address, you will need to reboot in order for the IP to be routed to your Linode. Your new IPv6 address will be automatically configured, and you should be able to run the ifconfig command and see output that is similar to the following:

root@titan:~# ifconfig eth0
    eth0     Link encap:Ethernet  HWaddr f2:3c:91:8c:5b:84
    inet addr:173.255.223.62  Bcast:173.255.223.255  Mask:255.255.255.0
    inet6 addr: 2600:3c01::f03c:91ff:fe8c:5b84/64 Scope:Global
    inet6 addr: fe80::f03c:91ff:fe8c:5b84/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST     MTU:1500  Metric:1
    RX packets:45790 errors:0 dropped:0 overruns:0 frame:0
    TX packets:17471 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:51640371 (51.6 MB)  TX bytes:31004894 (31.0 MB)
    Interrupt:28

In this example, the IPv6 address associated with the Linode is "2600:3c01::f03c:91ff:fe8c:5b84", which is denoted by the "Scope:Global" declaration that follows it. The "/64" at the end of the addresses is part of the "CIDR" notation, which refers to the subnet that you are on. The "Scope:Link" declaration after the "fe80::f03c:91ff:fe8c:5b84/64" IP is indicative of a local link address.

To test the connection, you can use the ping6 utility:

root@titan ~ # ping6 ipv6.google.com -c 3
PING ipv6.google.com(2a00:1450:400b:c00::63) 56 data bytes
64 bytes from ipv6.google.com(2a00:1450:400b:c00::63): icmp_seq=1 ttl=55 time=17.9 ms
64 bytes from ipv6.google.com(2a00:1450:400b:c00::63): icmp_seq=2 ttl=55 time=18.0 ms
64 bytes from ipv6.google.com(2a00:1450:400b:c00::63): icmp_seq=3 ttl=55 time=17.9 ms

--- ipv6.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 17.924/17.977/18.010/0.037 ms

IPv6 Address Pools

Additional blocks of 4096 addresses can be requested at no charge. Addresses in these pools can be used on any of your Linodes that reside in the same facility. For example, if you had four Linodes in Newark, you could assign each of them addresses from your Newark address pool. Once your pool has been allocated, you will need to reboot your Linode(s) in order for them to be able to bring up addresses in the pool.

Your pool will be visible under the "Remote Access Tab" of the Linode Manager in a manner similar to the following:

2600:3c01::02:6000/64 - 2600:3c01::02:6fff/64 (4096 addresses)

Adding IPv6 Addresses

To attach an IP to your interface, issue the following command, making sure to replace the example IP with one of your pool addresses:

ip -6 addr add 2600:3c01::02:6000/64 dev eth0

You may then verify that the IP has been brought up by issuing the ip -6 addr show eth0 command:

root@debian:~# ip -6 addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 2600:3c01::2:6000/64 scope global
    valid_lft forever preferred_lft forever
inet6 2600:3c01::f03c:91ff:fe96:bae3/64 scope global dynamic
    valid_lft 43115sec preferred_lft 43115sec
inet6 fe80::f03c:91ff:fe96:bae3/64 scope link
    valid_lft forever preferred_lft forever

If you need to configure more than 16 IPv6 address, add a line to /etc/sysctl.conf that resembles the following:

File excerpt:/etc/sysctl.conf

   net.ipv6.conf.eth0.max_addresses=32

If at any time you wish to see IPv6 addresses that are brought up on your Linode, issue the following command:

ip -6 addr show

Additionally, you can use the following command to see information about your network route:

ip -6 route show

Private and Floating IPs

Since addresses in your pool can be used on any of your Linodes in the same facility, you will not need to configure failover through the Linode Manager for any of your IPv6 addresses. However, you will still need to configure software on your Linode to handle the failover process.

IPv6 traffic to and from Linodes within the same facility is not counted towards your monthly transfer, so there is no need to request private IPv6 IPs.

Creative Commons License

This guide is licensed under a Creative Commons Attribution-NoDerivs 3.0 United States License.

Last edited by Matthew Cone on Tuesday, February 28th, 2012 (r2740).