Dies ist eine alte Version des Dokuments!
Installation von N2N
apt-get install subversion apt-get install libssl-dev svn co https://ntop.org/svn/ntop/trunk/n2n/n2n_v2/ cd n2n_v2 make && make install
Installation von OpenVPN
apt-get install openvpn
Konfiguration von OpenVPN
Zuerst sorgen wir dafür das OpenVPN beim Booten nicht automatisch startet:
update-rc.d -f openvpn remove
Die Konfiguration für OpenVPN kommt vom VPN-Anbieter in Form einer komprimierten Datei die nach /etc/openvpn entpackt wird:
unzip 1234.zip cp -f 1234/* /etc/openvpn/ rm -rf 1234
In der Konfigurationsdatei /etc/openvpn/1234.conf müssen die beiden Zeilen die mit „up“ und „down“ beginnen auskommentiert werden. Zusätzlich werden Einstellungen hinzugefügt:
echo "route-noexec" >> /etc/openvpn/1234.conf echo "route-up /etc/openvpn/update-route" >> /etc/openvpn/1234.conf
Damit wird OpenVPN so eingestellt das die routing-Tabelle main (ip route show table main) nicht verändert wird und stattdessen ein Script (update-route) aufgerufen wird das die Einträge vom DHCP Server in einen eigene Tabelle „vpn“ einträgt.
Das Script /etc/openvpn/update-route:
#!/bin/bash #Script called by OpenVPN with network/gateway information. vpn_interface="$dev" vpn_gateway="$route_gateway_1" mesh_interface="br-mesh" exec >/var/log/update-route.log 2>&1 date echo "(I) vpn_interface: '$vpn_interface'" echo "(I) vpn_gateway: '$vpn_gateway'" echo "(I) mesh_interface: '$mesh_interface'" #setup table if it does not exist yet ip route show table vpn &> /dev/null || echo 100 vpn >> /etc/iproute2/rt_tables #cleanup previous table ip rule del table vpn &> /dev/null while ip route del default table vpn &> /dev/null; do true; done #set new gateway in openvon network ip route add default via "$vpn_gateway" dev "$vpn_interface" table vpn ip rule add dev "$mesh_interface" table vpn ip route flush cache #enable packet forwarding to function s a router echo 1 > /proc/sys/net/ipv4/ip_forward iptables --append FORWARD --in-interface "$mesh_interface" -j ACCEPT #Enable MASQUERADE to function as a NAT router iptables --table nat --append POSTROUTING --out-interface "$vpn_interface" -j MASQUERADE
Die Datei muss noch ausführbar gemacht werden:
chmod a+x /etc/openvpn/update-route
Zugriff auf dem Server per ssh aus dem Freifunknetz (über bat0) ist weiterhin möglich. Um den Zugriff zu verhindern bitte „iptables -A INPUT -p tcp -i bat0 –dport 22 -j DROP“ einfügen.