What is IPv6?
Internet Protocol version 6 (IPv6) is the latest version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion. [1] (RFC - http://tools.ietf.org/html/rfc2460)
What are the differences?
IPv6 is an evolutionary upgrade and successor of IPV4. IPv6 is often referred to as the "next generation" of Internet standard and has been under development since the mid-1990s. Every IPv4 address consists of 32 bits, which allows for 4.3 billion unique addresses. By comparison, IPv6 is 128 bits, which allows for approximately three hundred and forty trillion, trillion unique IP addresses.
- Example IPv4 - 127.0.0.1 (decimal)
- Example IPv6 - 2605:4a00:1:f001:fe03:0400:02dd:0001 (hexadecimal)
Network Address Translation or NAT is no more in IPv6. Most OSs are automatically configured. There are no more RFC1918 private addresses (192.168.*.*). IPv6 includes a simplified header format and is more efficient at routing. IPv6 also includes built in authentication and privacy support. IPv6 eliminates DHCP.
What are the advantages?
In most cases, servers will detect and automatically configure IPv6 addresses. IPv6 will provide a near limitless supply of unique addresses as IPv4 allocation has already been exhausted. Most transport and application-layer protocols need little or no change to operate over IPv6. IPv4 limits packets to 65535 (216-1) octets of payload. An IPv6 node can optionally handle packets over this limit, referred to as jumbograms, which can be as large as 4294967295 (232-1) octets. The use of jumbograms may improve performance over high-MTU links. [1]
Common OS configurations
-
Windows 2003
- Install the IPv6 stack via Start -> Control Panel -> Network Connections -> right click your Local Area Connection -> Properties -> under the General tab, click Install -> Protocol -> Microsoft TCP/IP version 6
- IP configuration is done via the command line only in Windows 2003 via netsh
- netsh interface ipv6 set privacy disabled
- netsh interface ipv6 add address interface="Local Area Connection"
- address=2605:4a00:141:dead:202:b3ff:fe9a:d264 store=persistent
- netsh interface ipv6 add route ::/0 interface="Local Area Connection" 2605:4a00:111:dead::1 store=persistent
-
RHEL based Linux
- Edit /etc/sysconfig/network
- Append "NETWORKING_IPV6=yes" to the file or change "NETWORKING_IPV6=no" to "NETWORKING_IPV6=yes"
- Edit /etc/sysconfig/network-scripts/ifcfg-eth0 or the front end networking interface
- Appened the following
- IPV6INIT=yes
- IPV6ADDR=
- IPV6_DEFAULTGW=
- Restart networking via "service network restart"
- Confirm with "ping6 ipv6.google.com"
-
Debian/Ubuntu based Linux
- Edit /etc/network/interfaces
- Append the following
- iface eth0 inet6 static
- pre-up modprobe ipv6
- address
- netmask 64
- gateway
- Restart networking via "/etc/init.d/networking restart"
- Confirm with "ping6 ipv6.google.com"
-
FreeBSD
- Say your block if IPv6 is:
- 2605:4a00:111:f000::/64 (your IP may be different, this is just an example)
- Gateway is always the first IP, so:
- 2605:4a00:111:f000::1 (your gateway will be different depending on the IP block. This is just an example)
- To configure this manually, run the following commands
- ifconfig em0 inet6 2605:4a00:111:f000::2 perfixlen 64
- route add -inet6 ::/0 2605:4a00:111:f000::1 (this value will be different depending on your Gateway)
- To make these persistent, add this to /etc/rc.confipv6_ifconfig_em0="2605:4a00:111:f000::2 prefixlen 64"
- For version 8.3 and earlier
- ipv6_enable="YES"
- ipv6_defaultrouter="2605:4a00:111:f000::1" (your vaule will be different)
- ipv6_ifconfig_em0="2605:4a00:111:f000::2 prefixlen 64" (your vaule will be different)
- For version 9.0 and later
- ipv6_activate_all_interfaces="YES"
- ipv6_defaultrouter="2605:4a00:111:f000::1" (your vaule will be different)
- ifconfig_em0_ipv6="inet6 2605:4a00:111:f000::2 prefixlen 64" (your value will be different)