IPv6 advantages and its configuration in OS Linux

By | September 23, 2009

Internet Protocol version 6 (IPv6) represents the next-generation protocol designed to replace IPv4, which still remains to be the most commonly used protocol in the Internet, though it’s nearly twenty years old now. The main reason for using another protocol is a growing shortage of IPv4 addresses needed by all new machines added to the Internet.

IPv6 has a vastly larger address space than IPv4. This results from the use of a 128-bit address, whereas IPv4 uses only 32 bits. The new address space thus supports 2^128 (about 3.4×10^38) addresses. Thus IPv6 eliminates the need for network address translation (NAT), which gained widespread deployment as an effort to solve the problem of IPv4 address exhaustion.

Of course, IPv4 address exhaustion is not the only problem that can be fixed by IPv6. Moreover IPv6 has other important improvements to IPv4 such as routing, network autoconfiguration, network security and etc.

In addition to the above mentioned improvements here the significant advantages of IPv6 which can be very important for the end users:

  1. Static IP-addresses for your computers

  2. Nowadays, in case you don’t have direct IPv6, the best way to connect to IPv6 is to register an account at a tunnel broker’s site. A tunnel broker is a company that offers service (for free) of transferring your traffic from IPv4 to IPv6 and backwards.

    Using this method user gets his/her own IPv6 subnet, which is tied not to the current IPv4 address, but to his/her account (login and password). Thus you have the opportunity not just to get the range of IPv6 addresses, but to use them even if you change your IPv4 provider.

    Moreover, every user gets a subnet /64, which is enough to connect to the network 2^64 devices and assign them static Internet addresses. This means that you can access any computer of your network directly (via its address) without the necessity to use NAT.

    Some users may think that security problems will appear in this case, isn’t it? In fact there is no reason to worry. The only thing you should do is to configure your firewall, so it doesn’t pass connections from the Internet to the local network, except the ones that were allowed.

  3. Higher speed for torrents downloading

  4. BitTorrent Protocol is designed in such a way that users who do not have the opportunity to receive incoming connection (provider’s NAT is used) can “torrent” the files just from the users who have own IP address (NAT is not used). That’s why the growing shortage of IPv4 addresses will cause the decrease in amount of torrent peers and seeds.

    If you use IPv6 there is no need to worry about this problem, because IPv6 users can get own IP addresses even in case their IPv4 provider uses NAT for them. Of course, you should check if your favorite tracker supports IPv6.

  5. Long-lived connections that remain even after IPv4 address changing

    Internet access control systems of some providers work in such a way that maximum duration of an Internet connection is equal to 24 hours, after which a forced disconnection takes place. During the repeated connection new IP-address is given. This can happen while you are chatting, playing online games, use different online services and etc.
    If you connect using IPv6, there won’t be a disconnection while IPv4 address is changing, because IPv6 remains the same. The only thing that will happen is discontinuance of data transfer for 15 seconds – the time needed for a tunnel broker to get the info about new IPv4.

However despite all the improvements and advantages the worldwide penetration of IPv6 protocol is still less than one percent of Internet-enabled hosts in any country; though IPv6 has been implemented on all major operating systems in commercial, business, and home consumer environments.

For now let’s discuss the alternatives of IPv6 connection:

  1. Direct connection

  2. Pros:

    – The most reliable one

    – It’s very easy to configure

    – The lowest ping and high speed


    – In case it’s not offered by your Internet provider there is no way to connect it

    – At the moment the amount of providers who offer IPv6 is pretty limited

  3. 6to4

  4. 6to4 addressing represents a type of IPv6 address created by your IPv4 address. It allows you to set up tunnels over the IPv4 Internet automatically. Thus all the boxes behind your firewall will have IPv6 addresses. In case you would like to learn more please visit this page.


    – There is no need to register any account

    – Optimal (the closest) gateway is chosen automatically by anycast method


    – In case of dynamical IPv4, its change will cause the change of IPv6 as well

  5. Teredo

  6. Teredo is an address assignment and automatic tunneling technology that provides unicast IPv6 connectivity across the IPv4 Internet, when IPv6/IPv4 hosts are located behind one or multiple IPv4 network address translators (NATs). If you need more info about Teredo, you can get it here.


    – It’s very easy to setup (without the necessity to register an account)

    – There is a direct connection with ping between two Teredo users that is no worse than direct IPv6 connection

    – In Windows 7 it’s turned on by default


    – In case of dynamical IPv4, its change will cause the change of IPv6 as well

  7. Tunnel Broker

  8. Pros:

    – It gives static IPv6 range, which does not depend on your Internet provider and does not change if IPv4-address is changed.

    – Some brokers give you the opportunity to easily (via web-interface) delegate reverse DNS to your DNS-servers


    – You need to create an account on the broker’s site

    – Some brokers have to be informed when your IPv4 is changed (still this can be automated)

In modern GNU/Linux distributions there is an opportunity to automatically get configured and working IPv6-tunnel by entering the only command (even if your provider does not support IPv6 or provides access to the Internet just via NAT). To do so you have to install a program called Miredo (http://www.remlab.net/miredo/). But before that make sure that the usage of UDP-port 3544 is not prohibited by your firewall.

The main characteristic feature of given method is that your IPv6-address will be changed each time you change your IPv4-address. In case you would like to get a static IPv6-address (it possible, moreover, absolutely free of charge), please use the tunnel broker method, which will be described a little bit later.

Now let’s go ahead with the IPv6 installation

First of all we need to make sure that there is no access to IPv6 on the given computer:

# ping6 ipv6.google.com
connect: Network is unreachable

Now we need to install Miredo:

sudo apt-get install miredo
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 167kB of archives.
After this operation, 430kB of additional disk space will be used.
Get:1 http://localhost lenny/main miredo 1.1.5-1 [167kB]
Fetched 167kB in 0s (1148kB/s)
Selecting previously deselected package miredo.
(Reading database ... 34093 files and directories currently installed.)
Unpacking miredo (from .../miredo_1.1.5-1_amd64.deb) ...
Processing triggers for man-db ...
Setting up miredo (1.1.5-1) ...
Starting Teredo IPv6 tunneling daemon: miredo.

Check IPv6 again:

# ping6 ipv6.google.com
PING ipv6.google.com(fx-in-x68.google.com) 56 data bytes
64 bytes from fx-in-x68.google.com: icmp_seq=1 ttl=58 time=135 ms
64 bytes from fx-in-x68.google.com: icmp_seq=2 ttl=58 time=135 ms
64 bytes from fx-in-x68.google.com: icmp_seq=3 ttl=58 time=135 ms
64 bytes from fx-in-x68.google.com: icmp_seq=4 ttl=58 time=135 ms
--- ipv6.google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 135.393/135.547/135.631/0.091 ms

It’s working! Now you can use any of available IPv6 services and enjoy the fact that your computer belongs to the future Internet.