jeschero
Goto Top

Routing-Probleme von interne IP auf eine externe IP

Hallo alle zusammen,

ich brauche mal wieder eure Hilfe und zwar habe ich ein Routing/NAT-Problem.
Ich habe eine Pfsense-VM die zwei externe/public IP-Adresse hat. Sagen wir mal 5.5.5.5 und 7.7.7.7. Beide Adressen werden über DHCP zugewiesen und haben das gleiche Gateway.
Über die IP 5.5.5.5 soll Pfsense erreichbar sein und über die IP 7.7.7.7 eine interne Linux-VM. Die Linux-VM hate eine IP in einem privaten IP-Bereich.
Über 1:1-NAT habe ich jetzt die public IP-Adresse auf meine Linux-VM geroutet.
Dies funktioniert auch super. Kann sie auch von außerhalb erreichen. Also von extern nach intern alles schön.

Mein Problem ist jetzt aber folgendes:
Wenn ich jetzt die externe IP von der Linux-VM ermittle, über :
dig +short myip.opendns.com @resolver1.opendns.com
Bekomme ich immer die IP 5.5.5.5.

Unter Firewall/NAT/Ausgehend in PFsense habe ich testweise ein Mapping angelegt:
nat-ausgehend

Hetzner_IP_57 ist meine Netzwerkkarte mit der IP 7.7.7.7.
Leider hat dies kein Erfolg.

Was habe ich vergessen, übersehen?

Vielen Dank.
jeschero

Content-ID: 391521

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

Ausgedruckt am: 13.11.2024 um 09:11 Uhr

ChriBo
ChriBo 02.11.2018 um 15:43:07 Uhr
Goto Top
Hi,
normalerweise benötigst du für dieses Szenario zwei Einträge auf der pfSense:
1. Firewall -> virtual IPs, hier ein IP Alias erstellen
2. NAT 1:1 (nicht outboud !).

Da noch die passenden Regeln erstellen, funktioniert problemlos.

CH
jeschero
jeschero 02.11.2018 aktualisiert um 15:53:56 Uhr
Goto Top
Ein Eintrag in virtual IP für die externen IP 7.7.7.7 auf das Interface Hetzner_IP_57 habe ich erstellt.
Die Outbound-Regel habe ich gelöscht.

Die NAT 1:1 Regel ist ja schon vorhanden:
nat_1-1

Funktioniert leider immer noch nicht.
ChriBo
ChriBo 02.11.2018 um 16:14:18 Uhr
Goto Top
Hallo,
warte mal etwas oder mach ein Reboot der pfSense.
ich hatte letztens ein ähnliches Problem und ein Reboot hat es gelöst.

CH
aqui
aqui 02.11.2018 aktualisiert um 18:24:00 Uhr
Goto Top
Beide Adressen werden über DHCP zugewiesen und haben das gleiche Gateway.
Dann auch auf unterschiedlichen Interfaces, richtig ??
Auf ein und demselben Interface doppelte IPs zuweisen per DHCP ist unmöglich !
Hier ist deine Beschreibung leider etwas oberflächlich face-sad
Der Zugriff kann nur über eine Virtual IP geschehen. (Firewall -> Virtual IPs) Die wird aber statisch eingerichtet und NICHT über DHCP !
Zudem muss sie immer im gleichen Subnetz liegen wie die physische WAN IP. Also sowas was du etwas laienhaft als 5.5.5.5 und 7.7.7.7 bezeichnest geht schonmal per se nicht da ja unterschiedliche IP Netze.
Was geht ist 5.5.5.5 /8 und 5.7.7.7 /8 oder 5.5.5.5 /16 und 5.5.7.7 /16 usw. Du verstehst vermutlich das Prinzip ?!.
Eine vollkommen netzfremde IP kann ja nicht auf das Interface geroutet werden. Wie sollte das gehen ?!
2 oder mehr IPs per DHCP kann (und darf !) ein physisches Interface nicht haben. Ginge technisch auch gar nicht.
Fragt sich nun also WAS da genau bei dir konfiguriert ist ??
Bekomme ich immer die IP 5.5.5.5.
Vermutlich hast du dann die Virtual IP vergessen ?!
jeschero
jeschero 03.11.2018 um 20:28:50 Uhr
Goto Top
tut mir leid, wenn ich ungenau war.
Werde es jetzt mal genauer aufschreiben.

Ja, es sind zwei verschiedene Interface in PFsense, wo die IP-Adressen jeweils per DHCP bezogen werden.

Die beiden IP-Adressen waren schlecht gewählt. Da hast du vollkommen recht.
Die beiden Adressen kommen aus einem 26 Netzwerk.

Also sagen wir mal beispielhaft:
PFsense:148.211.55.62/26
Linux VM:148.211.55.57/26
Gateway: 148.211.55.1

Bezüglich der Virtual UP. Als Typ IP Aliase kann ich sie ja nicht nutzen, da erzählt mir PFsense was von doppelter IP. Das stimmt ja auch. Dann verwende ich also den Typ Andere. Da ist jetzt nur die Frage, wird als Netzmaske die 32 oder die 26 genommen?

Egal was ich von den beiden nehme, ich bekomme von meiner Linux VM nicht die richtige externe IP geliefert. Es ist immer die 148.211.55.62 und nicht die 148.211.55.57.
aqui
aqui 04.11.2018, aktualisiert am 05.11.2018 um 12:02:28 Uhr
Goto Top
Ja, es sind zwei verschiedene Interface in PFsense, wo die IP-Adressen jeweils per DHCP bezogen werden.
Wie vermutet...anders wäre es auch nicht möglich !
Die beiden Adressen kommen aus einem 26 Netzwerk.
Hier bist du leider wieder ungenau so das das widersprüchlich ist face-sad
WAS meinst du jetzt damit ??
Die beiden pfSense Interface IP Adressen an diesen zwei Interfaces ?
Aber dann wohl hoffentlich aus 2 unterschiedlichen /26 Netzen ?!
Oder meinst du damit die Interface IP Adresse und die Virtual IP dazu auf demselben Interface ?
Bei letzterem müssen beide IP (Interface und Virtual IP dazu) in einem gemeinsamen IP Netz liegen.
Was du damit jetzt meinst kann man leider wieder nur raten face-sad
Hier hilft ggf. eine kurze Skizze oder Zeichnung.
Also sagen wir mal beispielhaft:
OK, das wäre ein Beispiel für EIN einziges IP Interface bzw. IP Segment was an einem Interface anliegt.
Typ IP Aliase kann ich sie ja nicht nutzen,
Nein, logisch, den Aliase sind einzig nur Namen. Die dienen nur zur besseren Übersicht der Konfig. Mit Funktionen hat das nichts zu tun.
Was du benotigst sind in jedem Falle Virtual IPs !!
Du willst ja eine 2te virtuelle Interface IP ansprechen um darüber das Port Forwarding zu machen. Mit Alias hat das nichts zu tun.
Übrigens musst du Port Forwarding nur machen wenn du NAT auf dem Interface machst. Normal macht die pfSense nur auf dem WAN Interface NAT aber nicht auf anderen Interfaces. Dort routet sie ganz normal mit Firewall Regeln.
Auch hier ist deine Beschreibung leider wieder sehr oberflächlich und zwingt uns hier zum Raten face-sad
jeschero
jeschero 04.11.2018 um 16:47:05 Uhr
Goto Top
Dann versuche ich es nochmal.

Der Server ist bei Hetzner gehostet und die IP-Adressen wurden mir von Hetzner zugewiesen. Die beiden IP-Adressen sind beide im gleichen Subnetz. Die IP-Adressen werden per DHCP jeweils über ein eigenes Interface bezogen, da Hetzner für jede IP die MAC-Adresse vorgibt.

Noch mal zur Erklärung, ich möchte den "gesamten" Traffic von der IP 148.211.55.57/26 an die Interne IP 172.28.132.7/24 weiterleiten und alle ausgehende Verbindung von der Linux VM sollen über die IP 148.211.55.57/26 ins öffentliche Netz gemappt werden.
Durch NAT 1:1 werden alle Pakete schon von der IP 148.211.55.57/26 an die IP 172.28.132.7/24 gemappt. Leider funktioniert die "Gegenrichtung" noch nicht.
Über die PFsense möchte ich filtern, deswegen habe ich die Linux VM nicht direkt ans internet angeschlossen.

Aufbau:
zeichnung-aufbau

@aqui, falls irgendwas noch zu ungenau ist, bitte sag es wieder ;). Danke
aqui
aqui 05.11.2018 aktualisiert um 12:20:59 Uhr
Goto Top
Die beiden IP-Adressen sind beide im gleichen Subnetz.
Das ist normal für den Hoster.
Die IP-Adressen werden per DHCP jeweils über ein eigenes Interface bezogen
Das ist schon das erste tödliche Problem !
Da beide IP Adressen ja in einem gemeinsamen Subnetz liegen hast du jetzt 2 pfSense Interfaces die 2 gleiche IP Adressen haben.
Das ist schon ein prinzipieller und grundlegender Verstoß im Routing Umfeld und geht so logischerweis niemals ! Klar, denn damit ist eine eindeutige Wegefindung zu den 2 Interface vollkommen unmöglich durch die nicht mehr eindeutige Netzwerk Zuordnung. Solche absoluten Basiscs sollte man eigentlich wissen als Netzwerker ! face-wink
Du machst hier vermutlich einen fundamentalen (Anfänger) Denkfehler in der IP Adresskonfig ?! Das ist schon aus der Zeichnung ersichtlich, denn die .57 und die .62 liegen im gleichen IP Netz und dürften deshalb niemals auf 2 unterschiedlichen, physischen Interfaces liegen !
Die pfSense ist ein Router (!) und keine Bridge ! Jedes Interface MUSS in einem separaten IP Netzwerk Segment liegen wie es bei Routern ja nunmal üblich ist.
DAS ist bei dir oben aber genau nicht der Fall.
Bridgen kann sie zwar auch das musst du aber konfigurieren ! Nützt aber in deinem Setup auch nichts.

Im Grunde ist dein Vorgehen ganz banal und klar. Du willst eine der IPs als physisches Interface haben und eine soll als Virtuelle IP das Port Forwarding machen auf einen internen Host unabhängig von der Interface IP. Ein normales und millionenfaches Standard Design.
Das muss dann aber natürlich auf einem einzigen Interface liegen ! Wie sollte der Hoster es denn auch eindeutig routen ?! Es sei denn du subnettest das weiter um so 2 Netze zu bekommen, was aber nicht geht, da der Provider dir ja die Netzmaske fest vorgibt und du diese nicht ändern kannst oder darfst.
Der Knackpunkt ist hier die DHCP Vergabe was dir für dieses Setup das Genick bricht.
Du kannst zwar das Interface als DHCP Client laufen lassen und eine IP dort per DHCP beziehen aber du kannst nicht die Virtuelle IP an demselben Interface auch noch per DHCP vergeben lassen. Das ist nicht supportet und kann kein Hersteller der Welt.
Die Virtual IP wird immer statisch dazu konfiguriert.
Hier musst du dir also vom Provider die eine (virtuelle) IP statisch zuteilen lassen.
Anders geht es nicht !
jeschero
jeschero 05.11.2018 aktualisiert um 22:36:42 Uhr
Goto Top
Da beide IP Adressen ja in einem gemeinsamen Subnetz liegen hast du jetzt 2 pfSense Interfaces die 2 gleiche IP Adressen haben.
Eventuell habe ich mich wieder unklar ausgedrückt.
Die beiden Interfaces habe jeweils verschiedene IP-Adressen.
Interface WAN hat die Adresse 148.211.55.62/26 mit der MAC XX:XX:XX:XX.
Interface HETZNER_IP_57 hat die Adresse 148.211.55.57/26 mit der MAC XX:XX:XX:YY.


Du machst hier vermutlich einen fundamentalen (Anfänger) Denkfehler in der IP Adresskonfig ?! Das ist schon aus der Zeichnung ersichtlich, denn die .57 und die .62 liegen im gleichen IP Netz und dürften deshalb niemals auf 2 unterschiedlichen, physischen Interfaces liegen !
Der Hoster gibt mir aber vor, das pro IP-Adresse eine andere MAC-Adresse verwendet werden muss.


Die pfSense ist ein Router (!) und keine Bridge ! Jedes Interface MUSS in einem separaten IP Netzwerk Segment liegen wie es bei Routern ja nunmal üblich ist.
DAS ist bei dir oben aber genau nicht der Fall.
Bridgen kann sie zwar auch das musst du aber konfigurieren ! Nützt aber in deinem Setup auch nichts.
ok

Im Grunde ist dein Vorgehen ganz banal und klar. Du willst eine der IPs als physisches Interface haben und eine soll als Virtuelle IP das Port Forwarding machen auf einen internen Host unabhängig von der Interface IP. Ein normales und millionenfaches Standard Design.
Das muss dann aber natürlich auf einem einzigen Interface liegen ! Wie sollte der Hoster es denn auch eindeutig routen ?! Es sei denn du subnettest das weiter um so 2 Netze zu bekommen, was aber nicht geht, da der Provider dir ja die Netzmaske fest vorgibt und du diese nicht ändern kannst oder darfst.
Ich muss aber proIP ein eigenes Interface verwenden, siehe Post weiter oben.

Der Knackpunkt ist hier die DHCP Vergabe was dir für dieses Setup das Genick bricht.
Du kannst zwar das Interface als DHCP Client laufen lassen und eine IP dort per DHCP beziehen aber du kannst nicht die Virtuelle IP an demselben Interface auch noch per DHCP vergeben lassen. Das ist nicht supportet und kann kein Hersteller der Welt.
Die Virtual IP wird immer statisch dazu konfiguriert.
Hier musst du dir also vom Provider die eine (virtuelle) IP statisch zuteilen lassen.
Ich habe jetzt mal meine Einstellung der beiden Interface auf Statisch umgestellt.

Pfsense Interface:
übersicht-interfaces

Ich hoffe, ich habe mich ein bisschen klarer ausgedrückt.

Edit 1:

Schreibfehler: Es soll 148.211.55.52 heißen, nicht 148.211.55.572.
Subnetmaske zu den Ip-Adressen hinzugefügt
aqui
aqui 05.11.2018 aktualisiert um 20:16:27 Uhr
Goto Top
Die beiden Interfaces habe jeweils verschiedene IP-Adressen.
Ja, aber sie liegen doch beide in einem gemeinsamen IP Netzwerk, oder ?
Das wäre dann ein fataler Konfig Fehler bei einem Router, denn dessen Interfaces müssen zwangsweise immer in unterschedlichen IP Netzen liegen !
Die Angabe deiner IP Adresse ist so oder so sinnfreei, da du hier die Subnetzmaske vergessen hast face-sad
Dies ist aber ausschlaggebend !! Außerdem ist die .572 keine gültige Host Adresse !!
Der Hoster gibt mir aber vor, das pro IP-Adresse eine andere MAC-Adresse verwendet werden muss.
Das ist auch logisch ansonsten könne er keine Mac Adress basierte Reservierung der IP in seinem DHCP Server machen !
Er vergibt dir aber mit Sicherheit die IPs in einem gemeinsamen Subnetz und dann darfst du diese IP Adressen niemals auf 2 unterschiedlichen Interfaces eines Routers konfigurieren, denn damit ist eine eindeutige Wegefindung unmöglich. Solche einfachen Routing Grundlagen kennt man aber auch als Netzwerker.
Ich muss aber proIP ein eigenes Interface verwenden, siehe Post weiter oben.
Das geht auch wenn diese zwingend in unterschiedlichen IP Netzen liegen wie es ja nun mal bei Routern Standard ist. Diese routen ja bekanntermaßen immer zwischen IP Netzen.
Leider kann man das durch die fehlende Masken Angabe der Adressen von dir nicht abschliessend beurteilen. face-sad
Gilt die obige Angabe noch mit dem 26er Prefix beim verwendten 148.211.55.0 Netzwerks, dann liegen die beiden Hostadressen .57 und .52 im gleichen IP Netzwerk und dürfen niemals auf unterschiedliche Interfaces der pfSense konfiguriert werden. Gibt auch sofort logischerweise einen Konfig Error in der pfSense.
Ich habe jetzt mal meine Einstellung der beiden Interface auf Statisch umgestellt.
Ist sinnfrei solange man nicht weiss ob diese in unterschiedlichen Subnetzen liegen !
Bei Netzgleichheit an 2 physischen Interfaces müsste es so oder so einen fatalen Konfig Error in der pfSense geben.

