Bug 790886 - [RFE] FC 17 not yet "world ipv6 launch day" ready (3/3 tunnel broker script)
Summary: [RFE] FC 17 not yet "world ipv6 launch day" ready (3/3 tunnel broker script)
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: distribution
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Bill Nottingham
QA Contact: Bill Nottingham
URL:
Whiteboard:
Depends On: 738556 787520
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-15 16:33 UTC by shrek-m
Modified: 2014-03-17 03:29 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-02-17 13:11:59 UTC
Type: ---


Attachments (Terms of Use)

Description shrek-m 2012-02-15 16:33:50 UTC
The FC17 Final Release date and the "world ip launch day" are overlapping

http://fedoraproject.org/wiki/Releases/17/Schedule
2012-05-08	Fedora 17 Final Release

http://www.worldipv6launch.org/
http://www.worldipv6day.org/
http://www.ipv6council.de/index/news/beitrag/world-ipv6-launch-day-at-6-june-2012.html
2012-06-06


In FC17 i am missing support for all 3 global tunnel providers:
http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers

1/3  SixXS.net = client  `aiccu`  is in epel

2/3  freenet6 / gogo6 = client  `gogoc` needs a sponsor
bug #738556  bug #787520

3/3  tunnelbroker / he.net = no client available but simple scripts.
i found one for OSX at github from Philip Klaus and Juan Orti Alcaine (gogoc package)
"tunnelbroker.net automatic tunnel IP update and tunnel setup (on Mac OS X)"
https://gist.github.com/1523645
https://gist.github.com/960672


afaik the  tunnelbroker.net  commands for linux are provided on the website for your tunnel.


it would be great if someone could port this script to linux and provide it as fedora package before the 2012-06-06

Comment 1 Bill Nottingham 2012-02-15 21:38:00 UTC
If you're interested in helping package this for Fedora, how to do it is documented at:

https://fedoraproject.org/wiki/Join#OS_Developer

Comment 2 shrek-m 2012-02-16 00:16:09 UTC
here are some infos,
evtl. can Juan enhance his script ?

---- from the OSX script / he.net part ---
DEVNAME='gif0'

sleep 1

echo "Setting up the tunnel with the new settings now ."
sudo ifconfig $DEVNAME create
sudo ifconfig $DEVNAME tunnel $LOCAL_IPV4 $HESERVER4END
sudo ifconfig $DEVNAME inet6 $MYCUSTOMADDRESS prefixlen 128
sudo ifconfig $DEVNAME inet6 $HECLIENT6END $HESERVER6END prefixlen 128
sudo route -n add -inet6 default $HECLIENT6END
----/----



---- linux net tools commands / from he.net  ---- 
HESERVER4ENDIPV6='::216.66.86.114'
HECLIENT6END='2001:470:x:x::2/64'

sleep 1

ifconfig sit0 up
ifconfig sit0 inet6 tunnel  $HESERVER4ENDIPV6
ifconfig sit1 up
ifconfig sit1 inet6 add  $HECLIENT6END
route -A inet6 add ::/0 dev sit1
----/----

# host 216.66.86.114
114.86.66.216.in-addr.arpa domain name pointer tserv26.ber1.ipv6.he.net.

you can check the iptunnel settings via
# LANG=C iptunnel
sit1: ipv6/ip  remote 216.66.86.114  local any  ttl 64 
sit0: ipv6/ip  remote any  local any  ttl 64  nopmtudisc


the public ipv4 must be correct - via web interface or via ipv4 script
curl -k -s "https://ipv4.tunnelbroker.net/ipv4_end.php?ip=$EXTERNAL_IPV4&pass=$HEPASS&apikey=$HEUSER&tid=$HETUNNEL"


you have to set  radvd  for yourself.
eg.

--- tunnelbroker-radvd.conf
##### radvd.conf - tunnelbroker.net ####
RADVDDEV='eth0'
PREFIX='2001:470:x:x::/64'

interface $RADVDEV
{
  AdvSendAdvert on;
  AdvLinkMTU 1280;
  prefix $PREFIX
  {
    AdvOnLink on;
    AdvAutonomous on;
  };
};
----/----

Comment 3 shrek-m 2012-02-16 23:54:45 UTC
the second linux example from tunnelbroker.net is ok too.
tested under fc16 and sl6.2

i had to wait 30-60 seconds before the first ping6 to HESERVER6END or ipv6.google.com were ok, some pings were lost


the adaption for the scripts, see below:
"tunnelbroker.net automatic tunnel IP update and tunnel setup (on Mac OS X)"
https://gist.github.com/1523645
https://gist.github.com/960672


For the tunnel i had to use my eth0 ipv4 instead the public ipv4 from my dsl-provider (NAT)
For http://tunnelbroker.net you have to set your public ipv4 via webinterface or the $EXTERNAL_IPV4 script 




---- linux router2 commands / from http://tunnelbroker.net ----
MYIF='eth0'
DEVNAME='he-ipv6'
HESERVER4END='216.66.86.114'
HECLIENT6END='2001:470:x:x::2/64'

LOCAL_IPV4=`ifconfig $MYIF |grep -E 'inet.[0-9]' | grep -v '127.0.0.1' | awk '{ print $2}'`
# in the he.net example is used the EXTERNAL_IPV4
# not the LOCAL_IPV4, but this did not work for me behind NAT


sleep 1

