Skip to content

marineam/comcast-6rd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Comcast 6RD Automaticalness

This is a collection of scripts for automating the setup of a 6RD tunnel on Comcast's network on Debian/Ubuntu machines using dhclient. Currently only tested on Ubuntu Lucid but should work on any system that uses dhclient for DHCP. It is based on an example script by David Ames and extra information by Nathan Lutchansky. Read their HOWTOs for further details on how this thing works.

Overview

The main script of interest is dhclient-exit-hooks.d/comcast-6rd-tunnel which runs each time dhclient gets an IPv4 address and then sets up the tunnel as needed (or tears it down if you ifdown eth0). When setting up the tunnel it will configure and start radvd and run any optional scripts in comcast-6rd-start.d (or stop.d when removing the tunnel). For example you can use this to submit your addresses to a dynamic DNS service such as dhis.org (one of the few that does IPv6).

There is also dhclient-exit-hooks.d/comcast-6rd-params which can be used to watch for info via the 6RD DHCP option. Currently this doesn't work for me (I assume because I am not an official trial participant) but if it ever starts working I'll merge the two scripts to make things even more automagical. That script was written by Nathan Lutchansky. Currently any info it finds is logged via syslog.

To keep my private home network private I use a simple firewall script provided in init.d/firewall which sets up rules for both v4 and v6.

Setup

  1. For Ubuntu Lucid only: You will need a newer kernel and iproute2, both of which are in Maverick. A backported kernel is already available in Ubuntu's lucid-updates repository and a backported iproute2 package is available in a ppa:

    apt-get install linux-image-server-lts-backport-maverick
    apt-add-repository ppa:nathan-launchpad/iproute-lucid-ppa
    apt-get update
    apt-get install iproute
    reboot
  2. Be sure to edit the tunnel and firewall scripts to refer to the correct network interfaces for your system and any other tweaks you need. In my setup eth0 is the external interface and br1 (bridged to eth1) is my internal interface.
  3. Switch your external interface to use the classic Debian configuration method with dhclient rather than NetworkManager if it isn't already. Something like this should be in /etc/network/interfaces:

    auto eth0
    iface eth0 inet dhcp
  4. Add or uncomment the following in /etc/sysctl.conf:

    net.ipv4.ip_forward=1
    net.ipv6.conf.all.forwarding=1
  5. Now it is go time! Install the scripts, bounce the interface, etc.:

    make install
    sysctl -p
    update-rc.d firewall defaults
    /etc/init.d/firewall start
    ifdown eth0; ifup eth0
  6. Hopefully all is happy now, but I make no promises. :-)

Notes

  • For all the laptops and such on the internal network that use NetworkManager, you may need to edit the connection info to enable IPv6. Set the Method option to "Automatic"
  • For all those Android devices you are already done, they use IPv6 by default! (At least on WiFi, cell networks not so much...)

About

Fun with Comcast and IPv6

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages