Hallo an alle,
jetzt habe ich mein Notebook über einen VPN-Tunnel mit meinem lokalen Netz verbunden. Damit andere das vielleicht mal nachvollziehen können hier eine kleine Anleitung dazu. Wer noch weitere Tipps dazu geben möchte, immer zu.
Für den VPN-Tunnel habe ich openvpn verwendet, da die Einrichtung damit recht einfach ist. Openvpn kann auch mit Public und Pivat Key Verschlüsselung arbeiten, aber ich habe hier erstmal nur einen Schlüssel für beide Enden des Tunnels verwendet. Der Schlüssel wird wie folgt auf einem der beiden System die den Tunnel bilden erzeugt:
Jetzt wird der Schlüssel auf einem sicheren Weg z.B über ssh auf den anderen Rechner kopiert.
Jetzt müssen noch die Konfigurationsdateien für openvpn erzeugt werden. Als erstes folgt die Datei für das Notebook:
10.0.0.1 ist die IP des Notebooks für den Tunnels.
10.0.0.254 ist die IP der Gegenstelle für den Tunnel
Dann wird noch das Routing über den Tunnel gelegt und der Daemon-Mous aktiviert, damit VPN im Hintergrund läuft.
Jetzt folgt das andere Ende des Tunnels:
Jetzt muss noch dafür gesorgt werden, das die Routen angepasst werden. Der Rechner im Festnetz hängt an einem DSL-Router, da ich nun aber aus einem zusätzlichen Netz auf das Interne zugreifen will, muss natürlich der Host am Ende des Tunnels als zusätzlicher Router arbeiten. Zum Aktivieren des Tunnels und des Routings habe ich das folgende Skript erstellt:
Jetzt wird noch eine Skript auf dem Notebook benötigt, das den Tunnel startet, das Routing anpasst und die Firewall so konfiguriert, das alle Zugriffe nur noch über den Tunnel möglich sind. Hier mein Skript dazu:
jetzt habe ich mein Notebook über einen VPN-Tunnel mit meinem lokalen Netz verbunden. Damit andere das vielleicht mal nachvollziehen können hier eine kleine Anleitung dazu. Wer noch weitere Tipps dazu geben möchte, immer zu.
Für den VPN-Tunnel habe ich openvpn verwendet, da die Einrichtung damit recht einfach ist. Openvpn kann auch mit Public und Pivat Key Verschlüsselung arbeiten, aber ich habe hier erstmal nur einen Schlüssel für beide Enden des Tunnels verwendet. Der Schlüssel wird wie folgt auf einem der beiden System die den Tunnel bilden erzeugt:
Code:
openvpn --genkey --secret /etc/open/vpn/notebook.key
Jetzt müssen noch die Konfigurationsdateien für openvpn erzeugt werden. Als erstes folgt die Datei für das Notebook:
192.168.123.100 ist dabei die echte IP der Gegenstelle des Tunnels.remote 192.168.123.100
dev tun
ifconfig 10.0.0.1 10.0.0.254
secret /etc/openvpn/notebook.key
route-gateway 10.0.0.254
redirect-gateway
daemon
10.0.0.1 ist die IP des Notebooks für den Tunnels.
10.0.0.254 ist die IP der Gegenstelle für den Tunnel
Dann wird noch das Routing über den Tunnel gelegt und der Daemon-Mous aktiviert, damit VPN im Hintergrund läuft.
Jetzt folgt das andere Ende des Tunnels:
Den Parameter "float" musste ich verwenden, da die IP des Noebooks auf die IP des AccessPoin geändert wird.remote 192.168.123.4
dev tun
ifconfig 10.0.0.254 10.0.0.1
secret /etc/openvpn/notebook.key
float
daemon
Jetzt muss noch dafür gesorgt werden, das die Routen angepasst werden. Der Rechner im Festnetz hängt an einem DSL-Router, da ich nun aber aus einem zusätzlichen Netz auf das Interne zugreifen will, muss natürlich der Host am Ende des Tunnels als zusätzlicher Router arbeiten. Zum Aktivieren des Tunnels und des Routings habe ich das folgende Skript erstellt:
VPN=/usr/sbin/openvpn
VPN_CONF=/etc/openvpn/openvpn.conf
IPT=/usr/sbin/iptables
NIC=eth0
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPT -t nat -A POSTROUTING -o $NIC -j MASQUERADE
$VPN --config $VPN_CONF
Jetzt wird noch eine Skript auf dem Notebook benötigt, das den Tunnel startet, das Routing anpasst und die Firewall so konfiguriert, das alle Zugriffe nur noch über den Tunnel möglich sind. Hier mein Skript dazu:
Ich hoffe ich habe nichts vergessen ;-)#! /bin/bash
IPT=/usr/sbin/iptables
VPN=/usr/sbin/openvpn
VPN_CONF=/etc/openvpn/openvpn.conf
ROUTE=/sbin/route
NETZ=192.168.123.0
MASKE=255.255.255.0
NIC=eth1
TUN=tun0
# Starten des VPN Tunnels
$VPN --config $VPN_CONF
# Loeschen der alten Route über eth1
$ROUTE del -net $NETZ netmask $MASKE $NIC
# Setzen der neuen Route über tun0
$ROUTE add -net $NETZ netmask $MASKE $TUN
# Hier wir erst mal alles verboten
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
# Alte Regel löschen
$IPT -F
# Lokale Prozesse erlauben
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
# Alle Zugriffe über den VPN-Tunnel erlauben
$IPT -A INPUT -i tun0 -j ACCEPT
$IPT -A OUTPUT -o tun0 -j ACCEPT
# Aufbau des VPN-Tunnels über eth1
$IPT -A OUTPUT -p udp -m state --state NEW,ESTABLISHED,RELATED --dport 1194 -j ACCEPT
$IPT -A INPUT -p udp -m state --state NEW,ESTABLISHED,RELATED --sport 1194 -j ACCEPT