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
- eine Persönliche IP-Adresse (
optionalmuss man machen) - ein MS-Chap Kennwort
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, sowie das Formular zum Freischalten des IRB VPNs findet ihr unten auf der Seite des IRB für Funk- und Festnetzverbindungen. Dort gibt es auch eine ausführlichere Form dieses Textes.
Inhaltsverzeichnis
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 -n | awk '/^0.0.0.0/ {print $8}') gw $(route -n | awk '/^0.0.0.0/ {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... :)
Ubuntu 9.04 mit network-manager
Da das oben bei mir so nicht ganz funktioniert hat, noch ein paar Ergänzungen für den neuen Networkmanager ab Ubuntu 9.04: Bei Synaptic müssen folgende Pakete installiert sein:
network-manager network-manager-pptp pptp-linux
Dann beim Network-Manager unter VPN eine neue Verbindung hinzufügen und PPTP auswählen und auf Erzeugen klicken.
Verbindungsname: egal Gateway: prima.cs.tu-berlin.de Benutzername: MEIN_IRB_ACC_NAME //womit ihr euch auch ins cs-netz einloggt Passwort: leer lassen NT-Domäne: leer lassen
Auf Erweitert... klicken:
Authentifizierung alle an Point-to-Point Verschlüsselung verwenden(MPPE) an Sicherheit: Alle verfügbaren Erlaube stateful Verschüsselung an Alle Komprimierung aus (BSD,Deflate,TCP-Header) Sende PPP-Echo Pakete aus
Bei IPv4-Einstellung:
Automatisch(VPN)
Alles schließen und über linksklick und dann VPN-Verbindungen und eure eben erstellte VPN-Verbindung auswählen Es müsste noch eine Passwort anfrage kommen wo ihr euer MC-Chap Passwort eingebt. Wenn man das bei den Einstellungen eingibt funktioniert die Verbindung nicht. Wenn ein kleines Schloss erscheint seid ihr im IRB-VPN
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. In der Domäne cs.tu-berlin.de lautet meine Nutzerkennung bkoenig. ;-)
Ergänzung: Zum Verbindungsaufbau via WLAN eignet sich das Programm openvpn. Eine Anleitung wird hier noch nachgetragen. Bis dahin rücke ich die auch auf Anfrage raus.
Zugang mit FreeBSD (WLAN)
Ich konnte das bei mir efolgreich wie folgt mit einem Tubit Account einrichten: Da OpenVPN benoetigt wird, sollte dieses vorher installiert werden.
pkg_add -r openvpn
Bei FreeBSD >=8 muss ein virtuelles WLan Geraet (wlan0) aus dem bestehendem erzeugt werden. Ich habe folgendes Geraet bwi0
ifconfig wlan0 create wlandev bwi0
Dann verbindet man sich mit dem IRB
ifconfig wlan0 ssid IRB channel 11 up
Als naechstes holt man sich eine IP via:
dhclient wlan0
Da es beim openvpn Client Probleme gibt ein tap0 device anzulegen, muss dieses per Hand erfolgen
ifconfig tap0 create
Jetzt kann man den OpenVPN Client starten
openvpn --config /root/scripts/tubit.conf --float --auth-user-pass tubit_pass
Die tubit.conf sieht wie folgt aus:
remote openvpn1.tubit.tu-berlin.de 1194 remote openvpn1.tubit.tu-berlin.de 1195 remote openvpn1.tubit.tu-berlin.de 1196 remote openvpn1.tubit.tu-berlin.de 1197 remote openvpn1.tubit.tu-berlin.de 1198 remote openvpn1.tubit.tu-berlin.de 1199 remote openvpn1.tubit.tu-berlin.de 1200 remote openvpn1.tubit.tu-berlin.de 1201 tls-client ca tubITChain.crt client comp-lzo auth-user-pass verb 3 remote-random
Die Passwortdatei tubit_pass ist wie folgt aufgebaut:
<tubit_username> # ohne @mailbox.bla <password>
Beides jeweils ohne die <>
Sollte es diesbezueglich Probleme geben stehe ich auch gerne fuer Fragen zur Verfuegung: patrick.plocke@mailbox.tu-berlin.de