Entries Tagged 'Internet' ↓

IPv6 Experimentation – Servers, DNS, Google Apps, and Glue

So recently I’ve been messing around with IPv6. Probably a good idea, seeing as IPv4 space is running out fast.

The Computer Networking module at my university didn’t seem to cover IPv6 in any great depth. It appears Surrey University haven’t even thought about providing IPv6 DNS records to any of their servers yet. But they do allocate IPv6 addresses to every user on the network (WiFi and ResNet I’ve found so far, but not the lab computers).

I decided to try and get IPv6 rolled out across all the domains on my VPS (perfectly hosted by bitfolk). This involved configuring IPv6 addresses for my VPS’ network interface, adding IPv6 AAAA records in my DNS server, setting up reverse DNS records for the IPv6 addresses I use, and making sure that my name servers have IPv6 AAAA records and glue records at my domain registrar. My VPS provider assigns each VPS a /64 of IPv6 space. I think that will be plenty of IP addresses for my needs πŸ™‚

First problem I encountered was I failed to set up ip6tables correctly. Being used to using the simple ufw, which manages iptables for you, I had failed to think that ip6tables was filtering and then dropping my IPv6 packets! So once I understood properly how iptables worked, I was able to open up IPv6 traffic to my VPS (thanks @grifferz). Next I assigned 4 IPv6 addresses to my network adapater, after disabling auto configuration for IPv6.

I then added AAAA DNS records for the domains I host. So if you have IPv6 connectivity, you should now be viewing this blog over IPv6! AAAA DNS records are just like the A records but instead point to an IPv6 address, rather than IPv4. I then made sure that I had AAAA records for my DNS servers too.

Now my email. I have used Google Apps to host my email for a few years now. The main reason I use them is their excellent spam filter. But I was quite surprised to find that the MX servers they ask you to use aren’t IPv6 ready. And I can’t see anywhere that suggests this will be available in the near future.

I’ve been following through the he.net free IPv6 certification to make sure that I’m doing everything right. It’s been good to check that I’m doing everything correct and to understand what exactly I’m doing. Their tunnel service has also been useful for testing.

But by going through their free certification, I discovered glue records. I had always wondered how some domains have name servers defined under the same domain. For example andrewgee.org now has a name server of ns1.andrewgee.org. Glue records allow you to define these name servers at the registrar of your domain, by supplying the IP address of the name server. Now this doesn’t seem to be a widely supported feature, with few registrars allowing both IPv4 and IPv6 addresses for a name server. I’ve found a number of registrars that claim to, but I’m still waiting for their support departments to ensure this works for .uk domains.

So it hasn’t been a wasted easter break so far. I’d better get to some coursework soon, though.

IPv6 certification

GPX Viewer 0.1

Noticed anything different about the blog? I hope not, as I’ve made a smooth transition to using my own VPS provided by Bitfolk. Yay! But that’s the topic of another blog post!

I’ve made a little app, with Python. This app opens up GPX trace files and allows you to view them on a map, and view basic stats. For those who don’t know, GPX files, are tracks recorded by a GPS device. Making tracks with a GPS device lets you review your journey later.

GPX Viewer 0.1

As you can see, andΒ  can possibly recognise, the trace is drawn on an openstreetmap map. This was made possible thanks to John Stower’s brilliant openstreetmap GTK widget with Python bindings. (I’ve packaged this GTK widget up for Ubuntu and it was accepted in. That was my first packaging, which I will talk about in a future blog entry!)

Go ahead and download it from http://andrewgee.org/downloads/gpxviewer

I’m going to work on Ubuntu and Debian Packages very shortly, so it’s easy to install. Are you a packager for another distribution? Would appreciate it if you’d package this up for me. It would be great if you let me know if you are going to do this.

Translations. This program is fully translatable on Launchpad at http://translations.launchpad.net/gpxviewer – Go ahead and check it out, if you know another lanuage and want to help out! Shouldn’t take too much effort, as there’re few strings to be translated at the moment!

Leave a comment to let me know what you think of the application.


In my last post, I was talking about how I had made a nice little radio automation app in python. Since then I’ve completely restructured it and it is now split into a frontend and backend, which communicate with XML-RPC (yay for the xmlrpclib module). But the website to go with this project is not that great. The other day I went back to look at the website so far, which I had originally written in PHP. I got annoyed with how disorganised it was and decided to rewrite it in django. Oh. And I just prefer python coding over PHP now πŸ™‚

