Good to Know Database

CentOS 5: IPv6-Tunnel zu Freenet6 einrichten


Momentan bieten die meisten Internet Service Provider (kurz ISP) noch keine direkten IPv6-Verbindungen an. Damit Sie dennoch eine IPv6-Verbindung ins Internet aufbauen können, gibt es sogenannte Tunnel Broker. Zu diesen wird eine IPv4-Verbindung aufgebaut, in welcher IPv6 getunnelt wird.

In der folgenden Anleitung wird beschrieben, wie Sie unter CentOS 5 die Client-Software von gogo6.com installieren, einen 6in4-Tunnel zu den Freenet6-Servern konfigurieren und das System als IPv6-Router einrichten.

Bevor Sie mit der Installation und Konfiguration loslegen, erstellen Sie sich unter http://gogonet.gogo6.com/page/freenet6-registration einen Freenet6-Account. Diesen benötigen Sie später für den Verbindungsaufbau zu den Freenet6-Servern.

Installieren Sie jetzt den Router Advertisement Daemon radvd.

[root@centos5 ~]# yum install radvd

Damit der Router Advertisement Daemon nicht automatisch gestartet wird, führen Sie den folgenden Befehl aus.

[root@centos5 ~]# chkconfig radvd off

Ob der Router Advertisement Daemon deaktiviert wurde können Sie wie folgt überprüfen.

[root@centos5 ~]# chkconfig --list radvd
radvd           0:Aus   1:Aus   2:Aus   3:Aus   4:Aus   5:Aus   6:Aus

Um das IPv6-Forwarding dauerhaft zu aktivieren, fügen Sie einen neuen Eintrag in die /etc/sysctl.conf ein.

[root@centos5 ~]# echo "net.ipv6.conf.all.forwarding = 1" >> /etc/sysctl.conf

Laden Sie anschließend die neue Konfiguration durch den folgenden Befehl.

[root@centos5 ~]# sysctl -p

Damit Sie den gogoClient kompilieren können, benötigen Sie eventuell noch einige weitere Pakete.

[root@centos5 ~]# yum install gcc-c++ openssl-devel

Wechseln Sie anschließend in das Verzeichnis /usr/src und laden die Quellen des gogoClients herunter.

[root@centos5 ~]# cd /usr/src/
[root@centos5 src]# wget http://gogo6.com/downloads/gogoc-1_2-RELEASE.tar.gz

Entpacken Sie nun das heruntergeladene Quellenpaket und wechseln in das entpackte Verzeichnis.

[root@centos5 src]# tar xfz gogoc-1_2-RELEASE.tar.gz
[root@centos5 src]# cd gogoc-1_2-RELEASE

Durch den folgenden Befehl kompilieren Sie den gogoClient für Ihr Linux-System.

[root@centos5 gogoc-1_2-RELEASE]# make platform=linux all

Installieren Sie anschließend den gogoClient in das Verzeichnis /usr/local/gogoc.

[root@centos5 gogoc-1_2-RELEASE]# make platform=linux installdir=/usr/local/gogoc install

Erstellen Sie jetzt unter /usr/local/gogoc weitere Verzeichnisse für die Konfigurationsdatei, die temporären Serverlisten und die Logdatei.

[root@centos5 ~]# mkdir -p /usr/local/gogoc/etc /usr/local/gogoc/var/tmp /usr/local/gogoc/var/log

Kopieren Sie die Beispiel-Konfigurationsdatei in das entsprechende Verzeichnis.

[root@centos5 ~]# cp /usr/local/gogoc/bin/gogoc.conf /usr/local/gogoc/etc/

Öffnen Sie anschließend die Konfigurationsdatei /usr/local/gogoc/etc/gogoc.conf mit einem Editor.

[root@centos5 ~]# vi /usr/local/gogoc/etc/gogoc.conf

Ändern bzw. ergänzen Sie die folgenden Direktiven in der Konfigurationsdatei. Bei den Direktiven userid und passwd geben Sie die bei der Freenet6-Registrierung angegebenen Daten an.

userid=<BENUTZERNAME>
passwd=<PASSWORT>
server=anonymous.freenet6.net
auth_method=any
host_type=router
if_prefix=eth0
broker_list=/usr/local/gogoc/var/tmp/tsp-broker-list.txt
last_server=/usr/local/gogoc/var/tmp/tsp-last-server.txt
log_file=2
log_filename=/usr/local/gogoc/var/log/gogoc.log

Nachdem Sie die Konfigurationsdatei angepasst haben, erstellen Sie ein Init-Skript für den gogoClient.

[root@centos5 ~]# vi /etc/rc.d/init.d/gogoc

Fügen Sie die folgenen Zeilen in das Init-Skript ein.

