Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

IRB VPN

Mit Zugang zum IRB VPN kann man

  • Den IRB-Newsserver von zu Hause nutzen
  • Den Funkzugang im FR nutzen
  • eine statische IP-Adresse bekommen.

Für den Zugang braucht man einen IRB Zugang (beantragen mit dem gelben Zettel in der Einführungswoche). Hat man diesen, beantragt man online

Nun könnt ihr euch mit einem VPN-Client bei prima.cs.tu-berlin.de anmelden. Nach aussen habt ihr dann eure persönliche IP-Adresse, die im Adressraum der TU liegt und könnt so Kontakt zu vielen Uni-Servern aufnehmen, die nur mit Uni-IPs sprechen. Täusche ich mich nicht, werden alle Ports von aussen durchgeleitet, was z.B. Internettelefonie, eingehende FTP-Verbindungen etc ermöglicht.

Anleitungen für die Konfiguration des VPN-Zugangs für verschiedene Betriebssysteme findet ihr unten auf der Seite des IRB für Funk- und Festnetzverbindungen. Dort gibt es auch eine ausführlichere Form dieses Textes.

Zugang unter Mac OS X

Im Programm Internet-Verbindung im Menü Ablage>Neue VPN-Verbindung auswählen. Danach in Server-Adresse: prima.cs.tu-berlin.de und bei Benutzername und dem MS-Chap-Kennwort das was ihr beim IRB Beantragt habt (siehe oben).

Viel spaß, das wars!


Zugang unter WindowsXP

Ähnlich wie beim Mac unter Netzwerkverbindungen eine neue Verbindung estellen und im Dialog die VPN Verbindung auswählen. Server-Adresse: prima.cs.tu-berlin.de Benutzername und MS-Chap-Kennwort das was ihr beim IRB Beantragt habt (siehe oben).

Zugang mit Linux

Falls jemand speziell für Fedora Core 3-5 Hilfe sucht, bitte eine Mail an kenhru<aatt>cs.tu-berlin.de Sollte es viele davon geben, wird eine Anleitung dafür erstellt und alle die nachgefragt haben, werden benachrichtigt.

Auf IRB-vpn mit kvpnc ist die Einrichtung von kvpnc auf einem SuSE Linux 10 beschrieben.

Besondere Hürde waren die routen...

halb-automatisch für Distributionen

Erster Anlaufpunkt ist die sehr gut dokumentierte Seite des PPTP Clients für Linux, auf der sowohl allgemeine, wie auch distributionsspezifische Anleitungen zu finden sind. Ich fasse nochmal die wichtigsten Punkte für den Zugang zum IRB zusammen.

Neuerdings gibt es für KDE auch einen allgemeinen VPN client (besser Verbindungsmanager) - KVpnc. Damit kann man die Verbindung selbst einfacher einrichten.

gentoo

am einfachsten verwendet man kvpnc:

beim kernel kompilieren mppe aktivieren:

Device drivers --->
      Network device support ---->
           <M> ppp support
            ...
           <M> PPP MPPE compression
make modules_install

Den pptp-client emergen

 emerge -av pptpclient 

kvpnc emergen

 emerge -av kvpnc

und starten als su:

 sudo kvpnc

wenn man es lieber etwas mehr manuell macht oder kvpnc nicht funktioniert, kann man mit gentoo auch den normalen net dev support mit pppd ueber pptp verwenden. Mit einem neueren 2.6 kernel geht das alles recht einfach. Bei einem aelteren kernel muss man noch den mppe-patch applizieren und den pptp-client evtl mit mppc-mppe USE flag emergen. Ein neuerer kernel ist also empfehlenswert, im folgenden ist username und passwort IRBUSERNAME/IRBUSERPWD, und fuer prima.cs.tu-berlin.de verwende ich die IP adresse direkt, falls man vorher keinen nameserver zur verfuegung hat:

beim kernel kompilieren mppe aktivieren:

