Sonntag
25. Februar 2007
25. Februar 2007
openVPN
byggvirofbarley, 20:24h
Gestern und heute an openVPN versucht. Im Moment hab ich es so weit, dass der Tunnel zwischen den Rechnern steht. Leider wird der Verkehr vom Notebook noch nicht weitergeleitet. Da muss ich wohl noch ein paar Routen definieren. Durch mehrere Firewalls hindurch ist das ganze gar nicht so einfach. Schaun wir mal.
Hier ein Script, das relativ komfortabel die Firewall aufsetzt:
Hier ein Script, das relativ komfortabel die Firewall aufsetzt:
#! /bin/sh IPTABLES="/usr/sbin/iptables" # Das Script beruht auf eine Beitrag von Achim Leitner # in linuxuser 12/2004. Es muss mit root-rechten ausgefuehrt werden. # # Es kann nicht nur ein Notebook ueber WLAN verbinden, sondern auch # zwei Netze sicher ueber Internet vebinden. # Entsprechende Befehle sind daher zu kommentieren oder # auszukommentieren. # # Die IPTABLES-Definitionen wurden so geaendert, dass es auch mit # der SuSE Firewall funktioniert. D.h. die Definitionen wurden # am Anfang der Chains eingefuegt und nicht am Ende angehaengt. # # TUNDEV : Geraet fuer den Tunnel # LANDEV : Geraet ueber das der Tunnel laeuft # WLAN = no ; Tunnel dient nicht zur Sicherung eines WLAN # Verkehr ausserhalb des Tunnels erlaubt # WLAN = yes ; Tunnel soll ein Notebook ueber WLAN anbinden. # Verkehr ausserhalb des Tunnels ist verboten # Globale Variablen fuer Tunnel und LAN Geraete setzen. # TUNDEV = tun0, tun1 ... # LANDEV = wlan0, wlan1, ... oder lan0, lan1, ... oder modem0, modem1, ... # (modem0, modem1 gilt fuer Waehlverbindungen) # WLAN = no , yes WLANDEV=`iwconfig 2> /dev/null | grep 'IEEE 802.11b/g ESSID:' | cut -d ' ' -f 1` if [ -z "$WLANDEV" ] then WLAN=no LANDEV=eth1 else WLAN=yes LANDEV=$WLANDEV fi TUNDEV=`ifconfig | grep '^tun' | cut -d ' ' -f 1` PORT=1194 echo "Wireless Device : $WLANDEV" echo "LAN Device : $LANDEV" echo "Tunnel Device : $TUNDEV" echo "Port : $PORT" # Erstmal sicherstellen, dass das Tunneldevice geladen ist. /sbin/modprobe tun # Die Weiterleitung der IP-Pakete muss aktiviert sein. echo "1" > /proc/sys/net/ipv4/ip_forward # Mit -I INPUT werden die Regeln vorne angefuegt. D.h. sie werden in umgekehrter # Reihenfolge der Einfuegung abgearbeitet. # Bei Anbindung Verbindung zweier interne Netze (Intranets) ueber das Internet # sollen die Server die Netze gesichert durchs Internet verbinden, aber auch anderen Rechnern den # Zugang zum Internet er lauben. Soll nur ein Notebook ueber WLAN an den Server gebunden werden, # kann alles ausser den Tunnel verboten werden. # Bei einer gesicherten Verbindung ueber WLAN werden die eingehenden Pakete des Tunnels auf dem # realen Interface akzeptiert. Alle anderen Pakete werden verworfen. [ "$WLAN" = "yes" ] && $IPTABLES -I INPUT -i $LANDEV -j DROP # Der Tunnel muss in jedem Fall seine Pakete auf Port 1194 (default) # empfangen koennen. (Ab Version 2.0, sonst 5000) $IPTABLES -I INPUT -i $LANDEV -p udp --dport $PORT -j ACCEPT # Bei einer gesicherten Verbindung ueber WLAN werden alle ausgehenden Pakete, # die am Tunnel vorbei gehen wollen, verboten. [ "$WLAN" = "yes" ] && $IPTABLES -I OUTPUT -o $LANDEV -j DROP # Der Tunnel muss in jedem Fall seine Pakete auf Port 1194 (default) # senden koennen. (Ab Version 2.0, sonst 5000) $IPTABLES -I OUTPUT -o $LANDEV -p udp --dport $PORT -j ACCEPT # Nur wenn ein Notebook angeschlossen wird und # keine Weiterleitung erfolgen soll. [ "$WLAN" = "yes" ] && $IPTABLES -I FORWARD -i $LANDEV -j DROP # Fuer den Tunnel: Da wir vertrauenswuerdige Enden haben, # koennen wir alles was im Tunnel kommt akzeptieren. $IPTABLES -I INPUT -i $TUNDEV -j ACCEPT $IPTABLES -I OUTPUT -o $TUNDEV -j ACCEPT # Die Weiterleitung der Pakete muss beim WLAN mit Notebook # nur auf den Server definiert werden. # Bei der Verbindung zweier Intranets ueber Internet muss die # Weiterleitung auf beiden Rechnern erlaubt werden. # Schaden kann sie auf dem Notebook nicht. $IPTABLES -I FORWARD -i $TUNDEV -j ACCEPT $IPTABLES -t nat -I POSTROUTING -o $LANDEV -j MASQUERADE # Anlegen der Route ins andere Heimatnetz # Hier ist noch etwas zu tun.
Kategorie: Linux Tipps
... comment ...bereits 387 x gelesen