#!/bin/sh
# chkconfig: 345 95 5
# description: runs the IPv6 tunnel from gogo6.com

. /etc/init.d/functions

test -x /usr/local/gogoc/bin/gogoc || exit 0

RETVAL=0

start() {
  if [ ! -f /var/lock/subsys/gogoc ]; then
    echo -n "Starting gogoc: "
    daemon /usr/local/gogoc/bin/gogoc -y -f /usr/local/gogoc/etc/gogoc.conf 2>/dev/null
    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/gogoc
    echo
  fi
  return $RETVAL
  }

stop() {
  pidof radvd >/dev/null
  if [ $? -eq 0 ]; then
    echo -n "Stopping radvd: "
    killproc /usr/sbin/radvd
    echo
  fi
  echo -n "Stopping gogoc: "
  killproc /usr/local/gogoc/bin/gogoc
  RETVAL=$?
  rm -f /var/lock/subsys/gogoc
  echo
  return $RETVAL
  }

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  condrestart)
    if [ -f /var/lock/subsys/gogoc ]; then
      stop
      start
    fi
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|condrestart}"
    exit 1
esac

exit $RETVAL

Nachdem Sie das Init-Skript erstellt haben, müssen Sie noch die Rechte des Skripts ändern, damit dieses ausgeführt werden kann.

[root@centos5 ~]# chmod 0755 /etc/rc.d/init.d/gogoc

Erstellen Sie anschließend einen Service für den gogoClient.

[root@centos5 ~]# chkconfig --add gogoc

Damit der gogoClient beim Systemstart automatisch gestartet wird, sollten Sie den folgenden Befehl ausführen.

Hinweis: Bevor Sie den folgenden Befehl ausführen oder den gogoClient manuell starten, sollten Sie die IPv6-Firewall und die laufenden Dienste auf Schwachstellen überprüfen. Es kann durchaus sein, dass Sie einen unsicheren Dienst in der IPv4-Firewall gesperrt haben, dieser aber über IPv6 noch erreichbar ist.

[root@centos5 ~]# chkconfig gogoc on

Starten Sie jetzt den gogoClient manuell.

[root@centos5 ~]# service gogoc start

Wenn Sie die Logdatei /usr/local/gogoc/var/log/gogoc.log beim Starten des gogoClients überprüfen, sollten Sie die folgenden Meldungen erhalten.

[root@centos5 ~]# tail -f /usr/local/gogoc/var/log/gogoc.log
2011/04/17 18:52:22 I gogoc: gogoCLIENT v1.2-RELEASE build Apr 17 2011-18:41:20
2011/04/17 18:52:22 I gogoc: Built on ///Linux centos5 2.6.18-238.5.1.el5 #1 SMP Fri Apr 1 18:42:32 EDT 2011 i686 i686 i386 GNU/Linux///
2011/04/17 18:52:22 I gogoc: Establishing connection to server anonymous.freenet6.net using reliable UDP.
2011/04/17 18:52:22 E gogoc: Failed to contact TSP listener at anonymous.freenet6.net.
2011/04/17 18:52:22 I gogoc: Disconnected. Retrying.
2011/04/17 18:52:22 I gogoc: Establishing connection to server anonymous.freenet6.net using TCP.
2011/04/17 18:52:23 I gogoc: Connection to server anonymous.freenet6.net successful.
2011/04/17 18:52:24 I gogoc: Received a TSP redirection message from server anonymous.freenet6.net (1200 Redirection).
2011/04/17 18:52:24 I gogoc: The server redirection list is [ anon-taipei.freenet6.net, anon-amsterdam.freenet6.net, anon-montreal.freenet6.net ].
2011/04/17 18:52:24 I gogoc: Sorting the server redirection list.
2011/04/17 18:52:54 I gogoc: The optimized server redirection list is [ anon-montreal.freenet6.net, anon-taipei.freenet6.net, anon-amsterdam.freenet6.net ].
2011/04/17 18:52:54 I gogoc: Establishing connection to server anon-montreal.freenet6.net using reliable UDP.
2011/04/17 18:52:54 I gogoc: Matching server key found and used.
2011/04/17 18:52:56 I gogoc: Authentication successful.
2011/04/17 18:52:56 I gogoc: Tunnel negotiation successful. Accepted offer.
2011/04/17 18:52:56 I gogoc: Checking for Linux IPv6 support...
2011/04/17 18:52:56 I gogoc: IPv6 support found.
2011/04/17 18:52:56 I gogoc: Executing interface configuration script: /bin/sh "/usr/local/gogoc/template/linux.sh".
2011/04/17 18:52:57 E gogoc: Interface configuration script completed with errors.
2011/04/17 18:52:57 I gogoc: Executing interface configuration script: /bin/sh "/usr/local/gogoc/template/linux.sh".
2011/04/17 18:52:58 I gogoc: Interface configuration script completed successfully.
2011/04/17 18:53:28 I gogoc: Establishing connection to server anon-montreal.freenet6.net using reliable UDP.
2011/04/17 18:53:29 I gogoc: Matching server key found and used.
2011/04/17 18:53:30 I gogoc: Authentication successful.
2011/04/17 18:53:31 I gogoc: Tunnel negotiation successful. Accepted offer.
2011/04/17 18:53:31 I gogoc: Checking for Linux IPv6 support...
2011/04/17 18:53:31 I gogoc: IPv6 support found.
2011/04/17 18:53:31 I gogoc: Executing interface configuration script: /bin/sh "/usr/local/gogoc/template/linux.sh".
2011/04/17 18:53:32 I gogoc: Interface configuration script completed successfully.
2011/04/17 18:53:32 I gogoc: The host type is 'router'.
2011/04/17 18:53:32 I gogoc: The tunnel type is v6udpv4.
2011/04/17 18:53:32 I gogoc: Your IPv6 address is 2001:05c0:1000:000b:0000:0000:0000:892b.
2011/04/17 18:53:32 I gogoc: Your IPv6 prefix is 2001:05c0:110d:f100:0000:0000:0000:0000/56.
2011/04/17 18:53:32 I gogoc: Your IPv6 DNS address is 2001:05c0:1000:0011:0000:0000:0000:0002.
2011/04/17 18:53:32 I gogoc: Keepalive initialized with peer 2001:05c0:1000:000b:0000:0000:0000:892a. Interval=30000ms. Timeout=5000ms. General timeout at 3 consecutive timeouts.