Device drivers --->
      Network device support ---->
           <M> ppp support
            ...
           <M> PPP MPPE compression

Den pptp-client emergen

 emerge -av pptpclient 

das ppp device in /etc/conf.d/net eintragen:

 config_ppp0=( "ppp" )  
 pppd_ppp0=(
   "persist"
   "call irb"
   "holdoff 10"
   "mru 1460"
   "mtu 1460"
   "idle 600"
 )
 link_ppp0="pty \"pptp 130.149.145.10 --nolaunchpppd\""

/etc/ppp/peers/irb anlegen

 pty "pptp 130.149.145.10 --nolaunchpppd"
 name IRBUSERNAME
 require-mschap-v2
 remotename irb
 file /etc/ppp/options.irb
 ipparam irb

/etc/ppp/options.irb anlegen:

   #
   # Lock the port
   #
   lock
   #
   # We don't need the tunnel server to authenticate itself
   #
   noauth
   #
   # Turn off transmission protocols we know won't be used
   #
   nobsdcomp
   nodeflate
   #
   # We want MPPE
   #
   require-mppe-128 # <- use this one for kernel 2.6.15+
   #mppe required,stateless #<- use this one for patched kernel <2.6.15
   #mppe stateless #<- may solve unsupported protocol error
   #
   # We want a sane mtu/mru
   #
   mtu 1000
   mru 1000
   #
   # Time this thing out or it goes poof
   #
   lcp-echo-failure 10
   lcp-echo-interval 10

in /etc/ppp/chap-secrets zwei zeilen eintragen:

 IRBUSERNAME irb IRBPASSWD *
 irb IRBUSERNAME IRBPASSWD *

das ganze testen mit

 pon irb debug dump logfd 2 nodetach 

evtl /etc/init.d/net.ppp0 anlegen (aus z.b. net.eth0):

 cp  /etc/init.d/net.eth0  /etc/init.d/net.ppp0

/usr/local/sbin/irbroute anlegen

 #!/bin/sh
 route add -host 130.149.145.10 dev $(route | awk '/default/ {print $8}') gw $(route | awk '/default/ {print $2}')
 route del default && route add default dev ppp0

und ausfuehrbar machen

 chmod uga+x /usr/local/sbin/irbroute

VPN starten mit

 /etc/init.d/net.ppp0 start

default route umsetzen mit

   /usr/local/sbin/irbroute

wenn ping 130.149.17.8 tut aber nicht nslookup www.google.de, dann nameserver eintragen in /etc/resolv.conf:

nameserver 130.149.17.8

GNOME und network-manager

Außerdem gibt es für GNOME den network-manager-gnome(NMG). Zusammen mit dem network-manager-pptp ist es ein Kinderspiel, den Zugang einzurichten. Ich habe es unter Ubuntu 6.10 (Edgy) ausprobiert. Folgende Pakete müssen dafür installiert werden:

network-manager-gnome
network-manager-pptp

Damit wird dann auch pptp-client, etc. installiert.

Danach hat man ein Applet im Gnome-Panel. Dort klickt man auf den NMG und legt eine neue VPN-Verbindung an. Die Einstellungen in aller Kürze:

Connection

Name: Irgendwas
Type: Windows VPN (PPTP)
Gateway: prima.cs.tu-berlin.de

Authentification

Nichts anwählen

Compression & Encryption

Compression alles aus
Encryption alles an

PPP Options

Use Peer DNS: an
Exclusive device access: an
MTU: 1496 (nach Hinweis in kvpnc Anleitung hier)
MRU: 1416

Routing

Peer DNS trough tunnel: an

Mit den Einstellungen ging bei mir alles sofort und blitzschnell. Der Verbindungsaufbau dauert nicht mal eine Sekunde. Schneller als unter Windows... :)

manuell

Die anschließenden Anweisungen sind in Pseudecode geschrieben und nicht mehr aktuell. Für moderne Linuxdistributionen sollten diese Schritte nicht mehr nötig sein.

if (kernel.version > 2.6.0) {
 if (kernel.version < 2.6.15){
       download(http://www.polbox.com/h/hs001/linux-2.6.9-mppe-mppc-1.1.patch.gz ); /* ... oder passend*/
       exec(patch linux_src);              /* wer das nicht weiß, .... google :) */
   }
   download(http://www.polbox.com/h/hs001/ppp-2.4.2-mppe-mppc-1.1.patch.gz )    /* ... oder passend */
   exec(patch pppd);
   rebuild(kernel, with_PPP, with_MPPE);
   rebuild(pppd);
}
install_pptpclient;
install_pppd(with_mppe_mppc);

Erstelle /etc/ppp/peers/irbvpn mit folgendem Inhalt:

pty "pptp prima.cs.tu-berlin.de --nolaunchpppd"
name MEIN_MSCHAP_BENUTZERNAME
remotename irbvpn
mppe required,stateless
# möglich, dass die vorangeganene Zeile versionsabhängig (>=pppd 2.4.2)
# ersetzt werden muss durch:
# require-mppe
# nomppe-stateful
require-mschap-v2
file /etc/ppp/options.pptp
ipparam irbvpn

Änderung 04.11.05: mtu angepasst, sonst Probleme. Falls es trotzdem Probleme gibt (z.B. Pings zu einer Site kommen an, aber der Seitenaufbau im Web von dieser ist unvollständig; oder andere nicht rational erklärbare Dinge :P ), dann mit der MTU schrittweise runter gehen. 1300 funktioniert ganz gut; auch von zu Hause (DSL).

Als Regel gilt:

Die MTU der VPN-Verbindung muss kleiner als die kleinste MTU auf dem Weg von deinem Rechner zu prima.cs.tu-berlin.de sein, was bei einem ADSL Anschluss höchstens 1492 Bytes/Paket (Ethernet 1500 Bytes/Paket) sein kann. Der Rest ist ein Optimierungsproblem :/ .

Siehe auch Typische MTU-Größen.

Erstelle /etc/ppp/options.pptp:

lock
noauth
nobsdcomp
mtu 1492
nodeflate
lcp-echo-failure 10
lcp-echo-interval 10

Erstelle /etc/ppp/chap-secrets:

MSCHAP_BENUTZERNAME    irbvpn                  MEIN_PASSWORT   *
irbvpn                 MSCHAP_BENUTZERNAME     MEIN_PASSWORT   *

Erstelle /usr/local/bin/irbroute:

#!/bin/sh
route add -host prima.cs.tu-berlin.de dev $(route | awk '/default/ {print $8}')
route add default dev ppp0

Verbindung aufbauen über (als root)

 pppd call irbvpn
 irbroute

Zugang mit FreeBSD

Um mit FreeBSD einen Zugang zum VPN des IRB herstellen zu können, benötigt man das Programm pptpclient. Das muss zuerst außerhalb des IRB-Netzes installiert werden, da man einen Internet-Zugang benötigt.

 pkg_add -r pptpclient

Als nächstes muss die Konfigurationsdatei /etc/ppp/ppp.conf bearbeitet werden. Man fügt folgende Zeilen hinzu:

 irbvpn:
   nat enable yes
   set mppe * stateless
   set authname Benutzername
   set authkey Kennwort
   add! prima 192.168.16.1
   add! default HISADDR

Um die Verbindung zum VPN herzustellen, bezieht man zunächst eine IP mittels DHCP und leitet den Verbindungsaufbau ein:

 dhclient Netzwerkschnittstelle
 pptp prima irbvpn

Das war's auch schon. Bei Fragen und Problemen zum Verbindungsaufbau unter FreeBSD stehe ich gern per E-Mail mit Rat zur Seite. Meine Nutzerkennung lautet bkoenig.