The IPv6 interface configuration

The description of the issue

In case the IPv6 address is included in an ordered service, the IPv6 interface issue may occur under particular operating systems, where the IPv6 interface either is not being configured properly or not defined at all after the given OS is started or more precisely after the machine with the given OS image is spawned and started. Due to this fact, the communication over IPv6 may not be available even though the IPv6 address has been allocated to you. The aim of this manual is to describe how to configure the IPv6 interface under particular OSes (under which the issue may occur) in order to solve the IPv6 issue.

NOTICE: The cause of IPv6 communication unavailability may lay outside the provider´s infrastructure. Before applying this manual, always make sure that the conditions under which you test the IPv6, allow for the communication over that protocol – e.g. using the cz.nic tools.

Verifying the IPv6 connectivity readiness

When does the issue occur

The is a number of operating systems available for most of the services we provide. We have encountered the IPv6 interface configuration issue only on following images of server version GNU/Linux operating systems:

  • Ubuntu
  • Fedora
  • CentOS
  • Arch Linux

For the given OS distributions, we hereby provide a procedure, which should help you to configure the IPv6 interface properly and so resolve the issues regarding the IPv6 communication, if present.

Verifying the existence of the properly configured IPv6 interface

It is possible that neither the IPv6 interface nor its configuration causes the IPv6 communication issues. In that is the case, the cause lays elsewhere and this manual will not help you to resolve the IPv6 issues. In order to verify the existence and proper configuration of the IPv6 interface, we recommend that you carry out the 2 following steps. You will need the IPv6 address of the given machine, which can be found in the Customer Portal, on the detail of the given service or in the –email which you have received upon establishing the given service. Connect to the given machine (e.g. using the console available in the Customer Portal or the PuTTY tool), and proceed as follows.

  1. Inside the machine containing the IPv6 interface which is of your interest, verify the existence of the IPv6 interface. Use the ip -6 addr command, which will list all the IPv6 interfaces available. If the IPv6 interface with the IPv6 address allocated to the given machine is not present in the list, the IPv6 interface is not defined. If that is the case, proceed to the following chapter of this manual. Otherwise, proceed to the following step. In order to verify this, you can use the combination of commands as follows: ip -6 addr | grep ipv6.address.ofyour.server
  2. Verifying the IPv6 interface existence – success
    Verifying the IPv6 interface existence – fail
  3. Verify the availability of the given machine over the given IPv6 address from another machine, preferably from another network. The procedure will differ, based on the operating system of the other machine from which you will test the availability over the IPv6:
    • a. Linux – open the shell and use the ping6 –c 5 ipv6.address.ofyour.server command.
    • b. Windows – run the command line processor – the cmd – and use the ping -6 ipv6.ddress.ofyour.server command.

    If the command prints out a lossless reply, the given machine is available over IPv6, the IPv6 interface is properly configured and functional, there is no need to configure it and you do not have to continue reading. If the command prints out a reply with 100% loss, the IPv6 interface is not configured properly or the connection of the machine from which you test the IPv6 availability is not IPv6 ready. If that is the case, proceed to the following chapter of this manual. It is always better to make sure that the machine from which you test the IPv6 availability is IPv6 ready, that is to e.g. test the availability from a machine where we are 100% sure about its IPv6 availability.

    Verifying the availability of the machine over the IPv6 address – success, fail

Configuring the IPv6 interface under GNU Linux Ubuntu / Fedora / CentOS / Arch Linux

  1. We connect to the given machine with the Ubuntu / Fedora / CentOS / Arch Linux OS
  2. (We verify that it is really the Ubuntu / Fedora / CentOS / Arch Linux OS, using the cat /etc/os-release command)
  3. We make sure, that the configuration file of the eth1 interface is not present in the respective directory. If there was one, in the following step, we would have to choose the number in the name of the configuration file 1 higher than the highest of all the configuration files present in the given directory.
  4. Distro Configuration file Verifying existence
    Ubuntu 14 eth1.cfg ls -a /etc/network/interfaces.d/
    Ubuntu 16 60-ens4.cfg ls -a /etc/network/interfaces.d/
    Fedora ifcfg-eth1 ls -a /etc/sysconfig/network-scripts/
    CentOS ifcfg-eth1 ls -a /etc/sysconfig/network-scripts/
    Arch Linux eth1-dhcp.network ls -a /etc/systemd/network
  5. We create the respective configuration file of the interface which will ensure the communication over IPv6.
  6. Distro Creating the configuration file of the IPv6 interface
    Ubuntu 14 sudo touch /etc/network/interfaces.d/eth1.cfg
    Ubutnu 16 sudo touch /etc/network/interfaces.d/60-ens4.cfg
    Fedora sudo touch /etc/sysconfig/network-scripts/ifcfg-eth1
    CentOS sudo touch /etc/sysconfig/network-scripts/ifcfg-eth1
    Arch Linux sudo touch /etc/systemd/network/eth1-dhcp.network
  7. We enter the following lines into the created configuration file and save the changes.
  8. Distro The content of the IPv6 interface configuration file
    Ubuntu 14 auto eth1
    iface eth1 inet6 auto
    Ubuntu 16 auto ens4
    iface ens4 inet6 dhcp
    Fedora DEVICE=”eth1″
    BOOTPROTO=”dhcp”
    ONBOOT=”yes”
    TYPE=”Ethernet”
    PERSISTENT_DHCLIENT=”yes”
    DHCPV6C=”yes”
    CentOS DEVICE=”eth1″
    BOOTPROTO=”dhcp”
    ONBOOT=”yes”
    TYPE=”Ethernet”
    PERSISTENT_DHCLIENT=”1″
    DHCPV6C=”yes”
    Arch Linux [Match]
    Name=eth1
    [Network]
    DHCP=ipv6
    [DHCP]
    UseMTU=true
  9. We restart the machine, e.g. using the sudo reboot command.
  10. We verify the existence of the properly configured IPv6 interface the way it was described in the previous chapter of this manual.
Configuring the IPv6 interface under GNU/Linux Ubuntu 14
Configuring the IPv6 interface under GNU/Linux Ubuntu 16
Configuring the IPv6 interface under GNU/Linux Fedora
Configuring the IPv6 interface under GNU/Linux CentOS
Configuring the IPv6 interface under GNU/Linux Arch Linux