+-----------------------------------------------------------------------------+
|gnu social / facebook / twitter / linkedin / g+ / instagram / medium / tumblr|
+-----------------------------------------------------------------------------+
|         _______                 | What goes around often gets dizzy and     |
|     ,--'.:::::.`-._             | falls right over.                         |
|    /..:::::::::::..\            |                                           |
|   /..:::::::::_;::::|           |                                           |
|  || `---'----' _|:::|           |                                           |
|  ||            `;:::|           |                                           |
|  |' ====  ====  |-::|           |                                           |
|  |-( @ )-( @ )--|O):|           |                                           |
|   |  ` |   `    |/::'           |                                           |
|   .    v _      |:/   jeremy@   |                                           |
|    |  @___@     ||    malcolm   |                                           |
|     \ @@@@@   _/|     .id.au    |                                           |
|      \@@@@@.-'__/-.__           |                                           |
|      _|@@@  _/|::.\.::-._       |                                           |
+-----------------------------------------------------------------------------+
| [ ] news     [ ] about    [*] writing  [ ] journal  [ ] images   [ ] guests |
|                            +--- latest                                      |
|                            |->> archive                                     |
|                            `--- search                                      |
+-----------------------------------------------------------------------------+
| "Connecting to the IPv6 Internet" ::                   [2007-03-16 03:59PM] |
|                                                      author: Jeremy Malcolm |
|                                                                             |
| I attended IPv6 for e-Business yesterday and was inspired to convert our    |
| home network to IPv6. This turned out to be trivial. Simply by installing   |
| the Linux IPv6 Router Advertisement Daemon daemon on my Ubuntu box          |
| (apt-get install radvd), both my iBook and my wife's iMac autoconfigured    |
| themselves without requiring so much as a keystroke of attention from me.   |
|                                                                             |
| But I didn't want to use just local IP addresses; I wanted real,            |
| globally-routable IPv6 addresses, so that just like in the good old days,   |
| I could access any networked device directly from anywhere else on the      |
| Internet; a concept known as the end-to-end principle.  Like most people,   |
| I have an ADSL router which uses NAT to hide my local network behind a      |
| single public IPv4 address, and although it provides a port-forwarding      |
| function, this only allows me to access a single device on my network on    |
| any given port from the Internet.                                           |
|                                                                             |
| Since our ISP doesn't route IPv6, I had two choices. First, there is a      |
| rather impressive standard called 6to4 which automatically assigns anyone   |
| with an IPv4 address, a matching /48 block of real IPv6 addresses. This     |
| block embeds their IPv4 address, and contains... wait for it... 65 536      |
| globally routable subnets, each with up to 18 446 744 073 709 551 616       |
| addresses. That's 1.2089258196146292 x 10^24 unique IP addresses in all.    |
| For each and every IPv4 address on earth.                                   |
|                                                                             |
| As if that wasn't impressive enough, operating systems that implement the   |
| 6to4 standard automatically set up a tunnel that allows you to access the   |
| IPv6 Internet without any manual configuration at all. This magic is        |
| accomplished using Anycast routing, which directs their traffic through     |
| their nearest relay router. Under Mac OS X, this functionality can be       |
| enabled with point and click ease. You can even configure reverse DNS.      |
|                                                                             |
| But because I always like to do things the hard way, rather than relying    |
| on 6to4, I decided to manually set up a connection to an IPv6 tunnel        |
| broker for IPv6 connectivity, and to take my /48 block of addresses from    |
| them. I mainly did this because on the off chance that I change ISPs in     |
| the future, I'll be able to retain the same IPv6 addresses that I have      |
| now. This option required some additional tunnelling software called tspc,  |
| but "apt-get install tspc" took care of that.                               |
|                                                                             |
| A few gotchas that I found.  First, my Linux box is behind a Netgear DG632  |
| ADSL router, which doesn't know how to port forward IPv6 packets, even      |
| when encapsulated (using 6to4's protocol 41, as also used by tspc).  Two    |
| alternative ways around this were to specify my Linux box as the DMZ        |
| machine in the Netgear's Web interface, or alternatively to use UDP         |
| encapsulation of protocol 41, which tspc supports.  Also, the Netgear has   |
| a brain-damaged forwarding DNS server that doesn't return IPv6 addresses    |
| at all.  I had to override its DHCP-supplied DNS address on my Mac with     |
| manual entries for my ISP's DNS servers.                                    |
|                                                                             |
| Then there was the fact that under Mac OS 10.3.9, Safari doesn't load IPv6  |
| sites by default. There is a rather complex workaround for this, and a      |
| simpler one for Firefox. Also, I found that the precompiled Mac OS X        |
| version of Apache doesn't listen on IPv6 interfaces by default, so I'm      |
| hosting a test Web site on the IPv6 internet on my Linux box instead.       |
|                                                                             |
|                                                          reply (0 comments) |
| << Back                                                                     |
+-----------------------------------------------------------------------------+
| page generated in 0.202 seconds                     sadlittlewebjournal 3.3 |
| content (c) its respective creator(s)                    web administration |
| valid html 4.01 transitional                                       rss feed |
+-----------------------------------------------------------------------------+