Search


print PDF
IPv4 and IPv6


Theory


Here are some pages on which you can get information about IPv6:



IPv6 at OVH



For our facilities, we have the following /32 Netz: 2001:41D0::/32

For the routing we use Cisco routers 6k (6509 SUP720 card with the native IPv6 packets to route).

Every customer with a dedicated server at OVH has a fixed IPv4, one or more IpFailover and 18,446,744,073,709,551,616 IPv6 addresses (ie a /64) are attached to the IPv4 server.

So you can with a dedicated server:

  • Use multiple SSL certificates
  • Several anonymous FTP operations
  • Web-hosting service run (IP-based)
  • A public VPN set up based on the dedicated server
  • Etc. ..


Preparation


  • The server must be running with a IPv6 kernel. This kernel is available by netboot Netboot
  • Find your own IPv6 address in manager v3 Manager

An IPv6 example


An IPv4:
213.186.35.9/24

IPv6 will be the following:
2001:41d0:1:209::/64


Here are examples from which you can configure IPv6 on your dedicated server:
2001:41d0:1:209::1/64
2001:41d0:1:209:FF:FF:FF:FF/64
2001:41d0:1:209:A::1:1/64
2001:41d0:1:209::1:B:F/64
2001:41d0:1:209:1:1:1:1/64


The following notations are the same:
2001:41d0:1:209::1:B:F/64
2001:41d0:1:209:0:1:B:F/64
2001:41D0:0001:0209:0000:0001:000B:0000F/64

But you can :: place only once.


An example ifconfig


Once you've switched the server to IPv6 kernel, after the reboot ifconfig already has IPv6 info:
adr inet6: fe80::2e0:4cff:fe99:88d0/64 Scope:Lien

This shows that IPv6 works on the network.


Route: IPv6 Gateway


The router (default gateway) for each IPv6 is always on IP: v:6:FF:FF:FF:FF:FF

For example:

The IPv6 server: 2001:41D0:1:46e::/64 to 2001:41D0:1:4 + 5x FF.
IPv6 Gateway: 2001:41D0:1:4FF:FF:FF:FF:FF

The IPv6 server: 2001:41d0:1:209::/64 to 2001:41d0:1:2 + 5x FF.
IPv6 Gateway: 2001:41d0:1:2FF:FF:FF:FF:FF

IPv6 Installation


To be used for all Linux distributions in the examples below, the server has IPv6, the IPv6 kernel and it is has the address from the manager. A uname-a indicates that an IPv6 kernel, and the command shows us that ifconfig The Router IPv6 already have a local link.

Redhat, CentOS, Fedora


The dedicated server we are running configure with the IPv4: 213.186.35.9/24, this will lead to the following IPv6: 2001:41d0:1:209::/64.
The following examples are identical for Redhat 7.2, Fedora and CentOS. You can therefore also use it for OVH Release Plesk, (based on CentOS).

ifconfig
eth0 Lien encap:Ethernet HWaddr 00:E0:4C:99:88:D0
inet adr:213.186.35.9 Bcast:213.186.35.255 Masque:255.255.255.0
adr inet6: fe80::2e0:4cff:fe99:88d0/64 Scope:Lien


We do 2001:41D0:1:209::1/64 and 2001:41D0:1:209::5/64 Add to eth0 :
/sbin/ifconfig eth0 inet6 add 2001:41D0:1:209::1/64
/sbin/ifconfig eth0 inet6 add 2001:41D0:1:209::5/64


So IPv6 does not disappear at the next reboot it must be added in the configuration file of the eth0 interface. We will create a copy of the file and then edit it:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth.backup
pico /etc/sysconfig/network-scripts/ifcfg-eth0

Here are the contents of the file after the change. The red options were added:
DEVICE=eth0
BOOTPROTO=static
IPADDR=213.186.35.9
NETMASK=255.255.255.0
ONBOOT=yes
GATEWAY=213.186.35.254
IPV6INIT=yes
IPV6ADDR="2001:41D0:1:209::5/64"
IPV6ADDR_SECONDARIES="2001:41D0:1:209::5/64"


All of the following IPv6 must be located in the line IPV6ADDR_SECONDARIES
It has the file /etc/sysconfig/network edited this line and add NETWORKING_IPV6=yes
# This line commented out by System Configuration
NETWORKING=yes
HOSTNAME=ghost.ovh.net
GATEWAY=0.0.0.0
NETWORKING_IPV6=yes

It must be restarted with /etc/init.d/network restart
Note: It is possible that Redhat displays an error: "modprobe: Can not open dependencies file ..." You can ignore this, it does not affect the result.

ifconfig ?
ifconfig
eth0 Lien encap:Ethernet HWaddr 00:E0:4C:99:88:D0
inet adr:213.186.35.9 Bcast:213.186.35.255 Masque:255.255.255.0
adr inet6: 2001:41d0:1:209::1/64 Scope:Global
adr inet6: 2001:41d0:1:209::5/64 Scope:Global
adr inet6: fe80::2e0:4cff:fe99:88d0/64 Scope:Lien


You may be able to ping the gateway but can not use your ipv6, in this case add a default route:

route -A inet6 add default gw votre.gateway.ipv6 dev eth0


For example:

route -A inet6 add default gw 2001:41d0:1:2FF:FF:FF:FF:FF dev eth0



Gentoo


The dedicated server we are running configure with the IPv4: 213.186.35.9/24, this will lead to the following IPv6: 2001:41d0:1:209::/64.
You need to get your IPv6 address in your manager and boot with a IPv6 kernel. The command ifconfig shows us that the router already have a local IPv6 link.
ifconfig
eth0 Lien encap:Ethernet HWaddr 00:E0:4C:8D:73:4D
inet adr:213.186.40.86 Bcast:213.186.40.255 Masque:255.255.255.0
adr inet6: fe80::2e0:4cff:fe8d:734d/64 Scope:Lien

You must edit the file /etc/conf.d/net and simply add the IPv6 in () of interface eth0. Here are the contents of the file after the addition of IPv6. The changes are marked in red:
config_eth0=( "213.186.40.86 netmask 255.255.255.0"
"2001:41D0:1:756::1/64"
"2001:41D0:1:756::2/64"
)
routes_eth0=( "default gw 213.186.40.254" )

We start the new interface:
/etc/init.d/net.eth0 restart

ifconfig ?
ifconfig
eth0 Lien encap:Ethernet HWaddr 00:E0:4C:8D:73:4D
inet adr:213.186.40.86 Bcast:213.186.40.255 Masque:255.255.255.0
adr inet6: 2001:41d0:1:756::1/64 Scope:Global
adr inet6: 2001:41d0:1:756::2/64 Scope:Global
adr inet6: fe80::2e0:4cff:fe8d:734d/64 Scope:Lien


You may be able to ping the gateway but can not use your ipv6, in this case add a default route:

route -A inet6 add default gw votre.gateway.ipv6 dev eth0


For example:

route -A inet6 add default gw 2001:41d0:1:2FF:FF:FF:FF:FF dev eth0



Debian, Ubuntu


The dedicated server we are running configure with the IPv4: 213.186.35.9/24, this will lead to the following IPv6: 2001:41d0:1:209::/64.
You need to get your IPv6 address in your manager and boot with a IPv6 kernel. The command ifconfig shows us that the router already have a local IPv6 link.
eth0 Lien encap:Ethernet HWaddr 00:11:11:6C:E3:93
inet adr:213.251.132.138 Bcast:213.251.132.255 Masque:255.255.255.0
adr inet6: fe80::211:11ff:fe6c:e393/64 Scope:Lien

It then has to file: /etc/network/interfaces be edited, then simply add the IPv6:
iface eth0 inet6 static
address 2001:41D0:1:218a::1
netmask 64

For each additional IPv6 adddress the following must be added to the end of the file:
post-up /sbin/ifconfig eth0 inet6 add 2001:41D0:1:218a::2/64
pre-down /sbin/ifconfig eth0 inet6 del 2001:41D0:1:218a::2/64

And next to it:
post-up /sbin/ifconfig eth0 inet6 add 2001:41D0:1:218a::4/64
pre-down /sbin/ifconfig eth0 inet6 del 2001:41D0:1:218a::4/64


ifconfig ?
ifconfig
eth0 Lien encap:Ethernet HWaddr 00:11:11:6C:E3:93
inet adr:213.251.132.138 Bcast:213.251.132.255 Masque:255.255.255.0
adr inet6: 2001:41d0:1:218a::1/64 Scope:Global
adr inet6: 2001:41d0:1:218a::2/64 Scope:Global
adr inet6: 2001:41d0:1:218a::4/64 Scope:Global
adr inet6: fe80::211:11ff:fe6c:e393/64 Scope:Lien


You may be able to ping the gateway but can not use your ipv6, in this case add a default route:

route -A inet6 add default gw votre.gateway.ipv6 dev eth0


