Why you want IPv6
You need IPv6. You just don't know it yet. Find out how to get it, how to benefit from it and how it will increase your shareholder value.
- 1 What is IPv6, and why would I care?
- 2 Understanding IPv6 addresses
- 3 Subnet Matrix Table
- 4 Get IPv6 NOW: Free IPv4 to IPv6 Tunnel Brokers
- 5 How and why IPv6 can make your life more glamorous, your job easier to do and significantly increase your shareholder value
- 6 The major responsibilities of using IPv6
- 7 Links to pages with tools that may help you on your way
- 8 Where And What you can read about IPv6
- 9 Notes for Solaris users
What is IPv6, and why would I care?
Internet is built upon a protocol suite called TCP/IP. This abbreviation stands for Transmission Control Protocol, and Internet Protocol.
When your computer communicates with the Internet a unique IP address is used to transfer and receive information. Yesterdays IP standard is called IPv4. Sadly most ISPs and services still only deliver this ancient technology standarized in September 1981. What you will want after reading on is IPv6, also referred to as IP Next Generation (IPNG).
Background: The IP shortage
IP version 4 defines a 32-bit address. This means there are 2^32 (4,294,967,296) unique IPv4 adresses available. This may sound like a big number. It is not, most of them are already tied up and the Internet is simply running out of IPs.
The address shortage problem is aggravated by the fact that portions of the IP address space have not been efficiently allocated.
The wall: Network Address Translation (NAT)
A technology called NAT or Network Address Translation is widely implemented to temporarily solve the IP address shortage and is commonly used to provide additional network security. A NAT firewall is placed between the real Internet and local area networks. NAT allows computers on the local network to connect with the outside world, but because the machines on the local network do not have their own Internet IPs they can not be directly accessed from the outside.
Some Very Huge numbers
Compare the numbers.. ..and realize why IPv6 is great:
- Total number of IPv4 IP Addresses: 4,294,967,296
- Number of IP Addresses in a IPv6 /64 prefix, the typical space a home user gets: 18,446,744,073,709,551,616
IPv6 gives citizens the opportunity to become real Internet participants. IPv4 makes citizens into passive consumers who are only able to connect to compartmentalized networks run by companies or governments. This is why the establishment does not want IPv6.
There is a total of 2^128, or 340,282,366,920,938,463,463,374,607,431,768,211,456 unique IPv6 adresses. That's roughly 667 quadrillion addresses per square millimeter of the Earth's surface!
Who uses IPv6 today, how widespread is it?
Linuxreviews project had 642074 unique visitors using IPv4 and 555 using IPv6 in June 2004.
According to these numbers less than a percent (0.086%) of the Internet browsers are IPv6 ready.
Truly hardcore 1337 Nerds are the only ones who use IPv6 today.
Understanding IPv6 addresses
IPv6 IPs have **8** notations of **4** hex numbers (0-f). May look like
- 2001:0DB8:400:965a:0000:0000:0000:0001 and
- 2001:0DB8:400:965a::1 (different ways of stating the same address).
:: is used to short down IP addresses. :: means that the space in between is filled by zeros and can only be used once in an address.
- 2001:0DB8:400:965a:: is short for
- 2001:0DB8:400:965a:0042::1 is short for
You can strip leading zeros, 2001:0DB8:400:965a:0042::1 becomes 2001:DB8:400:965a:42::1.
Know your prefix
| Prefix | Number of IPv6 IPs | Space | | 127 | 2 | none | | 120 | 256 | xx | | 64 | 18,446,744,073,709,551,616 | xxxx:xxxx:xxxx:xxxx | | 48 | 1,208,925,819,614,629,174,706,176 | xxxx:xxxx:xxxx:xxxx:xxxx | | 32 | 79,228,162,514,264,337,593,543,950,336 | xxxx:xxxx:xxxx:xxxx:xxxx:xxxx |
Allocation means the address space available for subnets and more IPs. If you have a /127 address you can only connect one box to the IPv6 interface, with a /48 you can connect "all the devices in the world" using the allocation.
If your prefix is 2001:0DB8:0400::/48 then you are assigned all space beginning with 2001:0DB8:0400. You can use the space 2001:0DB8:0400:xxxx:xxxx:xxxx:xxxx:xxxx.
To organize yourself 2001:0DB8:0400::/48 can be divided into the subnets
Subnet Matrix Table
2001:0DB8:0400:000e:0000:0000:0000:402b ||| |||| |||| |||| |||| |||| |||| ||| |||| |||| |||| |||| |||| |||128 ||| |||| |||| |||| |||| |||| ||124 ||| |||| |||| |||| |||| |||| |120 ||| |||| |||| |||| |||| |||| 116 ||| |||| |||| |||| |||| |||112 ||| |||| |||| |||| |||| ||108 ||| |||| |||| |||| |||| |104 ||| |||| |||| |||| |||| 100 ||| |||| |||| |||| |||96 ||| |||| |||| |||| ||92 ||| |||| |||| |||| |88 ||| |||| |||| |||| 84 ||| |||| |||| |||80 ||| |||| |||| ||76 ||| |||| |||| |72 ||| |||| |||| 68 ||| |||| |||64 ||| |||| ||60 ||| |||| |56 ||| |||| 52 ||| |||48 ||| ||44 ||| |40 ||| 36 ||32 |28 24
Get IPv6 NOW: Free IPv4 to IPv6 Tunnel Brokers
You should ping all the tunnelbrokers' POPs (points of presence) to determine the one closest to you.
See Free IPv4 to IPv6 Tunnel Brokers to find a tunnel broker near you.
Check ipv6tb: an implementation of the IPv6 Tunnel Broker for BSD software if you already have IPv6 and want to become a broker yourself.
The Standard way of setting up a IPv6 tunnel
First, make sure your firewall (if any) is not blocking protocol 41!
- ipchains -I input -j ACCEPT --proto 41
- iptables -A INPUT -p 41 -j ACCEPT
Example for a tunnel through http://tunnel-broker.singnet.com.sg/
ip tunnel add singnet mode sit remote 18.104.22.168 ttl 255 ip link set singnet up ip -6 addr add 2001:0DB8:ffff:5b::cf/127 dev singnet ip -6 route add 2001:0DB8:ffff:5b::ce/127 dev singnet ip -6 addr add 2001:0DB8:ffff:5b::ce/127 dev eth1
And if you ever want to remove it:
iptunnel show iptunnel del singnet ip -6 addr del 2001:0DB8:ffff:5b::cf/127 dev singnet ip -6 addr del 2001:0DB8:ffff:5b::ce/127 dev eth1 ip -6 route del default dev singnet
- NOTE: default is ignored when
- ipv6_forwarding = enabled on Linux Kernel version < 2.4.21.
- You must use 2000::/3 instead of default when
- forwarding is enabled on a < 2.4.21 Linux Kernel. Many RedHat boxes "out there" use older kernels where you must use 2000::/3.
When IPv6 is up and running on your router you should use radvd, Linux IPv6 Router Advertisement Daemon, to automatically add and configure your LAN network.
Having a truckload of IPs makes a lot of things much simpler. You can give each service running a IP of its own. More importantly, each device connected gets a unique IP.
You can use radvd and other tools to advertise IPv6 routes so they are configured automatically.
Generally IPv6 is smooth because you can use programs like gnomemeeting without worrying about NAT if you do not have a real IPv4 adress.
Rumours say there is a significant amount of publicly open IPv6-only ftp and websites with content generally unavailable or hard to get on the old net. Using such services, if they do exist, may or may not be illegal. Such locations should never be exposed to the open, only shared with trusted friends. These sites usually only have one folder like /incoming or /upload where everyone can read and write as they please.
There is no real reason to use IPv6 for your radio unless you have native IPv6, Most IPv6 streams are relayed from IPv4, and the original ipv4 stream is usually a better choice.
- ICECAST2 over IPv6 Live transmited radio stations (poznan.pl)
- Experimental IPv6 relay for MP3 audio streams
IPv6 - The Next Network Protocol
Free open newsservers
Free alt.binaries.* is one of the great IPv6 attractions.
Visiting IPv4 sites through IPv6 - "Anonymous" web surfing
I was amazed to find that SixXS offers a IPv6 to IPv4 Website Gateway that is free and open to everyone. All you need to do is add .sixxs.org at the end of the website you want to surf anonymously (or not: the original IP address is forwarded to the visited site in the IP headers).
http://www.google.com.sixxs.org | http://www.google.com | Google http://www.slashdot.org.sixxs.org | http://www.slashdot.org | Slashdot
Please only use this service in order to be anonymous or to visit IPv4 only sites if you don't have IPv4 support -- if they experience abuse they will probably close down this excellent service.
"The real (your) client IP is given in the X-Forwarded-For HTTP header just like normal gateways/proxies."
Internet Time Servers
- Hexago's IPv6 only primary (stratum 1) ntp server
- Viagénie experimental IPv6 NTP primary stratum 1 server
Internet Relay Chat
IPv6 is great for shell providers and BNC users because a single /64 prefix gives you a "unlimited" vhosts. Know that many irc servers k-line you for DNS Spam (i.have.a.stupid.vhost.org). Also know that some servers only allow one connection from each IP, and some servers limit the number of connections from a /64. If you have a /48 then you should divide 10-20 IPs on seperate /64s, having 1000 shell users all using irc on the same /64s is a bad idea.
Check the seperate list of IPv6 supported IRC servers.
Links to more IPv6 fun
The major responsibilities of using IPv6
You must have a firewall and complete control of the services when you are in a IPv6 environment. Every computer is a equal node on the Internet. Where the NAT firewall stops all unestablished connections from the outside IPv6 welcomes it.
Many services, like xinetd, must have a configuration option enabled before they listen for ipv6 requests. But not all. As with IPv4 you should have complete control of what you are running, and a firewall protecting you against script kiddies.
Links to pages with tools that may help you on your way
Is IPv6 working?
- Linux: IPv6
- KAME Project (animated turtle when using IPv6)
IPv6 Traceroute services
Where And What you can read about IPv6
- The IPv6 Portal (replaced HS247)
- Official 6bone Webserver List
- Current Status of IPv6 Support for Networking Applications (deepspace6.net)
- Mobile IPv6 HOWTO
- linuxdevcenter: Connecting Your Network to the IPv6 Internet with Linux
- SUN: IP Version 6 IPv6
- TDOI Network
- Space 6, the Linux IPv6 Portal (mirror)
- A catalog of IPv6-accessible websites
- Why IPv6 is Essential for Your Freedom
- Peter Bieringerss IPv6 HOWTO
- Gentoo IPv6 Router Guide
- Debian GNU/Linux -- Debian IPv6 Project - Setup Instructions
- How to get IPv6 connectivity under Linux
- Jims LAN IPv6 global connectivity howto (debian)
- IPv6 on a Linux Server Node (linuxjournal)
- Peter Bieringers Linux: IPv6 page
- The whole IPv6 BGP table
- IPv6 Reverse DNS Zone Builder for BIND 8+ .ARPA/.INT revDNS
- IPv6 DNS Setup Information
- Problems with IPv6 DNS
Chinese Linux Documentation Project
Notes for Solaris users
Solaris uses the file /etc/inet/ipnodes for IPv6 hosts, the file /etc/hosts can not contain IPv6 hosts on Solaris systems. A peculiar issue is that /etc/inet/ipnodes can be used for IPv4 hosts too, but it can ONLY contain a IPv4 host OR ipv6 a host for a given domain. This mean that you should place your IPv6 hosts in /etc/inet/ipnodes and your IPv4 hosts in /etc/hosts if you are using both IPv4 and ipv6 on a Solaris system.
How to get it
How to configure it