Setting up a Raspberry Pi as an IPv6 gateway using Hurricane Electric.

First thing you’ll need to do is register at the Hurricane Electric Website and create your own tunnel. I’m not going to go over that since there’s a lot of help on the Hurricane Electric Website about it. These instructions only apply to you, after you’ve registered as a user, and set up your tunnel on their website.

Take a note of your Tunnel details from the Hurricane Electric website, you’ll need them to set up your Linux IPv6 Gateway. The IPv6 addresses are used for documentation purposes only, see RFC 3849 (no point showing everyone on the Internet my home IPv6 address range).

HE Server IPv4 Endpoint 216.66.80.26
Static IPv6 assignment from my routable range 2001:DB8:8:7aa::1
Client IPv6 Endpoint 2001:DB8:7:7aa::2

Ok first thing to do is enable IPv6 support on your raspberry pi, at the prompt type.

sudo modprobe ipv6

To make the change permanent, you will have to edit the modules file and have your pi load it at start-up (reboot). To do this edit the modules file, type the following.

sudo nano /etc/modules

Your modules file should look similar to this after to append the “ipv6″ line at the end.

#/etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

snd-bcm2835
ipv6

You need to edit /etc/network/interfaces and add your own data to the bottom of the file. Two bits of data, the first bit goes after your own network adaptor (usually eth0). and the second part after that.

sudo nano /etc/network/interfaces
  • Adding static IPv6 address from my routable range.
  • Adding the Hurricane Electric Tunnel interface (called he-ipv6)
  • Please note that the IP’s are on different networks.
# Adding an IPv6 address to the eth0 interface.
# Interface up
up ip -6 addr add 2001:DB8:8:7aa::1/64 dev eth0

# Interface down
down ip -6 addr del 2001:DB8:8:7aa::1/64 dev eth0

The IPv6 and IPv4 setting below will of course be yours and not the ones I’ve made up for the purpose of showing how it’s done :-)

# IPv6 via Hurricane Electric Tunnel
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
address 2001:DB8:7:7aa::1
netmask 64
endpoint 216.66.80.26
gateway 2001:DB8:7:7aa::2
ttl 255

# The MTU set on my router "negotiated via my ISP" is
# 1492. So 1492 - 20 = 1472.
# If your routers MTU is 1500, then you can just leave
# the following line out as it will default to 1480.
mtu 1472

Now we’ll deal with DNS, you have two options, you can either use your ISP’s DNS server and hope that it’s set up to deal with IPv6 resolution, or you can use free public recursive DNS servers. I’m going to use Google’s public recursive DNS servers which I know work.

To set this up, you’ll need to edit the /etc/resolv.conf file and add the DNS servers in. Type the following at the prompt.

sudo nano /etc/resolv.conf

Add the following and save.

nameserver 8.8.8.8
nameserver 8.8.4.4

Testing the Tunnel

Before we go any further, were going to bring the tunnel up and test it.

At the prompt, type the following.

sudo ifup he-ipv6

To test, type the following.

ping6 -c 5 ipv6.google.com

You should get similar results to me.

ping6 -c 5 ipv6.google.com
PING ipv6.google.com(we-in-x68.1e100.net) 56 data bytes
64 bytes from we-in-x68.1e100.net: icmp_seq=1 ttl=57 time=31.2 ms
64 bytes from we-in-x68.1e100.net: icmp_seq=2 ttl=57 time=30.7 ms
64 bytes from we-in-x68.1e100.net: icmp_seq=3 ttl=57 time=30.9 ms
64 bytes from we-in-x68.1e100.net: icmp_seq=4 ttl=57 time=31.3 ms
64 bytes from we-in-x68.1e100.net: icmp_seq=5 ttl=57 time=31.3 ms

--- ipv6.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 30.780/31.119/31.358/0.297 ms

If your results are similar to above then your raspberrypi is connected to the IPv6 Internet (Hurrah!) :-). If not then check your IPv6 settings and ask for help on the HE forum here.

Now we need to bring the interface down, we’ll bring it back up again after we’ve firewalled it.

sudo ifdown he-ipv6

References:

6in4 Wikipedia
IPv6 Using Hurricane Electric’s 6in4 Tunnel

Installing FreeNX server on 12.04 Precise Pangolin

I’m making the assumption that you have a working 12.04 installation that’s connected to the internet. :-)

First, your going to add the freenx repository, then update. Followed by installing the freenx software.

