Sunday, May 20, 2012

Red Hat / CentOS IPv6 Network Configuration

Q. How do I configure static IPv6 networking under RHEL 5.x / Fedora / CentOS Linux?

A. Red Hat / CentOS / Fedora RHEL support IPv6 out of box. All you have to do is update two files and turn on networking.
You need to update and configure following files for IPv6 configuration:
  1. /etc/sysconfig/network : Turn on networking in this file.
  2. /etc/sysconfig/network-scripts/ifcfg-eth0 : Set default IPv6 router IP and server IP address in this file.
Open /etc/sysconfig/network file, enter:
# vi /etc/sysconfig/network
Append following line:
NETWORKING_IPV6=yes
Open /etc/sysconfig/network-scripts/ifcfg-eth0 (1st network config file)
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
Append following config directives for IPv6:
IPV6INIT=yes
IPV6ADDR=<IPv6-IP-Address>
IPV6_DEFAULTGW=<IPv6-IP-Gateway-Address>
Here is my sample file with 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,
  • NETWORKING_IPV6=yes|no - Enable or disable global IPv6 initialization.
  • IPV6INIT=yes - Enable or disable IPv6 configuration for all interfaces.
  • IPV6ADDR=2607:f0d0:1002:0011:0000:0000:0000:0002 - Specify a primary static IPv6 address here.
  • IPV6_DEFAULTGW=2607:f0d0:1002:0011:0000:0000:0000:0001 - Add a default route through specified gateway.
Save and close the file. Restart networking:
# service network restart
Verify your configuration by pinging ipv6 enabled site such as ipv6.google.com:
$ ping6 ipv6.google.com
Sample output:
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
Traces path to a network host, enter:
$ traceroute6 ipv6.google.com
Print default IPv6 routing table, enter:
$ route -n -A inet6
Sample output:
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
Once IPv6 configured properly, you need to setup IPv6 firewall using ip6tables command under Linux.

No comments:

Post a Comment