Author: Justin Lee

  • IPv6 over GRE in RHEL/CentOS

    Note: This article is not about 6-to-4 tunneling. This is about carrying IPv4 and IPv6 at the same time (aka Dual Stack) over a GRE tunnel in RHEL/CentOS

    I was configuring an existing GRE tunnel on my Linux router when I found that the initscripts in CentOS 5.5 didn’t support IPv6 for the tunnel devices.

    The quick hack was to edit /etc/sysconfig/network-scripts/ifup-tunnel and look for this line:


    /sbin/ip link set dev "$DEVICE" up

    Add these lines just after the line above:


    # Added to accomodate IPv6 in tunnel
    /sbin/ip addr add "$IPV6ADDR" dev "$DEVICE"

    Then modify /etc/sysconfig/network-scripts/ifcfg-tun0 (or whatever your device name is) and add the following lines to run dual stack over GRE:


    IPV6ADDR=2001:abcd:1a2b:3c4d::2/64

    If you need to use the tunnel as an IPv6 default gateway, create /etc/sysconfig/network-scripts/route-tun0 and add an entry


    ::/0 via 2001:abcd:1a2b:3c4d::1/64

    Then just restart the interface and bingo IPv6 and IPv4 dual stack on a GRE tunnel.

  • I said hey! What’s goin’ on?

    Rite. That’s the title of an old song ‘What’s Up’. I’ve decided to resume blogging. I think it’s good for me… (I hope?)

    So, I’ve switched jobs. It feels kinda déjà vu since I worked on the same stuff about 2 years ago; although it’s at a larger scale now. There’s some challenges along the way but what’s life without one?

    I also took part in the 2010 National Chinese Music Competition and played the cello for my friend’s Chinese Ensemble. YES, we won, but they said we were bullying kids… well…

    About this time last year, I met up with some old friends. I’m supposed to review if we’ve accomplished what we spoke about. I will review and post an update soon.

    Sorry for being so random. This is the result of not having blogged for over half a year.

    Meanwhile, enjoy this MTV!

  • Blogging Revival

    Haven’t been blogging for some time, maybe I should revive it.

    Also trying to figure out how to have this RSS feed on Facebook.

  • Review of iOS 4 on iPhone 3G

    I’ve just updated my iPhone with the new iOS 4 firmware yesterday and here’s a short review.

    There has been lots of commotion about multi-tasking but I’m not the least concerned — not because I am not getting it on my iPhone 3G, but because I don’t see a need for it with the type of apps I use. Mail and Google Maps in the background doesn’t make sense. I might change my mind if there’s a good IM client someday.

    For now, the only useful features are shown below.

  • 10 beautiful days in Australia

    I must say it was the best trip so far. Sydney (New South Wales) was nice, but Melbourne (Victoria) was really such a beautiful place, and I absolutely enjoyed the scenic drive along the Great Ocean Road. I will certainly return again!

    Panoramic view from the Three Sisters at Blue Mountans
    Beautiful Beaches

    On our way to the Great Ocean Road, we dropped by Pettavel Winery and Restaurant in Geelong for lunch and the food was awesome (so was the wine). We even saw people fly in via Helicopter so it must be really good. I’d highly recommend anybody going past Geelong to have a meal there. A decent meal with a glass of wine averages around S$40-60 per pax.

    Fine Dining at Pettavel

    The 2010 Holden Commodore SV6 with a 3.6l V6 engine we rented was also extremely fun to drive and handled really well around the winding coastal/mountain roads.

    Apollo Bay Motel and Holden SV6

    We also took a 10 minute heli ride in a Robinsons 44 which was worth the experience!

    12 Apostles taken from the Heli
    Robinsons 44 landing

    And of course there’s no visiting Australia without coming into contact with Seagulls. Here’s a really fat one.

    Fat Seagull
  • IPv6 over IPv4 (6to4) all up and working

    Yes, I’ve set myself out to learn IPv6. I thought it was simple – or at least with my understanding of IPv4. I was completely wrong! IPv6 has a much more complicated addressing scheme and “rules”. It requires a change of mindset for a start. The worst part? Getting it all to tunnel through IPv4 when you’re running dynamic IP.

    Anyhow, I’ve got my Linux (CentOS 5) box working and my home network is now “IPv6 ready” (hooray!) but I’m still tweaking the settings so I’ll update the technical stuff later.

    Some little bits about IPv6 I’ve learnt so far is that DHCP servers aren’t really required anymore. Interfaces can self-assign an IP based on their MAC address and this will be almost certainly unique (since MAC addresses are unique). Even in a controlled network, the interface would assign it’s own address.

    Meanwhile, here’s my traceroute to ipv6.google.com. 😀

    traceroute6: Warning: ipv6.l.google.com has multiple addresses; using 2404:6800:8005::63
    traceroute6 to ipv6.l.google.com (2404:6800:8005::63) from XXXX:XXXX:XXXX:1:217:f2ff:fe40:3848, 64 hops max, 12 byte packets
    1  XXXX:XXXX:XXXX:1::1  0.534 ms  0.392 ms  0.410 ms
    2  2002:c058:6301::1  199.142 ms  199.858 ms  199.485 ms
    3  2001:470:0:13b::1  201.157 ms  200.728 ms  198.965 ms
    4  2001:504:d::1f  197.870 ms  199.858 ms  199.927 ms
    5  2001:4860::1:0:21  290.454 ms  203.619 ms  264.787 ms
    6  2001:4860::1:0:77d  220.451 ms  220.804 ms  436.060 ms
    7  2001:4860::1:0:75  511.964 ms  511.896 ms  320.166 ms
    8  2001:4860::1:0:16  703.447 ms  399.187 ms  624.945 ms
    9  2001:4860::2:0:119c  511.687 ms *
    2001:4860::2:0:119b  529.863 ms
    10  2001:4860:0:1::e3  403.409 ms  517.593 ms  400.969 ms
    11  * * *

    Hop 11 seems to have packet filtering and dropped my traceroute.

    I’ve also masked my internal LAN IP to XXXX:XXXX:XXXX otherwise somebody could connect back to my LAN segment. I haven’t had time to figure out the firewall yet. But you can say this is the beauty of IPv6. With a 128 bit address space, every machine has a public routable address.

    Once I have my home network all ready I will begin transitioning all my servers to IPv6. Embrace technology.