Red Hat / CentOS IPv6 Network Configuration
Red Hat / CentOS IPv6 Network Configuration
Q. How do Iconfigure static IPv6 networking under RHEL 5.x / Fedora / CentOS Linux?
<!--[if!supportLineBreakNewLine]-->
<!--[endif]-->A. Red Hat/ CentOS / Fedora RHEL support IPv6 out of box. All you have to do is updatetwo files and turn on networking.
You need to update andconfigure following files for IPv6 configuration:
<!--[if !supportLists]-->1. <!--[endif]-->/etc/sysconfig/network : Turnon networking in this file.
<!--[if !supportLists]-->2. <!--[endif]-->/etc/sysconfig/network-scripts/ifcfg-eth0 : Setdefault IPv6 router IP and server IP address in this file.
Open/etc/sysconfig/network file, enter:
#vi/etc/sysconfig/network
NETWORKING_IPV6=yes
Open/etc/sysconfig/network-scripts/ifcfg-eth0 (1st network config file)
#vi/etc/sysconfig/network-scripts/ifcfg-eth0
IPV6INIT=yes
IPV6ADDR=<IPv6-IP-Address>
IPV6_DEFAULTGW=<IPv6-IP-Gateway-Address>
Here is my sample filewith mix of IPv4 and IPv6 assigned to eth0:
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=00:30:48:33:bc:33
IPADDR=202.54.1.5
GATEWAY=202.54.1.3
NETMASK=255.255.255.248
IPV6INIT=yes
IPV6ADDR=2607:f0d0:1002:0011:0000:0000:0000:0002
IPV6_DEFAULTGW=2607:f0d0:1002:0011:0000:0000:0000:0001
Where,
<!--[if !supportLists]-->§ <!--[endif]-->NETWORKING_IPV6=yes|no - Enableor disable global IPv6 initialization.
<!--[if !supportLists]-->§ <!--[endif]-->IPV6INIT=yes - Enableor disable IPv6 configuration for all interfaces.
<!--[if !supportLists]-->§ <!--[endif]-->IPV6ADDR=2607:f0d0:1002:0011:0000:0000:0000:0002 -Specify a primary static IPv6 address here.
<!--[if !supportLists]-->§ <!--[endif]-->IPV6_DEFAULTGW=2607:f0d0:1002:0011:0000:0000:0000:0001 - Add adefault route through specified gateway.
Saveand close the file. Restart networking:
#servicenetworkrestart
Verifyyourconfigurationbypingingipv6enabledsitesuchasipv6.google.com:
$ping6ipv6.google.com
PING ipv6.google.com(2001:4860:b002::68) 56 data bytes
64 bytes from 2001:4860:b002::68: icmp_seq=1 ttl=59 time=93.2 ms
64 bytes from 2001:4860:b002::68: icmp_seq=2 ttl=59 time=95.0 ms
64 bytes from 2001:4860:b002::68: icmp_seq=3 ttl=59 time=94.2 ms
64 bytes from 2001:4860:b002::68: icmp_seq=4 ttl=59 time=95.2 ms
64 bytes from 2001:4860:b002::68: icmp_seq=5 ttl=59 time=94.8 ms
64 bytes from 2001:4860:b002::68: icmp_seq=6 ttl=59 time=95.1 ms
64 bytes from 2001:4860:b002::68: icmp_seq=7 ttl=59 time=93.3 ms
64 bytes from 2001:4860:b002::68: icmp_seq=8 ttl=59 time=93.8 ms
--- ipv6.google.com ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7010ms
rtt min/avg/max/mdev = 93.268/94.376/95.268/0.799 ms
Tracespath to a network host, enter:
$traceroute6ipv6.google.com
PrintdefaultIPv6routingtable,enter:
$route-n-Ainet6
Kernel IPv6 routing table
Destination Next Hop Flags Metric Ref Use Iface
::1/128 :: U 0 42531 1 lo
::62.41.14.144/128 :: U 0 0 1 lo
::127.0.0.1/128 :: U 0 0 1 lo
::/96 :: U 256 0 0 sit0
2001:470:1f04:55a::2/128 :: U 0 15201 1 lo
2001:470:1f04:55a::/64 :: U 256 0 0 sit1
fe80::4833:22f4/128 :: U 0 0 1 lo
fe80::212:3fff:fe75:fa0d/128 :: U 0 0 1 lo
fe80::/64 :: U 256 0 0 eth0
fe80::/64 :: U 256 0 0 sit1
ff00::/8 :: U 256 0 0 eth0
ff00::/8 :: U 256 0 0 sit1
::/0 :: U 1 0 0 sit1
OnceIPv6 configured properly, you need to setup IPv6firewall using ip6tables command underLinux.
Featured Articles:
<!--[if !supportLists]-->§ <!--[endif]-->20 LinuxSystem Monitoring Tools Every SysAdmin Should Know
<!--[if !supportLists]-->§ <!--[endif]-->20 LinuxServer Hardening Security Tips
<!--[if !supportLists]-->§ <!--[endif]-->My 10UNIX Command Line Mistakes
<!--[if !supportLists]-->§ <!--[endif]-->Linux:20 Iptables Examples For New SysAdmins
<!--[if !supportLists]-->§ <!--[endif]-->25 PHPSecurity Best Practices For Sys Admins
<!--[if !supportLists]-->§ <!--[endif]-->TheNovice Guide To Buying A Linux Laptop
<!--[if !supportLists]-->§ <!--[endif]-->10Greatest Open Source Software Of 2009
<!--[if !supportLists]-->§ <!--[endif]-->Top 5Email Client For Linux, Mac OS X, and Windows Users
<!--[if !supportLists]-->§ <!--[endif]-->Top 20OpenSSH Server Best Security Practices
<!--[if !supportLists]-->§ <!--[endif]-->Top 10Open Source Web-Based Project Management Software
<!--[if !supportLists]-->§ <!--[endif]-->Top 5Linux Video Editor Software
Share this with other sys admins!Facebook it - Tweet it - Print it -
{ 15 comments…read them below or add one }
1Sean June 15, 2010
youhave no ipv6 mask :(
2Beau July 13, 2010
Thanksso much for this article. It is exactly what I have been looking for. I willrecommend this article. Keep up the good work.
3Pete July 15, 2010
Nicereminders, but I’d like to make two suggestions:
1.Since the gateways are not specific to an interface, I keep the default gatewaystuff (v4 and v6) in /etc/sysconfig/network.
2.I also don’t like the v6 autoconf for servers, so I turn it off in/etc/sysconfig/network: IPV6_AUTOCONF=no
Thanksfor the quick tips.
Pete
4Steve September 27, 2010
Sohow would one find out there IPV6 address to use as a static one and what thedefault gw IPV6 address us to use?
Iknow the IPV4 addresses > how do i find its IPV6?
Thanksin advance
5SH October 7, 2010
Itry to add another interface (ifcfg-eth0:1) with the same IPv6 lines as inifcfg-eth0, but the IPv6 does not appear when I use ifconfig. How can I assignan IPv6 to another network interface?
6Pete October 7, 2010
UseIPV6ADDR_SECONDARIES in ifcfg-eth0. Generally, v6 devices expect to havemultiple addresses. If you do an ifconfig on eth0, you’ll probably see at leasttwo v6 addresses already (one a link-local scope and one a global scope).
IPV6ADDR_SECONDARIES=”[/]…” (optional)
AlistofsecondaryIPv6addresses(e.g.usefulforvirtualhosting)
Example:
IPV6ADDR_SECONDARIES=”3ffe:ffff:0:1::10 3ffe:ffff:0:2::11/128″7S!FE October 20, 2010
Isthere any directive to make network service start at boot time.
8Vivek Gite October 20, 2010
Try
chkconfig network on
9S!FE October 20, 2010
Ithink that works for me, thanks Mr Vivek.
10tomas November 16, 2010
Just a question. How canI calculate usable hosts address? I have assigned IPv6 /48 network and needsingle adress for each server, for example
3xIPv6addressforserver-1
2xIPv6addressforserver-2
etc …11Joel Snyder February 27, 2011
ipv6.google.com doesn’tresolve today, so it’s a bad example. Try http://www.v6.facebook.com.
12Monster June 10, 2011
anyidea how to configure IPv6 in bridge for RH based OS?
13Iain Kay July 22, 2011
Ihave a question. If one has setup a CentOS server, and it is now in productionsitting online in use 24/7 with IPv4, is it possible to add IPv6 to it withouthaving to restart the network service?
What I have tried:
$modprobeipv6
$ ifconfig eth0 && ifconfig xenbr0Bythis point there are no ipv6 addresses shown in ifconfig
$ip addr add 2001:xx:xx:xx:1::2/64 dev xenbr0
By this point I stillhave no ipv6 addresses in ifconfig, all I get is:RTNETLINK answers: Operation not supported
IfI absolutely have to reboot the server then I will find a good point to do soand do it but if it’s even remotely possible to do without then that would beideal. The server hosts Xen virtual machines using bridged networkingconfiguration and somehow I doubt that restarting the network service wouldplay nice with them and come back automatically at Virtual Machine level.
14George October 17, 2011
HiI dont find /etc/sysconfig/network-scripts/ifcfg-eth0, I only have/etc/sysconfig/network-scripts/ifcfg-lo…….what can I do ? Help me please
15Calum November 2, 2011
George– how about cp /etc/sysconfig/network-scripts/ifcfg-lo/etc/sysconfig/network-scripts/ifcfg-eth0