asp.net.core
Goto Top

Eingehende Sitzungen zulassen für RRAS NAT Port-Regel

Hallo,

ich nutze RRAS als NAT zwischen dem Internet und einigen auf Hyper-V basierten Servern auf Windows Server 2012 R2. In den Eigenschaften der WAN-Verbindung habe ich dort unter "Dienste und Ports" einzelne Dienste auf die jeweiligen Server geleitet. Beispielsweise Port 80 auf einen Caching-Server oder Port 443 auf den Webserver.

Nach einem Umzug funktionierten die NAT-Regeln nur noch auf der primären IP des Servers, auf den 2 zusätzlichen jedoch nicht mehr. Ich war ratlos da alles korrekt eingestellt war und die exakt gleiche Konfiguration auf dem vorherigen Server problemlos lief. Ich habe festgestellt, dass es über eine Adressreservierung funktioniert - aber NUR, wenn man unten einen Haken bei "Eingehende Sitzungen an diese Adresse zulassen" setzt. Laut MS-Dokumentation ist dies notwendig, damit Dienste wie Webserver aus dem öffentlichen Netz heraus erreichbar sind.

2e7e11191a54e5e256f755c600f67e8c

Ich vermute daher, dass diese Einstellung bei den einzelnen Portweiterleitungen nicht aktiv ist, denn dort funktioniert es ja nicht, wie wenn ich bei den Adressreservierungen die eingehenden Sitzungen nicht erlaube. Das Problem ist aber: Ich muss wie gesagt einzelne Ports an verschiedene IPs via NAT weiterleiten und nicht nur eine öffentliche IP einer privaten zuordnen, d.H. ich brauche eine Umleitung im Reiter "Dienste und Ports". Nur gibt es dort keinerlei Einstellungsmöglichkeit, um eingehende Sitzungen zulassen zu können:

eda2ccf856d00324fd07a10c469c04a5

Gibt es diese Einstellung für die einzelnen Portweiterleitungen etwa nicht?

Der Hoster gab den Hinweis, dass Zusatz-IPs über die Haupt-IP geroutet werden und scheint daraus entstehende Probleme mit virtuellen MACs zu umgehen. Man kann pro Zusatz-IP eine virtuelle MAC anfordern, die wiederum über Hyper-V einer VM zugeordnet werden kann: http://wiki.hetzner.de/index.php/Datei:Hyper-v-static-mac.png Das bringt mir aber nichts da ich wie gesagt keine vollständigen IP-Zuordnungen machen muss sondern Portweiterleitungen. Außerdem gefällt mir das von der Struktur her auch besser, dass aller externer Traffic über den Host und dessen Firewall nach außen geht.

Content-Key: 267365

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

Ausgedruckt am: 28.03.2024 um 15:03 Uhr

Mitglied: 114757
114757 25.03.2015 aktualisiert um 09:36:37 Uhr
Goto Top
Moin,
schon mal probiert auf dem externen Netzwerkadapter in den TCP/IP Settings einfach die zusätzlichen IPs die du bekommen hast, mit anzugeben. dann sollte dein Vorhaben so funktionieren wenn der Hoster den Traffic sowieso anhand der MAC an deinen Server leitet.

Die Reservierungen die du oben genannt hast leiten ja den kompletten Traffic von dieser IP an eine deiner VMs weiter, d.h. In diesem Fall wäre dann die Firewall der VM zuständig.

Gruß jodel32
Mitglied: ASP.NET.Core
ASP.NET.Core 25.03.2015 um 10:01:24 Uhr
Goto Top
Genau so hatte ich das Anfangs gemacht: Der Externe Netzwerkadapter läuft auf der Primären IP des Servers und die 2 weiteren IPs wurden in den IPv4-Eigenschaften unter "Erweitert" als IP-Adressen hinzugefügt.
Der Unterschied zwischen Reservierung und Portumleitung ist mir schon bewusst. Die Reservierung brauche ich eigentlich überhaupt nicht, aber da nichts funktioniert hat und ich ratlos war habe ich das einfach mal probiert um zu sehen ob es ebenfalls nicht funktioniert. Aber zu meiner Überraschung läuft die Reservierung prima, wenn man wie gesagt eingehende Sitzungen mit dem Haken erlaubt.

