Direkt zum Hauptinhalt

Installation unter Debian

Beschreibung:

die installation ist so einfach, wie sie für einen Tunnel noch nie da gewesen ist.
Einfach paket installieren, fertig.

Das automatische starten des Tunnels wird mit post-up befehlen in der Netzwerkkonfig realisert..
keine unnötigen startscripte etc.
Und das beste auch noch einfach für ansible bau bar.

Installation:

Das paket n2n und falls man später benötigt das Paket bridge-utils

apt install n2n bridge-utils

Das Routing sollte in der sysctl auch aktiviert sein, wenn ip routing und nicht Layer 2 benötigt wird

nano /etc/sysctl.conf 

Inhalt am Ende anfügen

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

nun anwenden

sysctl -p

Das wars schon.

Inbetriebnahme


Server starten

n2n besteht aus einem Server Dienst der nur listener ist, möchte man das der Server also da wo der Listener ist auch ein VPN Teilnehmer wird, braucht er auch eine Verbindung (edge Client)!
Dieser listener wird supernode genannt

Server starten, mit nohup bringen wir das ding in den Hintergrund dann den Pfad zu supernode -l gibt den port an. Dann geben wir das ganze auch noch in eine logfile, damit wir darin wenn nötig debuggen können

nohup /usr/bin/supernode -l {{ supernode_port }} > /var/log/supernode.log 2>&1 &

Beispiel:

nohup /usr/bin/supernode -l 5555 > /var/log/supernode.log 2>&1 &

Damit läuft der Listenener auch schon.
um den Server zu beenden den Prozess einfach killen mit pkill

pkill supernode

In einer /etc/network/interfaces würde das ganze so aussehen. Sobald das interface up ist, startet der Server.
Wird das interface beendet wird der server gekillt

auto enp6s18
iface enp6s18 inet static
    address 192.168.178.138
    netmask 255.255.255.0
    gateway 192.168.178.1
    dns-nameservers 8.8.8.8 8.8.4.4
    post-up nohup /usr/bin/supernode -l 5555 > /var/log/supernode.log 2>&1 &
    pre-down /usr/bin/pkill supernode

Verbindungen aufbauen

mit dem prgramm edge, hier die Parameter

  /usr/sbin/edge -r -d <netzwerkdevicename> -c "layer2" -k "meinultrageheimespasswort>" -a vpn-seite-ip -l "supernodehost:supernodeport" -f > /var/log/n2n_edge
  
  Parameter:
  -r das routen automatisch erstellt werden sollen
  -d wie das netzwerkdevice heißen soll, dies wird mit ip a angezeigt. wir nennen es einfach n2n0
  -c community namen muss bei allen teilnehmern gleich sein, die in eine gruppe sollen
  -k das super sicher hash passwort um so länger um so besser, muss auch bei allen gleich sein, die in eine gruppe sollen
  -a die eigen interne ip des vpn adapters
  -l dieip/hostname des supernode:denport des supernodes
  -f soll im fordergrund laufen
  >  /var/log/n2n_edge  ausgabe in log file
  
  Hier der ganze Befehl
  /usr/sbin/edge -r -d n2n0 -c "layer2" -k "supergeheimespasswort" -a 10.10.2.1 -l "167.235.xxx.xxx:5555" -f > /var/log/n2n_edge
  
  Und schon baut er eine Verbindung zum supernode auf
  am zweiten client der gleiche befehl nur die ip ist anderns, beispiel
  /usr/sbin/edge -r -d n2n0 -c "layer2" -k "supergeheimespasswort" -a 10.10.2.2 -l "167.235.xxx.xxx:5555" -f > /var/log/n2n_edge
  

mit ip a hier vom zeiten client sieht man die netzwerkkonfig:

 n2n0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether 4a:30:8d:45:50:db brd ff:ff:ff:ff:ff:ff
    inet 10.10.2.2/24 brd 10.10.2.255 scope global n2n0
       valid_lft forever preferred_lft forever
    inet6 fe80::4830:8dff:fe45:50db/64 scope link 
       valid_lft forever preferred_lft forever

Nun sollten wir in der lage sein, 10.10.2.1 anzupingen.
Mit dem Befehl

/usr/bin/pkill edge

Können wir die Verbindung wieder beenden

Verbindung über die  interfaces mittels post-up Sektion starten

auto enp6s18
iface enp6s18 inet static
    address 192.168.178.138
    netmask 255.255.255.0
    gateway 192.168.178.1
    dns-nameservers 8.8.8.8 8.8.4.4
    post-up /usr/sbin/edge -r -d n2n0 -c "layer2" -k "meingeheimespasswort" -a 10.10.2.2 -l "167.235.xxx.xxx:5555" -f > /var/log/n2n_edge
    pre-down /usr/bin/pkill edge

Damit ist die Grundlegende installation abgeschlossen