Nur nochmal damit dir das auch klar ist:
Dein Vorhaben ist das einer Virtual IP. Das bedeutet eine IP am physischen Interface und eine die dem Netzwerk dieses Interfaces zugeordnet ist. BEIDE Adresse residieren unter einem Interface und NICHT auf 2 unterschiedlichen Interfaces ! Das ist wie bereits mehrfach gesagt routingtechnisch gar nicht möglich !
In sofern ist deine o.a. Konfig schon grundlegend falsch und kann nie klappen.
Vom DHCP Problem jetzt mal gar nicht geredet...
jeschero
jeschero 05.11.2018 um 22:36:31 Uhr
Goto Top
Die beiden Interfaces habe jeweils verschiedene IP-Adressen.
Ja, aber sie liegen doch beide in einem gemeinsamen IP Netzwerk, oder ?
Das wäre dann ein fataler Konfig Fehler bei einem Router, denn dessen Interfaces müssen zwangsweise immer in unterschedlichen IP Netzen liegen !
Die Angabe deiner IP Adresse ist so oder so sinnfreei, da du hier die Subnetzmaske vergessen hast face-sad
Dies ist aber ausschlaggebend !! Außerdem ist die .572 keine gültige Host Adresse !!
Entschuldigung, Tippfehler, habe ich korrigiert. Subnetzmaske habe ich auch hinzugefügt.

Nur nochmal damit dir das auch klar ist:
Dein Vorhaben ist das einer Virtual IP. Das bedeutet eine IP am physischen Interface und eine die dem Netzwerk dieses Interfaces zugeordnet ist. BEIDE Adresse residieren unter einem Interface und NICHT auf 2 unterschiedlichen Interfaces ! Das ist wie bereits mehrfach gesagt routingtechnisch gar nicht möglich !
In sofern ist deine o.a. Konfig schon grundlegend falsch und kann nie klappen.
Vom DHCP Problem jetzt mal gar nicht geredet...
Ok. Habe ich verstanden.

Ich habe jetzt das Interface mit der IP 148.211.55.57/26 deaktiviert und als eine Virtual IP mit der IP 148.211.55.57/26 und dem Type IP Aliase eingerichtet. Somit habe ich nur noch das WAN 'Interface.
NAT 1:1 funktioniert. Kann also von außen auf die Dienste auf dieser IP zugreifen.

Leider kann ich nicht von der Linux VM ins Internet pingen, bzw. der Befehl:
dig +short myip.opendns.com @resolver1.opendns.com

gibt mir folgende Antwort:
;; connection timed out; no servers could be reached

Ich habe folgende Anleitung zur Hilfe genommen:
PFSense with Multiple Public IPs
Nur daß ich zwei IP nutze und nicht ein ganzes Subnetzmaske zur Verfügung habe.
aqui
aqui 05.11.2018 um 23:09:49 Uhr
Goto Top
Leider kann ich nicht von der Linux VM ins Internet pingen, bzw. der Befehl:
Wie ist diese VM mit der pfSense verbunden ?
Die pfSense rennt auch in einer VM, oder ?
Das LAN Interface (internes Interface) muss an den vSwitch oder das IP Segment gekoppelt sein an dem auch die VM hängt !
Gehe strategisch vor. Kannst du das LAN Interface der pfSense von der VM pingen ?
Wenn ja kannst du das WAN Intertface der pfSense pingen (ICMP muss erlaubt sein)
Nutze auch die Ping Diagnose der pfSense selber unter Diadnostics.
Hier kannst du immer mit Angabe des entsprechenden Absender Interfaces einmal in Richtuing VM pingen und einmal ins Internet z.B. 8.8.8.8 pingen um erstmal die grundsätzliche Connec tivität der pfSense zu checken.