timmyonfire
Goto Top

Fortigate FG200F NAT Fragen

Moin Welt!

Ich stehe vor folgendem Szenario das ich lösen soll:

In unserer virtuellen Umgebung sollen wir Clients des Kunden hosten, die ihre entsprechenden Server in der Kundenumgebung über die externe IP der Kundenfirewall auf separaten Ports erreichen soll.
Wir haben eine (bzw. zwei als HA Cluster) Fortigate FG200F (v7.2.1 build1254) in der Umgebung installiert und wollen diese nun mit der Kunden FW koppeln. Wir haben uns auf ein Transfernetz und entsprechende Ports für die jeweiligen VMs bzw. Client-Server Kommunikation geeignet.

Die Fortigate sowie auch das Thema NAT ist relativ neu für mich und ich sehe gerade Wald vor lauter Bäumen nicht.

Verstehe ich die Dokumentation richtig, dass ich für diese Anforderung lediglich für jede Client/Server Kommunikation eine separate Regel erstellen brauche in der ich das NAT aktiviere?

https://docs.fortinet.com/document/fortigate/7.2.1/administration-guide/ ...

Das wäre ja aber erst eine reine Übersetzung der Adresse ohne Berücksichtigung der Ports?!

Anbei eine Skizze zur besseren Anschauung.

nat

Content-Key: 4665255470

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

Printed on: July 24, 2024 at 00:07 o'clock

Member: ChriBo
ChriBo Nov 17, 2022 at 14:57:16 (UTC)
Goto Top
Hi,
ich kenne zwar die Fortigate Konfiguration und Benennung der NAT Modes nicht, aber warum setzt ihr das nicht folgendermaßen um:
Transfernetz muß minimum ein /29 werden.
Die Client Firewall (eure Seite) erhält ein standard SNAT (?) mit der ausgehenden Interface Adresse,
die serverseitige Firewall erhält 3 virtuelle IPs z.B. 10.0.0.3,4,5 mit einem 1:1 mapping auf die internen Serveradressen.

Gruß
CH
Member: SlainteMhath
SlainteMhath Nov 17, 2022 updated at 15:27:41 (UTC)
Goto Top
Moin,

Verstehe ich die Dokumentation richtig, dass ich für diese Anforderung lediglich für jede Client/Server Kommunikation eine separate Regel erstellen brauche in der ich das NAT aktiviere?

Ja, das verstehst du richtig. Du kannst, wenn jeder Client mit jedem Server kommunizieren soll, das auch in eine Policy zusammenfassen, etwa so:

Quell-IF = ...
Ziel-IF = ...
Quelle= Client A, B und C
Ziel = 10.0.0.2
Service = 10001-10003
NAT = enabled

Und natürlich müssen die Clients die Route zu den Servern kennen

lg,
Slainte

/EDIT: IP für Ziel korrigiert
Member: luke-CH
luke-CH Nov 17, 2022 updated at 16:40:53 (UTC)
Goto Top
Ich würde das möglichst einfach machen, mit einem neuen VLAN bei euch und einem Site2Site VPN ohne NAT direkt berechtigen. Dies geht natürlich nur, wenn ihr und euer Kunde nicht dieselben IP Subnetze verwendet.
Du müsstest das neue VLAN deinen ESX Servern oder was ihr einsetzt zur Verfügung stellen.
Da nicht nur du den Zugriff berechtigen musst, sondern auch der Kunde auf seiner Firewall ist das genauso sicher wie über NAT.

Ein neues VLAN für die Clients würde ich dir sowieso empfehlen, so ist das abgetrennt von deiner übrigen Umgebung.

Wenn du das so machen möchtest wie geschrieben, gibt es auf der Fortigate die Möglichkeit mit Virtual IPs zu arbeiten. Dort trägst du für jede IP im Transfernetzwerk einen Server im Kundennetzwerk ein. Und erstellst Firewall Regeln mit diesen VIP Objekten. Das wäre die Konfig auf der Kundenfirewall.. wenn die auch eine Fortigate einsetzen. Auf eurer Seite machst du Firewall Regeln in das Transfer Netzwerk und im DNS fügst du die Server mit den IPs aus dem Transfernetzwerk hinzu. Wenn du nicht nur Client zu Server Verbindungen sondern auch umgekehrt machen möchtest, denke ich wäre es besser du ziehst einen Fortigate Spezialisten bei.

Gruess
Luke
Member: Spirit-of-Eli
Spirit-of-Eli Nov 17, 2022 at 16:25:17 (UTC)
Goto Top
Moin,

Oder du nutzt komplett unterschiedliche Routing Instanzen pro Kunde. Lässt sich pro Interface definieren. Dann ist alles getrennt.

Wan Seite muss dann allerdings auch überall unterschiedlich sein.

Gruß
Spirit
Member: timmyonfire
timmyonfire Nov 17, 2022 at 21:28:01 (UTC)
Goto Top
Erstmal Danke für den Input und eure Gedanken dazu!

Ein, zwei Informationen muss ich noch nachtragen, über dessen Wichtigkeit ich vorhin beim Schreiben noch nicht gestolpert bin.