Sobald der gogoClient gestartet wurde und erfolgreich einen IPv6-Tunnel hergestellt hat, sollten Sie eine neue Schnittstelle (tun) mit einer globalen IPv6-Adresse vorfinden. Des Weiteren sollte die Netzwerkkarte in Ihrem System (hier eth0) eine globale IPv6-Adresse erhalten haben.

[root@centos5 ~]# ifconfig
eth0      Link encap:Ethernet  Hardware Adresse 00:0C:29:7C:67:9F
          inet Adresse:192.168.10.129  Bcast:192.168.10.255  Maske:255.255.255.0
          inet6 Adresse: 2001:5c0:110d:f100::1/64 Gültigkeitsbereich:Global
          inet6 Adresse: fe80::20c:29ff:fe7c:679f/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:56127 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37348 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:54666743 (52.1 MiB)  TX bytes:5875826 (5.6 MiB)
          Interrupt:59 Basisadresse:0x2000

lo        Link encap:Lokale Schleife
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6 Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:35 errors:0 dropped:0 overruns:0 frame:0
          TX packets:35 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:3908 (3.8 KiB)  TX bytes:3908 (3.8 KiB)

tun       Link encap:UNSPEC  Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet6 Adresse: 2001:5c0:1000:b::892b/128 Gültigkeitsbereich:Global
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1280  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:500
          RX bytes:416 (416.0 b)  TX bytes:56 (56.0 b)

Zum Testen des IPv6-Tunnels senden Sie einige ICMP6 Echo Requests an einen öffentlichen IPv6-Server (z.B. ipv6.google.com).

[root@centos5 ~]# ping6 -c3 -n ipv6.google.com
PING ipv6.google.com(2a00:1450:8004::6a) 56 data bytes
64 bytes from 2a00:1450:8004::6a: icmp_seq=0 ttl=53 time=94.6 ms
64 bytes from 2a00:1450:8004::6a: icmp_seq=1 ttl=53 time=94.3 ms
64 bytes from 2a00:1450:8004::6a: icmp_seq=2 ttl=53 time=93.8 ms

--- ipv6.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 93.838/94.286/94.695/0.350 ms, pipe 2

Die Konfiguration der IPv6-fähigen Systeme in Ihrem Netzwerk erfolgt durch den Router Advertisement Daemon. Sobald der IPv6-Tunnel aufgebaut wurde, sollten Ihre Client-Systeme automatisch eine globale IPv6-Adresse erhalten und über IPv6 ins Internet gelangen.

Weitere Informationen zum gogoClient und dessen Konfigurationsdatei finden Sie in den entsprechenden Manpages.

[root@centos5 ~]# man /usr/local/gogoc/man/man8/gogoc.8
[root@centos5 ~]# man /usr/local/gogoc/man/man5/gogoc.conf.5


Dieser Eintrag wurde am 23.04.2011 erstellt und zuletzt am 12.05.2011 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_33_1255.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer