Get your own /64 IPv6 network without the help of your provider

wlanboy

Content Contributer
There are a lot of good offers on the LEB market but some providers do not want to support IPv6. Some providers want to support it but their datacenter do not care.

This little tutorial is for customers wanting to play around with IPv6 even if their provider tells them "IPv6 will be available in two weeks".

  1. Open this page: http://www.tunnelbroker.net/
  2. Create an account
  3. Create Regular Tunnel: http://www.tunnelbroker.net/new_tunnel.php
  4. Type in the public ip of your vps (IPv4 Endpoint)
  5. Select one of the tunnel severs:
    createtunnel.jpg
  6. Create tunnel
  7. Open the config tab:
    nbr72t.jpg
  8. Copy&paste the text to /etc/network/intefaces
  9. Run following commands as root:

    sysctl net.ipv6.conf.all.forwarding=1
    nano /etc/sysctl.conf
    uncomment line #net.ipv6.conf.all.forwarding=1
    ifup he-ipv6

  10. Test your IPv6 connection:
    Code:
    ping6 ipv6.google.com
  11. If you want you can add an additional /48 block too:
    additional48.jpg
  12. Use this tunnel in FreeBSD

    They are providing the setup for FreeBSD but only the shell commands - no rc.conf.

    So let's take a look at the commands:
    Code:
    ifconfig gif0 create
    ifconfig gif0 tunnel ipOfYourVPS ipOfTunnelBroker
    ifconfig gif0 inet6 ipv6OfYourVPS ipv6OfTheTunnelBroker prefixlen 128
    route -n add -inet6 default ipv6OfTheTunnelBroker 
    ifconfig gif0 up
    rc.conf would look like this:
     

    Code:
    ipv6_enable="YES"
    gif_interfaces="gif0"
    gifconfig_gif0="ipOfYourVPS ipOfTunnelBroker"
    ipv6_ifconfig_gif0="ipv6OfYourVPS ipv6OfTheTunnelBroker prefixlen 128"
    ipv6_defaultrouter="ipv6OfTheTunnelBroker"
    ipv6_gateway_enable="YES"
    ipv6_ifconfig_gif0_alias0="2001:**:*:*::22 prefixlen 64"
    ipv6_ifconfig_gif0_alias1="2001:**:*:*::33 prefixlen 64"
 
Last edited by a moderator:

nunim

VPS Junkie
Any easy way to do this when you have an dynamic ip?
Checkout:http://www.tunnelbroker.net/forums/index.php?topic=2248.0

Seems pretty simple, same API as the dynamic dns.

Additionally if you host your domain on their dns you can have your IPv6 tunnel sync to your dynamicdns hostname whenever you update it.  If you already have your dynamic dns covered and just want need to update the tunnel endpoint then run


echo -n  yourpassword | md5sum
With yourpassword being your tunnelbroker account password to generate the md5 hash of your password. Next grab your USERID from the TunnelBroker homepage use that as your APIKEY and then TUNNELID from your tunnel page.  Plug those into this simple bash script and run it when you startup or on a cronjob if your IP changes more frequently.

 This will automatically determine your IP address from TunnelBroker's webserver and update your tunnel's endpoint. This script requires curl, to install curl on a Debian/Ubuntu system simply: apt-get install curl

Code:
#!/bin/bash
## TunnelBroker dynamic dns ( requires curl ) ~ nunim
## Configures tunnel endpoint to current ip according to tunnelbroker webserver
USERNAME="02d13e22b03e8eb1dedd10386fd2f451" ##User ID: right under your name on the tunnelbroker homepage
PASSWORD="32f32501935727ba8fab31a06887fa6f" ##md5hash of your tunnelbroker account password, generate with: echo -n password | md5sum
TUNNELID="423125"                           ##Tunnel ID from the individual tunnel details page
 
curl -k -s "https://ipv4.tunnelbroker.net/ipv4_end.php?pass=$PASSWORD&apikey=$USERNAME&tid=$TUNNELID"
 
