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 – (decimal)
  • Example IPv6 – 2605:4a00:1:f001:fe03:0400:02dd:0001 (hexadecimal)

Network  Address Translation or NAT is no more in IPv6. Most OS’s 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
  • Windows 2008 and beyond

    • The IPv6 static should come natively installed
    • Configuration is done via the GUI.
    • Start -> Control Panel -> Network and Sharing Center -> Change Adpater Settings -> right click your Local Area Connection ->  Properties -> Internet Protocol Version 6  -> Properties
    • Confirm with “ping6 ipv6.google.com”

  • 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=
    • 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)