modprobe ipv6
ip tunnel add  $DEVNAME  mode sit remote $HESERVER4END  local  $LOCAL_IPV4  ttl 255
ip link set  $DEVNAME  up
ip addr add  $HECLIENT6END  dev  $DEVNAME
ip route add ::/0 dev $DEVNAME
ip -f inet6 addr


check tunnel settings with ...
# LANG=C iptunnel 
sit0: ipv6/ip  remote any  local any  ttl 64  nopmtudisc
he-ipv6: ipv6/ip  remote 216.66.86.114  local 192.168.0.11  t/l 255
----/----

Comment 4 shrek-m 2012-02-17 13:11:59 UTC
I change it to  closed | notabug
the he.net / tunnelbroker.net   tunnel need not really a client or script

I found the ...
IPv6Guide
http://fedoraproject.org/wiki/IPv6Guide

----
1/3
How to setup a tunnel broker via Sixxs.net
http://fedoraproject.org/wiki/How_to_setup_a_tunnel_broker_via_Sixxs.net
----
 - 2/3 -
None for gogo6/ freenet6
http://gogonet.gogo6.com/page/freenet6-account
e.g.
http://fedoraproject.org/wiki/How_to_setup_tunnel_broker_via_Freenet6-account
----
3/3
How to setup tunnel broker via Hurricane Electric
http://fedoraproject.org/wiki/How_to_setup_tunnel_broker_via_Hurricane_Electric

eg.
/etc/sysconfig/network-scripts/ifcfg-he-ipv6
DEVICE=he-ipv6
TYPE=sit
BOOTPROTO=none
ONBOOT=yes                           # set to "no" if you prefer to start the tunnel manually
IPV6INIT=yes
IPV6TUNNELIPV4=CHANGE!!!    # Server IPv4 address
IPV6ADDR=CHANGE!!!              # Client IPv6 address


/etc/sysconfig/network:
IPV6_DEFAULTDEV=he-ipv6


You can update your public ipv4 via http://tunnelbroker.net or snippets from the script:
see  https://gist.github.com/1523645
user-id hash from the website and password as md5
----

Comment 5 shrek-m 2012-02-25 18:20:55 UTC
Examples for HE Tunnelbroker IPv4 update scripts:


---- e.g.  he-tunnelbroker-ipv4-update.sh ----
#!/bin/bash

HEUSER='dn6483m67d411ba0.26906527'
# hash from the website, "UserID"
HEPASS='32f325019357278d1da3ba06887fa6f1'
# hash: echo -n MyPass | md5


HEUSERCLEAR='MyClearUsername'
HEPASSCLEAR='MyClearPasswd'


HETUNNELID=12056
# from the website, "Global Tunnel ID"


# snippet from https://gist.github.com/1523645
####curl -k -s "https://ipv4.tunnelbroker.net/ipv4_end.php?ip=$EXTERNAL_IPV4&pass=$HEPASS&apikey=$HEUSER&tid=$HETUNNELID"


# eg. from HE Dyn-compliant Endpoint Updates - September 16, 2011
# eg. 1 - auto-detect IPv4
curl -s "https://$HEUSERCLEAR:$HEPASSCLEAR@ipv4.tunnelbroker.net/nic/update?hostname=$HETUNNELID"

# or eg. 2 - auto-detect IPv4
####curl -s "https://ipv4.tunnelbroker.net/nic/update?username=$HEUSERCLEAR&password=$HEPASSCLEAR&hostname=$HETUNNELID"

----/----



---- HE info  2011-09-16 ----
Dyn-compliant Endpoint Updates
[September 16, 2011]
We've added support for Dyn-compliant endpoint updates so that equipment talking this spec can very easily update your tunnel endpoint.

Update URL: https://ipv4.tunnelbroker.net/nic/update  ([i]ipv4 is important here, don't remove it[/i])
Username: Your Tunnelbroker.net username
Password: Your Tunnelbroker.net password
Hostname:
	•	Numeric tunnel ID
	•	Numeric tunnel ID in "tunnel#.tunnelbroker.net"  ([i]This host does not actually exist[/i])
	•	Tunnel reverse host, aka "user-#.tunnel.tserv#.loc#.ipv6.he.net"


You can also manually call the needed URLs:
	•	To auto-detect your IPv4 address:

[code]https://<USERNAME>:<PASSWORD>@ipv4.tunnelbroker.net/nic/update?hostname=<TUNNEL_ID>

https://ipv4.tunnelbroker.net/nic/update?username=<USERNAME>&password=<PASSWORD>&hostname=<TUNNEL_ID>[/code]

	•	To manually specific your IPv4 address:

[code]https://<USERNAME>:<PASSWORD>@ipv4.tunnelbroker.net/nic/update?hostname=<TUNNEL_ID>&myip=<IP ADDRESS>

https://ipv4.tunnelbroker.net/nic/update?username=<USERNAME>&password=<PASSWORD>&hostname=<TUNNEL_ID>&myip=<IP ADDRESS>[/code]

TL;DR:
[code]http[s]://[TB_USER:TB_PASS@]tunnelbroker.net/nic/update?[username=TB_USER&password=TB_PASS&]hostname=<TUNNEL_ID|tunnelTUNNEL_ID.tunnelbroker.net|TB_USER-TUNNEL_LABEL.tserv#.LOC#.ipv6.he.net>[&myip=IPV4][/code]
----/----


Note You need to log in before you can comment on or make changes to this bug.