Last edited by a moderator:

peterw

New Member

wlanboy

Content Contributer
You can add ips through /etc/network/interfaces:


iface eth1 inet6 static
pre-up modprobe ipv6
address 2800:f0f0:2001:0000:0000:0000:0000:0010
netmask 64
gateway 2800:f0f0:2001:0000:0000:0000:0000:0001

Or with ifconfig:


/sbin/ifconfig eth0 inet6 add 2800:f0f0:2001:0::10/64

Same with default route:

Code:
/sbin/route -A inet6 add 2800:f0f0:2001:0::2/64 dev he-ipv6 
or
/sbin/ip -6 route add default dev he-ipv6
 

H_Heisenberg

New Member
Just wondering but this seems not to work for me.

"IP is not ICMP pingable. Please make sure ICMP is not blocked. If you are blocking ICMP, please allow 66.220.2.74 through your firewall."

I CAN NOT enable ICMP... Also the GoGo Freenet IPv6 tunnel client isn't working either for me (because of the same issues as here? no idea).

Allow incoming ICMP for the IP via iptables --> nope, nothing works. Why? Simple. The dumb Telekom router is a god damn hardware firewall.
 
Last edited by a moderator:

Echelon

New Member
Verified Provider
Another IPv6 tunnel provider that comes to mind is GoGo6. The one drawback I find with them though is they require the use of a proprietary v6 tunneling application to be installed on the machine you're going to be tunneling on. That being said, it seems pretty straight forward for users who get nervous when it comes to configuring tunnels and otherwise. Not quite sure where their POPs are these days either.
 

wlanboy

Content Contributer
Updated screenshot of current tunnel broker servers and the optional step to get an additional /48.

Added the configuration for FreeBSD too.
 
Last edited by a moderator:

peterw

New Member
I now run a sixxs.net tunnel in debian.

/etc/sysctl.d/ipv6.conf


net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.default.accept_ra = 1
net.ipv6.conf.default.accept_ra_defrtr = 1
net.ipv6.conf.default.accept_ra_rtr_pref = 1
net.ipv6.conf.default.accept_ra_pinfo = 1
net.ipv6.conf.default.accept_source_route = 1
net.ipv6.conf.default.accept_redirects = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.all.accept_ra = 1
net.ipv6.conf.all.accept_ra_defrtr = 1
net.ipv6.conf.all.accept_ra_rtr_pref = 1
net.ipv6.conf.all.accept_ra_pinfo = 1
net.ipv6.conf.all.accept_source_route = 1
net.ipv6.conf.all.accept_redirects = 1
net.ipv6.conf.all.forwarding = 1

/etc/modules


ipv6

/etc/network/interfaces

Code:
auto sixxs
iface sixxs inet6 v4tunnel
  address [Your IPv6 Endpoint]
  netmask [Prefix Length]
  endpoint [PoP IPv4 Endpoint]
  ttl 64
  mtu 1280
  gateway [PoP IPv6 Endpoint]
 

Pete M.

New Member
Verified Provider
There are a lot of good offers on the LEB market but some providers do not want to support IPv6. Some providers want to support it but their datacenter do not care.

This little tutorial is for customers wanting to play around with IPv6 even if their provider tells them "IPv6 will be available in two weeks".
We are one of those providers that do not offer native IPv6 at the moment, and we do not offer a time frame for it either. It's not that we don't want to, however the data centers where we are hosted have not implemented it yet. That is why for customers who need IPv6 we install a tunnel on their VPS server, all they have to do is open a ticket and request it.

This is not an ideal solution, but IMHO it is far better than telling the customer to wait for native support because "it's coming in two weeks" or whatever. Tunnels work reasonably well and until the entire world is up to date on IPv6 and native support is implemented, a tunnel is about all you need to make your web site accessible over IPv6.
 

ultimatehostings

New Member
Verified Provider
Might be silly of me asking this, has anyone tried using this for a hostnode? I'mean configuring the IPV6 subnet via solusvm and offering it to clients?
 
Top