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