Zitat von @ChriBo:
Transfernetz muß minimum ein /29 werden.
...
die serverseitige Firewall erhält 3 virtuelle IPs z.B. 10.0.0.3,4,5 mit einem 1:1 mapping auf die internen Serveradressen.


Es geht um insgesamt 20 Client/Server Verbindungen, d.h. das Transfernetz müsste dann sogar mindestens ein /27 sein.


Zitat von @SlainteMhath:
...
Ja, das verstehst du richtig. Du kannst, wenn jeder Client mit jedem Server kommunizieren soll, das auch in eine Policy zusammenfassen, etwa so:

Quell-IF = ...
Ziel-IF = ...
Quelle= Client A, B und C
Ziel = 10.0.0.2
Service = 10001-10003
NAT = enabled

Und natürlich müssen die Clients die Route zu den Servern kennen


Okay. Das hilft mir schonmal für den aktuellen Lösungsansatz, bzw. Vorgabe vom Kunden.
Es soll tatsächlich nur Client A mit Server A, Client B mit Server B usw. kommunizieren, aber dein Beispiel mit der "All to All" Policy habe ich verstanden.
Das würde laut deinem Beispiel in der Policy dann ja so aussehen:

Quell-IF = VLANxy
Ziel-IF = Port 123
Quelle= Client A
Ziel = 10.0.0.2
Service = 80, 443 (?)
NAT = enabled

Was mir noch nicht klar ist wie ich die Ports in der Policy umsetze. Einige der Clients stellen lediglich eine Verbindung mit dem Browser über Port 80 bzw. 443 her. Diese muss ich dann wie auf z.B. Port 10001 weiterleiten?!


Zitat von @luke-CH:

Ein neues VLAN für die Clients würde ich dir sowieso empfehlen, so ist das abgetrennt von deiner übrigen Umgebung.
...
Wenn du das so machen möchtest wie geschrieben, gibt es auf der Fortigate die Möglichkeit mit Virtual IPs zu arbeiten. Dort trägst du für jede IP im Transfernetzwerk einen Server im Kundennetzwerk ein. Und erstellst Firewall Regeln mit diesen VIP Objekten. Das wäre die Konfig auf der Kundenfirewall.. wenn die auch eine Fortigate einsetzen. Auf eurer Seite machst du Firewall Regeln in das Transfer Netzwerk und im DNS fügst du die Server mit den IPs aus dem Transfernetzwerk hinzu. Wenn du nicht nur Client zu Server Verbindungen sondern auch umgekehrt machen möchtest, denke ich wäre es besser du ziehst einen Fortigate Spezialisten bei.


Die Clients befinden sich schon in einem separaten VLAN.
Meines Wissens nach betreibt der Kunde eine OPNsense unter Ubuntu auf einem RX1330M4.
Namensauflösung ist aktuell nicht erforderlich, da uns nur IP Adressen bzw. eine Adresse bekannt gegeben werden sollen.
Aktuell sollen die einzelnen Verbindungen nur Client-Seitig aufgebaut werden, aber ich werde da sicherheitshalber noch mal Rückfragen.

Ich denke ich werde diesen Teil des Konzeptes auch mal hinterfragen. Dieses kam Kundenseitig von einem externen Planer der sich für den IT-Teil (Das ganze Projekt umfasst auch andere, nicht IT-Teile) weitere Planungsleistung eingekauft hat. An mehreren Stellen hat sich in vergangenen Monaten jedoch schon herausgestellt dass die Kompetenz dort keine ist.

Danke und Grüße
Timmy
Member: Csui8n1
Csui8n1 Nov 17, 2022 at 22:37:19 (UTC)
Goto Top
Moin,

Zitat von @timmyonfire:

Okay. Das hilft mir schonmal für den aktuellen Lösungsansatz, bzw. Vorgabe vom Kunden.
Es soll tatsächlich nur Client A mit Server A, Client B mit Server B usw. kommunizieren, aber dein Beispiel mit der "All to All" Policy habe ich verstanden.
Das würde laut deinem Beispiel in der Policy dann ja so aussehen:

Quell-IF = VLANxy
Ziel-IF = Port 123
Quelle= Client A
Ziel = 10.0.0.2
Service = 80, 443 (?)
NAT = enabled

Was mir noch nicht klar ist wie ich die Ports in der Policy umsetze. Einige der Clients stellen lediglich eine Verbindung mit dem Browser über Port 80 bzw. 443 her. Diese muss ich dann wie auf z.B. Port 10001 weiterleiten?!


Achtung! SNAT und DNAT hier nicht vermischen!

In der Firewall Policy machst du SNAT. Hier wird die Source IP Adresse in die IP des ausgehenden Interfaces der Fortigate übersetzt.

Wenn du Ports weiterleiten willst ist DNAT das Mittel der Wahl.

https://docs.fortinet.com/document/fortigate/7.2.3/administration-guide/ ...

Mit der Virtual IP Group könntest du das so wie in deiner Zeichnung abbilden.

Viele Grüße