vpn mit amrita
warum?
- da k und i durch ein-, bzw. zweifaches Masquerading von der freien Welt getrennt sind (oder werden), brauchen wir ein vpn, um miteinander Kontakt aufzunehmen
- wenn die 2.6er-Kernel in einen stabilen Bereich gelangt sind, koennen wir auch mal versuchen, einen solchen fuer faxe zu kompilieren, um endlich in den Genuss eines crypto-Dateisystems und eines ipsec-vpn zu kommen
- bis dahin bietet amritavpn eine einfache Methode, ein vpn ohne Kernel-Module, bzw. -Patches aufzubauen
- bis vor kurzem lief amritavpn wegen eines Bugs im 2.4.18-Modul "tun" auf faxe nicht - doch nun haben wir 2.4.21 und alles klappt
- die unten angegebenen Namen sind bei joker.com registriert - da sie nur auf lokale IPs zeigen, kann natuerlich niemand ausser uns damit etwas anfangen ...
Adressierung
im Folgenden habe ich einfach mal festgelegt, welche IPs (und dazugehoerige Ports auf faxe) wir verwenden
- a
- 192.168.42.5 Port 12001
- i
- 192.168.42.9 Port 12002
- k
- 192.168.42.13 Port 12003
- m
- 192.168.42.17 Port 12004
- faxe
- 192.168.42.1
die entsprechenden Namen (bei joker.com konfigurierbar)
- a.vpn.systemausfall.org
- k.vpn.systemausfall.org
- m.vpn.systemausfall.org
- staub.vpn.systemausfall.org
- faxe.vpn.systemausfall.org
Installation
Quellen von sourceforge holen: http://cesnet.dl.sourceforge.net/sourceforge/amvpn/amvpn-0.99.tar.gz
eventuell libssl-dev installieren
./configure, make und make install
- wenn du magst, kannst du jetzt deine zukuenftige Schluessellaenge optimieren (2048 statt 1024 Bits):
indem du diesen [https://systemausfall.org/senselab/patches/amvpn-keytool-0.99.patch Patch] auf /sbin/amvpn-keytool anwendest: patch /sbin/amvpn-keytool amvpn-keytool-0.99.patch
- es sind nur 2048 statt 4096, da manche ssl-Versionen keine Schluessel dieser Groesse akzeptieren
Konfiguration
/etc/amvpn.conf anpassen:
server-ip 139.30.131.251 -> die echte faxe-ip
tunnel-ip 192.168.42.XX -> deine tunnel-ip (siehe oben)
port 120XX -> dein Port auf faxe (siehe oben)
- route-ip 192.168.42.0
unter run-as-user folgende Zeile einfuegen:
run-as-group amvpn
Gruppe amvpn anlegen (etc/group)
in der /etc/passwd die Gruppe fuer den Nutzer amvpn einstellen und sein Home-Verzeichnis auf "/usr/share/amvpn" setzen
Schluessel erzeugen
fuer den Server (also bereits geschehen): amvpn-keytool genca amvpn-keytool genkey amvpn-keytool gencert
Client-Schluessel:
- erstmal erzeugen:
amvpn-keytool genkey
- dann signieren
- entweder vom Client aus:
amvpn-keytool -r xxx@systemausfall.org:/usr/share/amvpn -c gencert
- oder von faxe aus:
amvpn-keytool -r root@CLIENT:/usr/share/amvpn gencert
nix Passwort!
WICHTIG: nach dem Schluessel-Erzeugen musst du unbedingt auf faxe rm /usr/share/amvpn/remote* ausfuehren - ansonsten erhaelt der Naechste folgende Meldung: Couldn't get handle: Permission denied Killed by signal 2. wegen (uid != 0) == true
anschliessend auf Client und Server: amvpn-keytool secure amvpn (das setzt wohl die Zugriffsrechte des Schluessel-Verzeichnisses: auf faxe erstmal ignorieren, bis ihr alle eure Schluessel erstellt habt)
tun-Device
das Modul "tun" unter Network-Devices -> "Universal TUN/TAP-Driver..." ist noetig
falls es kein Geraet /dev/net/tun gibt, dann:
cd /dev; MAKEDEV tun
Benutzung
das Start-Skript (/etc/init.d/amvpn) ist nicht brauchbar, also per Hand: amvpn -d
Notizen
- logs in /var/log/syslog und /var/log/daemon.log
- tun-Modul installieren
- tun-Device erstellen
- Schluessel erzeugen
- /usr/share/amvpn muss amvpn gehoeren