Bzgl IPs und deren MACs muss ich mich ein Stück weit korrigieren, das verhält sich anscheinend doch etwas anders. Grundsätzlich sagt der Hoster: "Sowohl Einzeladressen als auch Adressen aus Subnetzen werden generell über die Hauptadresse geroutet.". Man hat aber die Möglichkeit, auf Wunsch pro zusätzlicher IP eine virtuelle MAC-Adresse anzufordern. In den Einstellungen der Netzwerkkarte von Hyper-V kann man diese dann eintragen, damit die zur MAC gehörige IP auf diese VM geroutet wird.

Das möchte ich aber ungerne machen, aus 2 Gründen:
1. Müsste ich dann eine extra Linux-VM als eine Art Router betreiben, die NAT übernimmt - Das sollte das Hostsystem übernehmen
2. Funktioniert das anscheinend nur wenn ich einen Switch erstelle der geteilten Zugriff auf den physischen NIC des Servers hat - Erfahrungsgemäß ist das auf Servern mit nur einem einzigen physischen NIC keine gute Idee, da Hyper-V die statischen Netzwerkeinstellungen des Adapters verändert und man sich so ungewollt selbst vom Server aussperrt

Ich suche daher nach einem Weg, wie ich die Portweiterleitung über RRAS zum Laufen bekomme. Das muss doch auch funktionieren wenn die Reservierung läuft. Meine These ist wie gesagt, dass eingehende Sitzungen standardmäßig wohl nicht bei den Portweiterleitungen zugelassen werden, ich habe bisher aber noch keine passende Einstellung gefunden...
Mitglied: 114757
114757 25.03.2015 aktualisiert um 11:20:45 Uhr
Goto Top
Zitat von @ASP.NET.Core:
Das muss doch auch funktionieren wenn die Reservierung läuft.
Nein, denn der RRAS schaltet diese IP auf Durchzug wenn sie auf die VM gemappt wird, hier macht der RRAS nämlich ein 1:1 NAT (warum verwenden die MS-Seppels hier nicht einfach die richtigen Fachbegriffe...), ist dann also für die IP nicht mehr zuständig sondern die VM mit Ihrer Firewall. Simple Routing-Grundlagen.
Mitglied: ASP.NET.Core
ASP.NET.Core 25.03.2015 um 11:23:28 Uhr
Goto Top
Ich habe mich zugegebenermaßen etwas arg ungeschickt ausgedrückt, sorry. Natürlich meine ich nicht Reservierung und Portweiterleitung zeitgleich parallel, was ja rein logisch schon nicht funktionieren kann. Wollte damit nur sagen, dass RRAS ja grundsätzlich zu funktionieren scheint wenn es per Reservierung funktioniert. Also kann es doch nicht sein, dass es per Portweiterleitung nicht funktioniert (während die Reservierung deaktiviert ist).
Mitglied: 114757
114757 25.03.2015 aktualisiert um 11:36:53 Uhr
Goto Top
Zitat von @ASP.NET.Core:
Also kann es doch nicht sein, dass es per Portweiterleitung nicht funktioniert (während die Reservierung deaktiviert ist).
Zitat aus der MS Hilfe:
In diesem Dialogfeld können Sie Adressen konfigurieren, die Bestandteil des von Ihrem Internetdienstanbieter (Internet Service Provider, ISP) zugewiesenen öffentlichen Adressbereichs sind, die jedoch anderen Hosts zugewiesen sind, auf die der Zugriff über die öffentliche Schnittstelle möglich sein muss, und die nicht für die Adressübersetzung verwendet werden dürfen.

Firewall-Log und Wireshark sagen mehr als 1000 Worte face-wink