NeoRouter ist ein so genannter ZeroConf-VPN-Dienst, der es erlaubt, sich mit Freunden oder Kollegen über das Internet zu einem “virtuellen LAN” zusammenzuschließen. Ein ähnlicher Dienst ist Hamachi, jedoch hat Hamachi den Support für Linux eingestellt und bietet nicht so viele Funktionen wie NeoRouter.

Ok, dann installieren wir mal Server und Client unter Ubuntu 10.04 Lucid Lynx.

Server installieren

Zunächst lädt man sich die aktuelle Version des Servers von der Herstellerseite herunter, indem man im Terminal folgendes eingibt:

32bit:

wget http://www.neorouter.com/Downloads/NRFree/Update_1.1.0.1800/Linux/Ubuntu/nrserver-1.1.0.1800-free-ubuntu-i386.deb 

64bit:

wget http://www.neorouter.com/Downloads/NRFree/Update_1.1.0.1800/Linux/Ubuntu/nrserver-1.1.0.1800-free-ubuntu-amd64.deb 

Sobald das Paket heruntergeladen ist, wechselt man per Terminal in das Downloadverzeichnis und installiert den Server per

sudo dpkg -i nrserver* 

Der Befehl meldet nun einige Log-Informationen zurück. Am Ende steht die Meldung

 * Starting NeoRouter connection server: nrserver  [OK]

Das bedeutet, dass der Server korrekt installiert ist und bereits läuft. NeoRouter ist übrigens so konfiguriert, dass es bei jedem Neustart mitgestartet wird.

Neue Domäne einrichten

Domäne meint hier den Namen des virtuellen LANs. Eine solche Domain kann man auf dieser Seite registrieren: https://www.neorouter.com/Dashboard/CreateDomain.aspx Jetzt muss der Server mit der Domäne bekannt gemacht werden. Angenommen, unsere Domäne heisst Luna und hat das Passwort Sun, dann muss folgender Befehl verwendet werden:

sudo nrserver -setdomain Luna Sun

NeoRouter arbeitet über den Port 32976.

sudo nrserver -setport 32976

Es muss also sichergestellt werden, dass der Port 32976 an den Server-PC weitergereicht wird!

Als Subnet soll 10.0.0.0 verwendet werden:

sudo nrserver -dhcp 10.0.0.0 255.255.255.0

Hierdurch erhalten alle Teilnehmer eine IP der Form 10.0.0.x

Ok, jetzt kann man sich die Servereinstellungen noch anzeigen lassen:

sudo nrserver -showsettings

User hinzufügen

Die Teilnehmer können sich nur dann mit dem LAN verbinden, wenn sie einen Useraccount besitzen. Angenommen es soll der User “marc” mit dem Passwort “hackme” angelegt werden:

sudo nrserver -adduser marc hackme user

Der User existiert nun, muss aber noch aktiviert werden:

sudo nrserver -enableuser marc

Als zweiter User könnte der Administrator “god” mit dem Passwort “heaven” angelegt werden:

sudo nrserver -adduser god heaven admin

Auch dieser muss erst noch aktiviert werden:

sudo nrserver -enableuser god

Fertig, ab jetzt können die User sich anmelden.

Client installieren

Zunächst lädt man sich die aktuelle Version des Clients von der Herstellerseite herunter, indem man im Terminal folgendes eingibt:

32bit:

wget http://www.neorouter.com/Downloads/NRFree/Update_1.1.0.1800/Linux/Ubuntu/nrclient-1.1.0.1800-free-ubuntu-i386.deb 

64bit:

wget http://www.neorouter.com/Downloads/NRFree/Update_1.1.0.1800/Linux/Ubuntu/nrclient-1.1.0.1800-free-ubuntu-amd64.deb 

Sobald das Paket heruntergeladen ist, wechselt man per Termin in das Downloadverzeichnis und installiert den Client per

sudo dpkg -i nrclient* 

Der Befehl meldet nun einige Log-Informationen zurück. Am Ende steht die Meldung

   * Starting NeoRouter client service: nrservice  [ OK ] 

Das bedeutet, dass der Client korrekt installiert ist und auch bereits läuft. Um nun dem VPN-Netzwerk beizutreten wird der Befehl

nrclientcmd -d domain -u user -p password

verwendet. Für den User “marc” mit dem Passwort “hackme” lautet der Befehl für die Domäne Luna also

nrclientcmd -d Luna -u marc -p hackme

Sind alle Angaben richtig, erscheint folgende Meldung:

Available Commands: addcomputer, deletecomputer, createcategory, renamecategory, deletecategory, wakeonlan, setproxy, changepassword, quit
 Enter command:

Das bedeutet, dass die Verbindung zum Netz funktioniert. Mit STRG C kann der Prozess nun abgebrochen werden. Die Verbindung bleibt dabei bestehen.

NeoRouter ist übrigens so konfiguriert, dass nrservice bei jedem Neustart mitgestartet wird. Mittels nrclientcmd muss man sich dann aber noch mit dem VPN verbinden.

Mit Hilfe des Befehls

ifconfig nrtap 

kann überprüft werden, ob die VPN-Verbindung richtig funktioniert. Die Ausgabe sieht in etwa so aus:

 nrtap     Link encap:Ethernet  HWaddr 06:94:f4:06:d3:c8
 inet addr:10.0.1.3  Bcast:10.0.1.255  Mask:255.255.255.0
 inet6 addr: fe80::494:f4ff:fe06:d3c8/64 Scope:Link
 UP BROADCAST RUNNING MULTICAST  MTU:1300  Metric:1
 RX packets:15 errors:0 dropped:0 overruns:0 frame:0
 TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:500
 RX bytes:2594 (2.5 KB)  TX bytes:4070 (4.0 KB)

Man erkennt, dass der Client mit dem virtuellen LAN über die IP-Adresse 10.0.1.3 verbunden ist.

GUI

Auf SourceForge wird das Projekt NRClientX gehostet, welches eine GUI zur Steuerung des Clients beinhaltet. Zur Verwendung der GUI ist allerdings wxPython-2.8 erforderlich, was sich leicht nachinstallieren lässt:

sudo apt-get install python-wxgtk2.8 

Jetzt kann man sich die aktuelle Version von NRClientX über Sourceforge herunterladen und entpacken. Anschließend wechselt man per Terminal in das entpackte Verzeichnis und startet die GUI mittels

python PyNRClientX.py