dasbill
Goto Top

Vom VPN Netz ins private Netz

Guten Abend,

ich betreibe einen ESXi 6 Server auf dem insgesamt drei virtuelle Maschinen laufen
eine Sophos UTM Home und zwei Debian 7.8 Server.

Auf dem ESXi habe ich insgesamt drei vSwitches angelegt:

vSwitch 1: UTM
vSwitch 2: Für das öffentliche Netz
vSwitch 3: Für das private Netz

VM1 - UTM
VM2 - Linux Server mit SSH-Server
VM3 - Linux Server mit SSH-Server und OpenVPN Server

Die UTM ist an alle drei vSwitche angebunden und die beiden anderen VMs jeweils an vSwitch 2 und vSwitch 3
und erhalten über den DHCP Server, der UTM jeweils eine private und öffentliche IP-Adresse.

Der SSH Server ist auf VM2 an die private Adresse gebunden und auf VM3 auf die Adresse vom OpenVPN Server.
Auf VM3 läuft neben dem SSH-Server auch noch ein OpenVPN Server mit zusätzlicher tun0-Schnitstelle.

Auf der UTM habe ich bereits eine statische Route für das VPN Netz hinzugefügt und eine SNAT Regel erstellt
damit der Client im VPN Netz auch Internetzugriff hat.

Jetzt möchte ich aber noch ganz gerne das ich im VPN Netz auch die SSH Server im privaten Netzwerk erreiche.
Könnt ihr mir vielleicht einen Tipp geben wie ich das am besten anstelle?


Viele Grüße

DasBill

Content-ID: 267930

Url: https://administrator.de/contentid/267930

Ausgedruckt am: 25.11.2024 um 20:11 Uhr

flitzenderelch
flitzenderelch 31.03.2015, aktualisiert am 01.04.2015 um 13:45:04 Uhr
Goto Top
Hi,

mit tun0 meinst Du das der VPN-Client eine IP-Adresse aus dem DHCP-Bereich vom privaten Bereich bekommt?
Wenn ja, dann müsstest Du in der UTM nur eine Access-Regel für den SSH-Server im öffentlichen Bereich einrichten
und der Rest sollte über das Routing schon funktionieren.

Gruß
DasBill
DasBill 31.03.2015 um 22:23:50 Uhr
Goto Top
Ok, ich liste das am besten noch mal zur besseren Übersicht auf:

Öffentliche Netz: 184.251.154.163/29
Privates Netz: 192.168.154.136/28
VPN Netz: 10.8.0.0/24 auf tun0 auf VM2

Ich möchte jetzt als VPN Client (VPN Netz) in das Private Netz um die SSH-Server im privaten Netzwerk zu erreichen.

Funktioniert das auch über eine entsprechende Regel in der UTM?
flitzenderelch
flitzenderelch 31.03.2015, aktualisiert am 01.04.2015 um 13:45:09 Uhr
Goto Top
Dazu musst Du in der UTM die Route einstellen zu 10.8.0.0/24
als Gateway dann die IP des OpenVPN-Server.

Prüfe auch ob im Debian ipforward eingestellt ist und Dein OpenVPN-Server
die Route(n) auch zu den Clients pusht mit dem öffentlichen und privaten Netz.

OpenVPN -> Server.conf
push "route 184.251.154.163/29"
push "route 192.168.154.136/28"
ggf. muss die Netmaske ausschreiben.
DasBill
DasBill 31.03.2015, aktualisiert am 01.04.2015 um 11:28:07 Uhr
Goto Top
Vielen Dank, die Route war nicht gesetzt jetzt komme ich auch über den VPN ins private Netz. (Die bekannte Kopf - Tisch/Wand Situation)

Jetzt habe ich nur das Problem dass ich keine Verbindung auf den SSH-Port (22) aufbauen kann.
Die folgenden Regeln sind in der UTM gesetzt:

192.168.154.136/28 => Any => 10.8.0.0/24
10.8.0.0/24 => Any => 192.168.154.136/28

Die Pakete werden laut der UTM aber durchgelassen.
2015:03:31-23:46:04 fw ulogd[16082]: id="2002" severity="info" sys="SecureNet" sub="packetfilter" name="Packet accepted" action="accept" fwrule="11" initf="eth1" outitf="eth1" srcmac="00:0c:29:ae:93:43" dstmac="00:0c:29:d3:2d:42" srcip="192.168.154.137" dstip="10.8.0.7" proto="6" length="52" tos="0x00" prec="0x00" ttl="63" srcport="22" dstport="63594" tcpflags="ACK SYN"  

Auch Pings werden laut der Firewall durchgelassen bekomme aber kein Reply.

Hast du dazu vielleicht auch eine Idee?
DasBill
DasBill 01.04.2015 um 14:11:13 Uhr
Goto Top
Habe mal den Verkehr auf dem Client mit Wireshark und auf dem Server mit tcpdump mitgeschnitten.
Daraufhin habe ich eine entsprechende Ping-Abfrage vom VPN-Client an den Server 192.168.154.137 gesendet.
Folgendes brachte die Abfrage zum Vorschein:

ICMP 74 Echo (ping) request id=0x0001, seq=93/23808, ttl=128 (no response found!)
ICMP 74 Echo (ping) request id=0x0001, seq=93/23808, ttl=128 (no response found!)

Auf der UTM hatte ich bisher nicht geschaut wollte ich später dann noch machen.
flitzenderelch
Lösung flitzenderelch 01.04.2015, aktualisiert am 20.04.2015 um 13:10:32 Uhr
Goto Top
Wie sieht den der Rückweg aus vom Server aus, mal den VPN-Client pingen bzw. Tracern.

Ist am Server alles auf Durchzug geschalten?
Iptables etc.

Ich sehe gerade Du hast Regeln für den privaten Bereich an der UTM eingetragen, hast Du
die auch für den öffentlichen Bereich gemacht?

An der UTM kannst auch noch einstellen was mit ICMP(echo) passieren soll, Standard ist glaube
verwerfen.
DasBill
DasBill 01.04.2015 um 20:54:35 Uhr
Goto Top
Wenn ich jetzt von VM 3 versuche den Client anzupingen erhalte ich keine Antwort, ein Ping aufs Gateway 10.8.0.1 (VM 2) klappt problemlos.

Die iptables sind leer und die Regeln in der UTM habe ich jeweils für das private und öffentliche gemacht?

So sind momentan meine ICMP Settings:
16ff334595543f225b034ecf1c70f447

Ich schaue mal weiter.

Viele Grüße
flitzenderelch
Lösung flitzenderelch 01.04.2015, aktualisiert am 20.04.2015 um 13:10:30 Uhr
Goto Top
Hm, sehe gerade nicht wo es hackt.
Ich schmeiß morgen mal meine Testumgebung an und installiere nen OpenVPN-Server
und stell das mal nach. Vielleicht finden wir so die Lösung.
flitzenderelch
Lösung flitzenderelch 03.04.2015, aktualisiert am 20.04.2015 um 13:10:28 Uhr
Goto Top
Ich habe das bei mir jetzt mal nachgebaut.
Erst konnte ich auch nicht auf dem Server in der DMZ zugreifen aber nachdem
ich in der Server.conf die zweite Route eingetragen habe geht es jetzt.

Du musst in die Server.conf zwei Route zum pushen eintragen:
push "route 184.251.154.163/29"
push "route 192.168.154.136/28"

Hab hier nen Windows-Client, wenn ich mich mit OpenVPN verbinde und route print in eine cmd
eingebe müssen beide routen da sein, damit die Pakete wissen wo sie hin müssen.
Kann jetzt sogar vom Server in der DMZ den VPN-Client an pingen.

Hier dazu ein Wiki bei OpenVPN
https://community.openvpn.net/openvpn/wiki/RoutedLans
DasBill
DasBill 04.04.2015 um 18:49:18 Uhr
Goto Top
Hi flitzenderelch,

danke für deine Mithilfe, in der ersten push route hatte ich einen Zahlendreher
ich habe die Konfiguration daraufhin angepasst und den Dienst neu gestartet.

Die zweite route war bereits eingetragen.

Im Log des Clients ist auch folgendes zu sehen:

Sat Apr 04 18:16:38 2015 C:\Windows\system32\route.exe ADD 184.251.154.163 MASK 255.255.255.248 10.8.0.5
Sat Apr 04 18:16:38 2015 ROUTE: CreateIpForwardEntry succeeded with dwForwardMetric1=20 and dwForwardType
Sat Apr 04 18:16:38 2015 Route addition via IPAPI succeeded [adaptive]
Sat Apr 04 18:16:38 2015 C:\Windows\system32\route.exe ADD 192.168.154.136 MASK 255.255.255.248 10.8.0.5

Ein route print auf dem Client zeigt auch:

184.251.154.136 255.255.255.248 10.8.0.5 10.8.0.6
192.168.154.136 255.255.255.248 10.8.0.5 10.8.0.6

Die Firewall lässt nach wie vor alles brav durch.
flitzenderelch
flitzenderelch 06.04.2015 um 21:14:50 Uhr
Goto Top
Kannst Du am Client auch mal nen Tracert auf den Server im öffentlichen Netz machen
und die Ausgabe posten?
DasBill
DasBill 07.04.2015 aktualisiert um 11:34:16 Uhr
Goto Top
In der UTM sind folgende Routen gesetzt:

20027aa26b1900a11777f0674f9d13d5

tracert 184.251.154.163

Routenverfolgung zu 184.251.154.163
über maximal 30 Hops:

  1    17 ms    19 ms    17 ms  10.8.0.1
  2    18 ms    23 ms    17 ms  184.251.154.163

Ablaufverfolgung beendet.

tracert 192.168.154.140

Routenverfolgung zu 192.168.145.140 über maximal 30 Hops

  1    19 ms    18 ms    17 ms  10.8.0.1
  2     *        *        *     Zeitüberschreitung der Anforderung.
  3     *        *        *     Zeitüberschreitung der Anforderung.
flitzenderelch
Lösung flitzenderelch 07.04.2015, aktualisiert am 20.04.2015 um 13:10:25 Uhr
Goto Top
Kannst Du den aus dem 192er-Netz ins Internet gehen?
Das sollte nicht funktionieren, da Du hier NAT bzw. Masquerading betreiben musst.

Bei mir ist in den Routen nur eine Regel drin:
Network (OpenVPN) -> Gateway der Debian Server mit OpenVPN im privaten Netz.

Wäre mal gut, wenn Du noch den ganzen Aufbau mal postest, damit ich mir ein Bild machen kann.
Sprich, welcher Server hat welche IP und hängt in welchem Netz.
DasBill
DasBill 08.04.2015 aktualisiert um 14:46:24 Uhr
Goto Top
Hi,

die 192er können nicht ins Internet, habe darüber aber mal nachgedacht und denke dass es
vielleicht besser wäre wenn die Maschinen alle eine private Adresse von der UTM erhalten und ich dann die Dienste über
NAT ins Internet schicke.

Statische Routen sind bei mir zwei vorhanden:

192.168.154.140 => 184.251.154.162
VPN Network (10.8.0.0/24) => 184.251.154.162

SNAT Regel existiert bei mir eine:

VPN Network => Any => Internet IPv4
Quellübersetzung: 184.251.154.162

Im Reiter: Firewall sind auch die entsprechenden Regeln:
192.168.154.140,192.168.154.141 => Any => VPN Network (10.8.0.0/24)
und VPN Network => Any => 192.168.154.140,192.168.154.141 eingeschaltet.

Zum Aufbau:

vSwitch 1: UTM
vSwitch 2: Für das öffentliche Netz
vSwitch 3: Für das private Netz

vSwitch 1 => VM1 - UTM
Subnetze / IPs:
184.251.154.148 (Öffentliche IP für die UTM)
184.251.154.160/29
192.168.145.136/29

vSwitch 2&3 => VM2 - Linux Server mit SSH-Server und OpenVPN Server
Öffentliche IP:184.251.154.162 (eth0)
Private IP: 192.168.145.141 (eth1)
VPN-Gateway: 10.8.0.1

vSwitch 2&3 => VM3 - Linux Server mit SSH-Server
Öffentliche IP: 184.251.154.163 (eth0)
Private IP: 192.168.145.140 (eth1)

Der VPN Client hat die 10.8.0.6

Ich hoffe das ist soweit für dich verständlich.
DasBill
DasBill 20.04.2015 um 13:10:14 Uhr
Goto Top
Nutze nun den SSL VPN der UTM damit klappt es ohne Probleme.

Vielen Dank für deine Hilfe!