IPv6

From WikiDLXTV
Jump to: navigation, search

What is IPv6

IPv6 is a version of the Internet Protocol (IP) that is designed to succeed Internet Protocol version 4 (IPv4). The reason to switch to IPv6 is the shortage of IPv4 numbers. The most important feature of IPv6 is a much larger address space than in IPv4. The length of an IPv6 address is 128 bits, compared to 32 bits in IPv4. The address space therefore supports 2128 (or approximately 340 undecillion or 3.4×1038) addresses. (see also [1])


When do we need IPv6

February 2011 IANA (Global IP registrar) ran out of IPv4 space to hand out to the RIRs (Regional IP Registrars). The fist RIR to ran out of IPv4 numbers was APNIC (Asia/Pacific/Australia) in April 2011. Ripe (Europe) is expected to be the next to run out of IPv4 space (expected September 2011). When a RIR runs out of space ISPs within their region cannot obtain new IPv4-addresses anymore, so their stack will run out too. From that point on ISPs has to take countermeasures for their customers to deliver Internet connectivity over IPv6. Some ISPs would deliver their services over NATted IPv4, but in a few years all ISPs has to deliver IPv6 natively.

For the customers who have a working Internet connection right now, don't worry, you IPv4 address will not disappear on short term. More likely is that your connection will be upgraded somewhere in time to dual-stack (IPv4+IPv6). This may still take years for that to happen.


Why do I want to use IPv6

As IPv4 has no future anymore and there is no doubt IPv6 is the next generation IP protocol, why not. The problem is ISP's are very slow in delivering IPv6 to their customers and hardware vendors are even slower, even when most hardware can do IPv6, the software is not ready for IPv6.


Why does the WDlxTV support IPv6

As WD is not supporting IPv6, we have to. We need to support the future IP protocol as we want our WD-player to last longer then the IPv4 protocol.


How can I enable IPv6 on the WDlxTV

First of all you need to have WDlxTV release version 5.0 or higher. Second of all this will only work on a Live box, not on a Plus! There are 2 ways of using IPv6, native or tunneled. Native can only be used when your ISP hands you out native IPv6.


Native connection

When your ISP hands out native IPv6 addresses and you didn't receive yours yet, ask for it! Your router must also support IPv6. When everything is IPv6 ready, you can just switch on IPv6 in the web-GUI or in the configfile by setting the IPv6=ON. The WDlxTV will now listen to your routers IPv6 Router Advertisement to obtain an IPv6 address. This is called Stateless Address Auto Configuration (SLAAC).


Tunneled connection

IPv6 is setup over an IPv4 tunnel. In order to make it as simple as possible for the WDlxTV users we have chosen Freenet6.net tunnel-broker. All you need is the IPv6.app.bin loaded on the USB-stick and fill in the setting in the Web-GUI. The tunnel will be setup automatically and the WDlxTV can now communicate over IPv6 as well.

When your WDlxTV is bringing IPv6 to your house, why not take this opportunity and let the WDlxTV become your IPv6 router. This can easily be done by creating a Freenet6 account and use the settings in the GUI and select the RA (Router Advertisement) option. Now the WDlxTV will setup an IPv6 tunnel over IPv4, receives a /56 from the tunnel-broker and hands out a /64 to ETH0. All you devices on the same LAN which are IPv6 aware will now receive an IPv6 address.

Beware: By using a tunnel the firewall on your router is bypassed for the IPv6 traffic. The tunnel is legitimate and therefor the IPv6 packets within the tunnel will not be inspected anymore. IPv6 is not using NAT, so the IPv6 address your WDlxTV is getting is public IPv6 space. So beware you are running a firewall on your PC's and change your password on the WD (telnet and GUI).

The tunnelbroker limits the speed of the tunnel to 1Mbps/1Mbps


Troubleshooting

Warning: If you enable the app.bin on a wdtv without the kernel installed, it will cause problems at startup (the ipv6 module will fail to load) and will cause network issues. Because of this the OSD might not start! If this happens, disable/remove the app.bin from the USB drive and reboot.

What can you check when the IPv6.app.bin is not working

For native IPv6:

- ifconfig

This should show both fe80:: address as well as 2 x 2xxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx address (even 3 when you use fixed IPv6 too). 1 address is generated out of your MAC-address, 1 address is a temporarily address. The fe80:: address is a link-local address and is always needed by IPv6. This is a non-routable IPv6 address. If you only see a link-local address, but know you should get an address through autoconfiguration, check the webend that autoconfiguration is enabled (by default all settings are off). Save the changes and reboot and it should work.

You should now be able to test if IPv6 is working with your browser. Remember the IPv6 address has to be placed between brackets like this: http://[2001:1234:5678:abc::boob:babe:cafe]

Messages from the startup script can be found in /tmp/messages

For tunneled IPv6:

- ifconfig

This should show 3 interfaces, eth0, lo and a tunnel interface. This tunneled interface can be called tun (when the WDlxTV is behind NAT) or sit0.

Other information can be found in:

- tail /tmp/IPv6/gogoc.log
- cat /tmp/messages | grep IPv6
- ps | grep IPv6

This last command should show gogoc (and radvd when RA is enabled). To see if the router-advertisements are advertised you can type radvdump on the CLI to see the output. This can take a while. Press CTRL-C to exit radvdump.

Generic IPv6 tools:

- ping6
- traceroute6
- route -6

Tunnelbroker problems

When you expect troubles with the freenet6.net tunnelbroker, please check their status page

Best practice

The kernel with IPv6 support is an experimental kernel compiled by somebody at WD. It does support IPv6 and iptables/netfilter, but doesn't support some wifi cards. You can get the kernel from here: [2], repace the wdtvlive.fff that comes with your flashable firmware and do a firmware upgrade (even if the actual firmware remains the same). You can find how to flash your firmware over here and over here


Where can I get the kernel and the plugin

You can find the kernel for the WD Live version over here: [3] (Never use this kernel on WD Plus, it will brick your system!)

The IPv6 plugin is visible in the app.bin manager (WDTV Webend -> Addons -> Applications) or here: [4]


What are the disadvantages of this kernel

- Less wireless support, so use a cable to connect to Internet or test it yourself to find out if your stick is working
- Some features like Netflix will not work. Except for additional wireless problems this kernel can be compared with version 01.02.21


What more is added to this kernel

- IPv6 support of course
- Swap support
- Basic IP-tables support (if someone want to develop a firewall, feel free to grab this unfinished application


What parts of the WDlxTV are working with IPv6 (feel free to add items to the list)

- Webinterface
- CIFS mounting over IPv6 tested/works with version 5.1.4 (newer Busybox)
- UMSP modules that use file_get_contents() can get data through IPv6


What parts of the WDlxTV does not seem to be working with IPv6 (further testing required, feel free to add items to the list)

What parts of the WDlxTV are NOT working with IPv6 (feel free to add items to the list)

- DMAOSD (the OSD doesn't care about IPv6 and any network services (e.g. Facebook, Youtube, etc) will work only on IPv4)


Disclaimer

Don't complain about things not working and please feel free to add comments, new ideas or experiences to the IPv6 topic on the forum