For example:

route -A inet6 add default gw 2001:41d0:1:2FF:FF:FF:FF:FF dev eth0



Free BSD


The dedicated server we are running configure with the IPv4: 213.186.35.9/24, this will lead to the following IPv6: 2001:41d0:1:209::/64. You need to get your IPv6 address in your manager and boot with a IPv6 kernel.
In this example, here is the r10 network interface. It is also possible that the interface in the ifconfig is registered as Vr0. In this case, you replace all r10 by Vr0.

We will begin with the following lines in /etc/sysctl.conf add:
net.inet6.ip6.accept_rtadv=1

And reboot:
/etc/rc.d/sysctl restart

To activate the "router advertisement" option. Afterwards it's enough to add the IPv6 address manually:
ifconfig rl0 inet6 2001:41D0:1:756::/64

to obtain the information for "default_route". The requested information is marked in red:
rtsol -d rl0
checking if rl0 is ready...
get_llflag() failed, anyway I'll try
send RS on rl0, whose state is 2
received RA from fe80::2d0:3ff:fe75:e000 on rl0, state is 2
stop timer for rl0
there is no timer

All information for the configuration of /etc/rc.conf are here. So we will insert the following lines below in the file:
ipv6_enable="YES"
ipv6_network_interface="rl0"
ipv6_ifconfig_rl0="2001:41D0:1:756::1 prefixlen 64"
ipv6_ifconfig_rl0_alias0="2001:41D0:1:756::12 prefixlen 64

Each additional IPv6 is added as pv6_ifconfig_rl0_aliasX =.
We start again:
/etc/rc.d/network_ipv6 restart


ifconfig ?
rl0: flags=8843 mtu 1500
inet6 fe80::2e0:4cff:fe89:2883%rl0 prefixlen 64 scopeid 0x1
inet 213.186.40.117 netmask 0xffffff00 broadcast 213.186.40.255
inet6 2001:41d0:1:756::1 prefixlen 64 duplicated
inet6 2001:41d0:1:756::12 prefixlen 64
inet6 2001:41d0:1:756::13 prefixlen 64
ether 00:e0:4c:89:28:83



Windows

You need to login in by TSE (Remote Desktop Connection) to connect to the server and then as follows:
Start > Control Panel > Network Connexion > Local Area Connection > Properties

Once on this page, you execute:
Install > Protocol > Add > Microsoft TCP/IP version 6 > OK

Then:
Start > Command Prompt

To enter this command:
netsh interface ipv6 add address "Local Area Connection" 2001:41d0:1:733::1



Verification


Ping6 Test


We ping6 to the router:
ping6 -c 4 2001:41d0:1:2FF:FF:FF:FF:FF
PING 2001:41d0:1:2FF:FF:FF:FF:FF(2001:41d0:1:2ff:ff:ff:ff:ff) from 2001:41d0:1:209::5 : 56 data bytes
64 bytes from 2001:41d0:1:2ff:ff:ff:ff:ff: icmp_seq=0 hops=64 time=127.977 msec
64 bytes from 2001:41d0:1:2ff:ff:ff:ff:ff: icmp_seq=1 hops=64 time=24.242 msec
64 bytes from 2001:41d0:1:2ff:ff:ff:ff:ff: icmp_seq=2 hops=64 time=205.934 msec
64 bytes from 2001:41d0:1:2ff:ff:ff:ff:ff: icmp_seq=3 hops=64 time=129.853 msec


4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/mdev = 24.242/122.001/205.934/64.613 ms

Traceroute6 Test


Do traceroute6 to IPv6 DNS Servers by Afnic:
traceroute6 2001:660:3006:1::1:1
traceroute to 2001:660:3006:1
1:1 (2001:660:3006:1
1:1) from 2001:41d0:1:209::5, 30 hops max, 16 byte packets
1 2001:41d0:1:2ff:ff:ff:ff:ff (2001:41d0:1:2ff:ff:ff:ff:ff) 0.726 ms 0.508 ms *
2 * * *
3 renater.sfinx.tm.fr (2001:660:a100:2::1) 0.879 ms 0.787 ms 0.721 ms
4 afnic.sfinx.tm.fr (2001:660:a100:2::101) 1.13 ms 1.131 ms 1.099 ms
5 ns3.nic.fr (2001:660:3006:1::1:1) 0.933 ms 0.954 ms 0.922 ms

It is working.
There are websites that can offer a traceroute6 ping6 or tests online. You can use these function to check with the added IPs.