I’ve been trying to learn django on and off for ages now. I usually lose concentration after the first two parts of the tutorial. But this time I had a purpose – the website. I’ve found the best way, for me to learn a new language, is to take a tutorial telling me how to make another project, but apply it to my own project. So I installed the SVN version of django and I’ve zoomed through a lot of django learning now. It’s great. It’s all nicely arranged and modular, which is something I’m liking more and more as my programming skills have developed and perhaps lazyness, when re-using code πŸ™‚

I’ve also been using subversion to keep the code organised. I would have used bazaar if there had been a webdav plugin that worked with the current version I have. I suppose I’ll have to wait for intrepid for that then. subversion is serving me well though. I just got to get the person that’s supposed to be helping me to actually help me. Yes, that’s right – I’m looking at you Stephen.

Vodafone 3G card in Ubuntu

Update: Since writing this blog entry many developments have happened with mobile internet under linux. These days you can just plug and go. NetworkManager will even help you find the right settings. However, I haven’t tested this particular mobile broadband pcmcia card with recent versions of Ubuntu, but assume that it works well. Leave a comment if you have any problems πŸ™‚

First off, I realise that I haven’t posted a blog entry in a while now. I don’t know why I haven’t, as I’ve had plenty of time, it being the summer holidays and all. I always find my self wanting to do so much stuff in the summer holidays, and somehow turn up doing hardly anything. ‘Tis a shame.


After reading this mailing list post on ubuntu-uk, I was surprised these 3G datacards actually worked under ubuntu. Therefore, I instantly zoomed off to ebay and purchased one for Β£34 + postage. I made sure it said unlocked in the ebay listing, as I currently have a virgin mobile sim card and didn’t want to waste/switch to vodafone.

So the datacard turned up and I popped my phone SIM in it. Following the guide that was written in the mailing list, I configured it. This was using kppp. So I made everything was in there right and tried to connect. One problem though. Everytime I tried to connect kppp would lock up instantly. “Ah dear”, I though.

After much researching, I managed to set up the datacard using gnome-ppp, which is equally, if not more, easier to set up the datacard in. And here is a little guide I’ll write in full for you…

Continue reading →

Ruby on Rails Fun

Still my early summer holidays. Apart from the many household jobs my parents have instructed me to do, I’ve also be learning a new programming language.

I’ve be learning the great web development language known as ruby on rails. I’m not quite a 1337 h4xx0r at it yet, but hopefully one day! Or perhaps not. I’m not a 1337 h4xx0r at php and javascript and I’ve been using them for quite a while now.


I think this ruby on rails magic makes all this web development lark much easier because of the following things I’ve found so far:

Firstly, the “Model, View, Controller” way of running things. Ok. So this wasn’t easy to understand straight away. But as soon as it goes *click* in your head, it sure is amazing. I remember half heartedly trying to learn ruby on rails a while back and gave up pretty quickly because of the confusion from this MVC. If you want to learn ruby on rails, I do recommend getting a good book (I’ll talk about that in a minute), and also making lots of examples to remember what all the different components of MVC do.

Number 2 in ruby on rails features has to be Migrations for databases. Migrations allow you to easily synchronise database changes between developers of the web application. You make a change to the database that needs to be synchronised? Well then you setup a database migration step and the changes will be updated when the developer next runs db:migrate. Another good use for database migrations would be to easily manage the database states between the development and the actual deployment on a server. I can’t see PHP doing that with any great ease.

Number 3? Well… I don’t have a number 3! I’ve only got to page 100 so far. Actually 99. But still!

The elite book

Before starting to learn I spent much time trying to find the best book to guide me through learning the language. After browsing through the surprisingly small amount of RoR books on amazon, I found that the best beginners book is one that goes by the name of “Agile Web Development with Rails”. It’s a bit of a mouthful for a book title, but it surely is a great book. It is very well written and easy to understand.

The book takes you through building a project that is an e-commerce site. I find this is the best way to learn a new language and is what I’ve done for almost every other programming language I’ve learnt. I would have preferred for it to be a more useful project, such as a blogging system or something else. But looking at it now, I can see that an e-commerce system probably contains lots of different concepts that you will learn.

I’ve included a direct link to the amazon page for the book on the right, so if you are thinking about buying this book, please follow the link below to help support the running of my blog!