pfSense Frage

michelmichel

Experte
Thread Starter
Mitglied seit
11.04.2013
Beiträge
87
Ort
Saarland
Hi ich versuche gerade eine VPN-Verbindung mit pfSense aufzubauen. PfSense läuft innerhalb einer VM unter ESXi. Der Server hat 2 physische nics, die pfSense VM hat 3 logische vnics.
Weitere Elemente:
vswitch #1: (vnic1/LAN/192.168.0.1).
vswitch #2: (vnic2/VPN/x.x.x.241), (vnic3/WAN/192.168.10.11)
Physischer DSL-Router (192.168.10.1)
VM1..n hängen am vswitch1 und haben Adressen im Netz 192.168.0.0/24

Diagramm:
Code:
[openvpn/server x.x.x.18]
      |
   Internet 
      |
  DSLrouter
      |
[physischer...switch]
 \_phy...nic1      \_phy...nic2
       |                  |
 ...vswitch2...     ...vswitch1...
 WAN   VPN           LAN  \    \
      \........+...../     VM1...n
           pfSense

(Hoffe es ist klar wie's gemeint ist)

Mir ist klar, dass ich zwei Switches verwenden müsste, um richtige Sicherheit zu bekommen, aber es geht erst mal um die grundlegende Funktionalität.

Es gibt bereits eine openvpn-Verbindung, die ich ja ablösen und nach pfSense migrieren möchte. Deren Konfiguration habe ich mal hier dokumentiert:

Code:
verb 4
dev tun1
remote x.x.x.18
ifconfig x.x.x.241 x.x.x.254
lport 6888
rport 6888
tun-mtu 1360
disable-occ
ifconfig-nowarn
ping 30
secret ....path-to-the-file.../comserv.secret
up /etc/openvpn/./comserv.up
down /etc/openvpn/./comserv.down
script-security 2

in dem up script, mache ich im Kern ein
Code:
/sbin/ip route add default dev tun1 table tun1.out
/sbin/ip rule add from x.x.x.241 table tun1.out pref 1000
/sbin/ip route flush cache

Diese alte openvpn-Verbindung funktioniert bisher gut, diese möchte ich wie gesagt aber ablösen.

In pfSense habe ich eine openvpn Client configuration angelegt, dies erlaubt mir eine Verbindung von x.x.x.241/32 (lokal/VPN) nach x.x.x.18/32 (für den Login, der remote endpoint hingegen ist x.x.x.254/32) auf den Ports lport/rport 6888. aktuell schaffe ich es unter pfSense, eine P-t-P-Verbindung von x.x.x.241/32 zu x.x.x.254/32 aufzubauen. Funktioniert an sich gut. Mit anderen Worten - die VPN-Verbindung exponiert die x.x.x.241/32 nach außen.

Unter pfSense fülle ich die folgenden Felder im Bereich der openvpn Client-Konfiguration aus:
Server Mode Peer-to-Peer (Shared key)
Protocol udp
Device Mode tun
Interface VPN
Local Port 6888
Server host or address x.x.x.18
Server Port 6888
Shared Key: #
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
......
-----END OpenVPN Static key V1-----
Encryption algorithm BF-CBC (128 bit)
IPv4 Tunnel Network x.x.x.241/28
IPv4 Remote Network/s x.x.x.254/32
Advanced: ifconfig x.x.x.241 x.x.x.254
remote x.x.x.18
tun-mtu 1360
disable-occ
ifconfig-nowarn

Diese Firewall- und NAT-Regeln habe ich definiert:

Code:
        Proto 	Source 	Port 	Destination 	Port 	Gateway 	Queue 	Schedule
WAN:  	IPv4* 	 *    	* 	    * 	            * 	    * 			none 	  
LAN: 	IPv4* 	LAN net * 		* 				* 		* 			none 	  
VPN: 	IPv4* 	LAN net * 		* 				* 		* 			none 	  
OpenVPN: IPv4* 	* 		* 		x.x.x.241 		* 		* 			none

... NAT:
Code:
NAT: 
If 			Proto 	Src. addr 	Src. ports 	Dest. addr 	Dest. ports 	NAT IP 		NAT Ports
OpenVPN 	TCP 	* 			* 	                x.x.x.241 	       53 (DNS) 		192.168.0.a 	53 (DNS)
OpenVPN 	TCP 	* 			* 			x.x.x.241 	       22 (SSH) 		192.168.0.b 	22 (SSH)
OpenVPN 	ICMP 	* 			* 			x.x.x.241 	       *			192.168.0.c 	*
(a, b und c sind Nummern ... das sind VMs)
... usw. ...
mit dem letztlichen Ziel, dass bestimmte VMs (a, b and c) auf Anfragen von außen antworten.

Hier kommt jedoch das Problem: sobald ein ping oder eine TCP-Verbindung von außen auf der exponierten IP x.x.x.241 ankommt, wird's schwierig.

Was mir gelingt: Anfragen werden per NAT-Tabelle an die richtigen VMs weitergeleitet und können dort vom jeweiligen Dienst gelesen/verstanden werden. Die Antwort geht jedoch nicht mehr durch. Ich kann keine blockierten Pakete im Log sehen. Ich kann jedoch sehr wohl sehen, dass die Antworten losgeschickt werden (per tcpdump auf der jeweiligen antwortenden VM, z.B. ICMP echo Replies oder Antworten auf DNS-Anfragen auf Port 53). Keine der Antworten kommt zum Initiator der Verbindung / Kommunikation zurück.

Ich habe das Gefühl, dass mir da nur noch ein winziger Baustein zum Glück fehlt. Habt Ihr eine Idee woran es hängen könnte?

Danke im Voraus & Gruss
Michael
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh