IPv6

From Smop.co.uk

Jump to: navigation, search

IPv6 is the "next generation" internet protocol. Currently we use IPv4, IPv5 was an experimental protocol for real time data. IPv6 is now being deployed (for one thing, we are running out of numbers, IPv6 has _lots_ of numbers - we should never run out. Yes, really, never :-)

However, most internet providers do not talk IPv6, so you need to "tunnel" it to a provider which does. [www.sixxs.net SixXs] kindly offer this. They have some excellent guides, this is 95% copied from their website.

Contents

Signup

Firstly, follow their 10 steps guide, in particular 1-4. I created my own RIPE ID rather than use the "simple" form as I thought it might be handy in future.

  • create a RIPE handle using SiXXS RIPE guide
    • you must fill in phone number, street address, postcode etc - otherwise SixXS will not accept it
  • signup to SixXS using the RIPE handle
  • click the link in the verify email
  • wait for SixXS to approve your user
  • now login and request a tunnel
    • I chose "static", however see step 5 - you may want a different type of tunnel
  • you must allow SixXS to ping your firewall
  • wait for tunnel approval

Once your tunnel approval email has arrived, you can move onto tunnel configuration below, note that it can take an hour for the tunnel to be configured at the other end (PoP - point of presence), so you might want to wait an hour.

Tunnel setup

This time we'll follow the SixXS Debian guide.

  • add to /etc/network/interfaces
auto sixxs
iface sixxs inet6 v4tunnel
  address <Your IPv6 Endpoint>
  netmask <Prefix Length - normally 64>
  endpoint <PoP IPv4 Endpoint>
  ttl 64
  up ip link set mtu 1280 dev sixxs
  up ip route add default via <PoP IPv6 Endpoint> dev sixxs
    • don't worry - this doesn't change the default route for all IP traffic - only ipv6 traffic
  • ifup sixxs
  • you must allow SixXS to ping your firewall via IPv6 I believe (at least if it's a static tunnel)
  • if you have a firewall you will need to allow protocol 41 in and out
    • for firehol, my external interface (ppp0) needed this adding:
  # SixXS ipv6 tunnel
  server "ping" accept 
  server "sixxs" accept
  client "sixxs" accept
    • I also added this to /etc/firehol/services/sixxs.conf
#FHVER: 1:213
server_sixxs_ports="41/any"
client_sixxs_ports="any"
  • now test that you can ping the other end of the tunnel:
    • ping6 <PoP IPv6 Endpoint>
  • and the internet at large:
    • ping6 www.debian.org.sixxs.org

Now that you have a tunnel setup (with a /64 prefix for 18446744073709551616 IPs), you will wonder how to put your other machines on it. Well, they burn a whole /64 _just_ for a point-to-point tunnel - see this explanation - though I still don't understand why they couldn't use something a little smaller.

What you need to do now is wait a week (with your tunnel up) so that you have enough ISK credits to setup a routed subnet. I'll hopefully cover this next week...

Subnet setup

Notes

  • ping6 does IPv6 pings
  • telnet6 does IPv6 telnet
  • do not use "ifconfig", "netstat -nr" - they will confuse you - use "ip" instead
  • use "ip -6" in particular - otherwise you will see IPv4 ("ip -4") stuff!
Personal tools