sudo add-apt-repository ppa:freenx-team/ppa
sudo apt-get update
sudo apt-get install freenx-server

Now tht you have the Freenx server installed, you will want to configure it to use the ubuntu-2d session for any Freenx clients. The ubuntu-3d session doesn’t work with  Freenx and will give you an error message “Failed to load session “gnome-fallback”".

sudo echo -e "\n#Use unity 2d for client sessions\nCOMMAND_START_GNOME='gnome-session --session=ubuntu-2d'"|sudo tee -a /etc/nxserver/node.conf

All done, you should be able to connect using NoMachine’s free client. :-)

References:
Installation of FreeNX Server on Ubuntu 12.04 Precise Pangolin
How to Install FreeNX Server on Ubuntu 12.04 Precise Pangolin

Installing Amazon’s MP3 downloader on Ubuntu 10.04

Thanks to google and a few websites I managed to get Amazon’s MP3 downloader to work on my linux workstation at home.

It looks like Amazon’s Amazon MP3 application requires libboost 1.34, which is older than the version now included in Ubuntu 10.04. So the first thing that you need to do is download the earlier versions of the libraries.


mkdir Amazon_Downloader
cd Amazon_Downloader

wget  https://launchpadlibrarian.net/26959932/libboost-signals1.34.1_1.34.1-16ubuntu1_i386.deb   https://launchpadlibrarian.net/26959936/libboost-thread1.34.1_1.34.1-16ubuntu1_i386.deb   https://launchpadlibrarian.net/26959922/libboost-iostreams1.34.1_1.34.1-16ubuntu1_i386.deb   https://launchpadlibrarian.net/26959918/libboost-filesystem1.34.1_1.34.1-16ubuntu1_i386.deb   https://launchpadlibrarian.net/26959916/libboost-date-time1.34.1_1.34.1-16ubuntu1_i386.deb   https://launchpadlibrarian.net/26959928/libboost-regex1.34.1_1.34.1-16ubuntu1_i386.deb   https://launchpadlibrarian.net/34165098/libicu40_4.0.1-2ubuntu2_i386.deb

Next, Install the libraries

sudo dpkg -i *.deb

At this point you can either delete the library files (since there now installed), or keep them in case Amazon doesn’t get round to updating there software (which I’m sure they will of course).

To delete the files from your drive, do the following

cd ..
rm -r Amazon_Downloader

Once done, simply re-run the Amazon MP3 downloader and your good to go.

http://www.amazon.com/gp/dmusic/help/amd.html/

References:
Ubuntu Forum
Hilltop Yodeller’s Website
Linux Mint Website

Backing up your DVD’s using Linux DVD::Rip

Just a reminder to myself really, these setting work fine for me and I use them to rip/backup DVD, also, it allows me to stream them via my PS3 to my telly and/or other PC’s in the house. Feel free to comment and/or give advice.

References:
DVD ripping and transcoding with Linux
MPlayer the Movie Player
What Video Codec?? Divx4/5 Xvid ffmpeg
Encoding Tips

Installing FreeNX on Ubuntu Lucid Lynx 10.04

I foundit pretty easy to do, the hard part was finding consistent instructions, so I blogged it to make sure I didn’t forget.
sudo add-apt-repository ppa:freenx-team
sudo apt-get update
sudo apt-get install freenx-server

You can download and install the nxclient from the nomachine website here. Just follow the instructions further down the nomachine website link.

References:

http://www.ubuntuguide.org

http://www.ubuntuforum.org

Realtek RTL8101E NIC dropped frames on Hardy Heron

I’m having a real problem with the built in network card on my home linux machine (currently running Ubuntu 8.04 LTS server or affectionately named Hardy Heron).

There’s a couple of proviso’s attached to this howto, the first one being that if Ubuntu release a new Kernel as an update, you may have to re-run this fix, or if the old Realtec driver (r8169) gets fixed in the new Kernel , you may want to unblacklist that module and run with that.

Current Kernel version:

billy@orion:~$ uname -r
2.6.24-23-server

The symtoms are:

  • Very bad download and upload speeds
  • Huge amounts of dropped RX packets

Output from ifconfig below:

billy@orion:~$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:30:18:a8:93:4d
inet addr:192.168.1.15 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::230:18ff:fea8:934d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46909802 errors:0 dropped:345543907 overruns:0 frame:0
TX packets:34564243 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2672691663 (2.4 GB) TX bytes:1478308929 (1.3 GB)
Interrupt:221

Continue reading