# VPN über IPSec: Port Forwarding mit IPTABLES



## PhoenixDH (15. Februar 2006)

Ich habe folgendes Problem:

Ich habe einen Rechner im Internet, der sich an einem VPN Server authorisieren soll. Der Tunnel wird über IPSec aufgebaut. Der VPN-Server steht in einer DMZ.

Sprich: Client - Internet - Firewall - VPN-Server - Firewall - Testnetz

Wie muss ich das machen mit den Ports für die Weiterleitung auf der ersten Firewall, damit die VPN Anfragen auch an den Server kommen.

Ports die freigegeben wurden auf der Firewall: UDP 500/10000/4500 TCP /10000 Protokolle 50 und 51

Den UDP Port 500 hab ich an den VPN Server weitergeleitet(denke ich mal, das die Syntax von IPTABLES stimmt), aber es kommt einfach nix an!

Was mache ich falsch?


----------



## Dennis Wronka (15. Februar 2006)

Ich nehme an, dass auch die Protokolle 50 und 51 (ESP und AH, Reihenfolge bin ich grad nicht ganz sicher) auch an den VPN-Server weitergeleitet werden muessen.


----------



## PhoenixDH (15. Februar 2006)

Hm, hab das versucht! Klappt leider auch nicht!
Hier mal mein Script:

```
#! /bin/sh

case "$1" in
    start)
	#Tabllen flushen
	iptables -F INPUT
	iptables -F OUTPUT
	iptables -F FORWARD
	iptables -F -t nat
	
	#Default Policys setzen
	iptables -P INPUT DROP
	iptables -P OUTPUT DROP
	iptables -P FORWARD DROP
	
	#SSH lokal erlauben
	iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
	iptables -A OUTPUT -p tcp --source-port 22 -j ACCEPT

	#DNS lokal erlauben
	iptables -A INPUT -p udp --sport 53 -j ACCEPT
	iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

	#HTTP lokal erlauben
	iptables -A INPUT -p tcp --sport 80 -j ACCEPT
	iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT

	#NTP lokal erlauben
	iptables -A INPUT -p udp --sport 123 -j ACCEPT
	iptables -A OUTPUT -p udp --dport 123 -j ACCEPT

	#HTML erlauben
	iptables -A FORWARD -p tcp --destination-port 80 -j ACCEPT
	iptables -A FORWARD -p tcp --source-port 80 -j ACCEPT
	
	#DNS erlauben
	iptables -A FORWARD -p udp --destination-port 53 -j ACCEPT
	iptables -A FORWARD -p udp --source-port 53 -j ACCEPT

	#VPN-Konfiguration
	iptables -A FORWARD -p udp --dport 500 -j ACCEPT
	iptables -A FORWARD -p udp --sport 500 -j ACCEPT
	iptables -A FORWARD -p udp --dport 10000 -j ACCEPT
	iptables -A FORWARD -p udp --sport 10000 -j ACCEPT
	iptables -A FORWARD -p tcp --dport 10000 -j ACCEPT
	iptables -A FORWARD -p tcp --sport 10000 -j ACCEPT
	iptables -A FORWARD -p udp --dport 4500 -j ACCEPT
	iptables -A FORWARD -p udp --sport 4500 -j ACCEPT
	iptables -A FORWARD -p 50 -j ACCEPT
	iptables -A FORWARD -p 51 -j ACCEPT
	iptables -t nat -A PREROUTING -i dsl0 -p udp --dport 500 -j DNAT --to 192.168.22.1:500
	iptables -t nat -A PREROUTING -i dsl0 -p 50 -j DNAT --to 192.168.22.1 
	iptables -t nat -A PREROUTING -i dsl0 -p 51 -j DNAT --to 192.168.22.1 
	
	#Routing aktivieren
	iptables -t nat -A POSTROUTING -o dsl0 -j MASQUERADE
	
	#IP Forwarding aktivieren
	echo 1 > /proc/sys/net/ipv4/ip_forward
	
	#Ausgabe nach erfolgreichem Starten
	echo "Firewall gestartet";;
esac
```


----------



## Dennis Wronka (16. Februar 2006)

Bist Du sicher, dass nicht ankommt? Oder ist es vielleicht moeglich, dass nur nichts wieder zurueckgeht? Hast Du schonmal mit TCPDump oder Ethereal geschaut? Sowohl auf der Firewall als auch am VPN-Server?

Du koenntest Dir uebrigens mittels Connection Tracking das Leben wesentlich einfacher und Dein Script ein gutes Stueck kuerzer machen.


----------



## PhoenixDH (16. Februar 2006)

Also ich habe mal mit tcpdump auf der Schnittstelle von der FIrewall geschaut die mit dem VPN Server verbunden ist. Da kommt 3 mal der Versuch den IKE Schlüsselaustausch zu vollziehen im 1. Schritt, aber weiter geht es nicht!

Ich bin mittlerweile auch fsast der Ansicht das irgend ein Port noch fehlt oder wirklich nix zurückkommt!

Das Problem ist, das der VPN Server von Nortel ist, sprich eine fertige Box ist, da kann ich nur per Telnet drauf, gibts da auch sowas wie tcpdump?


----------



## Dennis Wronka (16. Februar 2006)

Also wenn die Daten an der Firewall an der richtigen Schnittstelle ausgehen sollten sie eigentlich auch beim VPN-Server ankommen.
Ob es auf so einer Kiste aber sowas in der Art wie TCPDump gibt kann ich Dir nicht sagen, da wirst Du mal das Handbuch oder Google befragen muessen.


----------



## PhoenixDH (16. Februar 2006)

Jo, rausgehen tun die definitiv. Muss mal schaun Morgen was da ankommt, komm leider heute nimmer an das System!

Falls ich noch Fragen hab melde ich mich nochmal.


----------

