ws2003user
Goto Top

Portforwarding Edgerouter X EdgeOS

Guten Abend verehrte Community,

nun nach langer Zeit der Mitgliedschaft, vielen sehr interessanten und lesenswerten Beiträgen möchte ich euch eine Frage stellen in der Hoffnung mein Problem lösen zu können.

Folgende Situationen:

Habe mir vor einiger Zeit einen Ubiquiti Edgerouter X zugelegt. Die Inbetriebnahme und Einrichtung hat super funktioniert. Nach einiger Zeit sollte der SSH Zugriff auf einen Server ermöglicht werden.
Also fix eine IPv4 Portweiterleitung eingerichtet und alles gut so der Gedanke. Es funktioniert auch, kann mich aus dem Internet via SSH einloggen.

Leider musste ich feststellen, dass der Edgerouter X zwar eine Weiterleitung zum Server ermöglicht aber als Source-IP seine eigene IP (Gateway) aus dem Subnet des Server's und nicht die Source-IP des Clients aus dem Internet in die Verbindung übernimmt.

Wäre in der Praxis noch kein Problem wenn auf dem Server nicht Fail2Ban laufen würde.

Zuvor war die Fritzbox als DSL-Modem und Router in Betrieb was ohne dieses Problem funktioniert.

Aufbau sieht wie folgt aus. Der Edgerouter hängt mit einer Interface an der Fritzbox als Modem via PPPoE.
Mit einer 2. Interface am Server. Es ist kein VLan involviert.

Nun meine Frage:

Gibt es im EdgeOS eine Einstellung mit der dieses Verhalten geändert werden kann oder hat jemand evtl. einen Tipp für mich was ich falsch gemacht haben könnte?

Hoffe das Problem hinreichend beschrieben zu haben.

Herzlichen Dank im Voraus für eure Lösungsvorschläge.

Content-ID: 6565837143

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

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

GrueneSosseMitSpeck
GrueneSosseMitSpeck 30.03.2023 um 10:28:02 Uhr
Goto Top
Hier fehlt aber ein wenig um dir weiterzuhelfen...
1.) Internetmodem: NAT oder Bridge Mode?
2.) Edgerouter was genau hast du da eingerstellt? Ich hab den auch und grundsätzlichz routet oder nattet der halt
3.) Fail2Ban... meiner Meinung nach die Stelle an der man ansertzen muß. Deine Schilderung liest sich so als ob du IP Spooofing machst, bzw dein Portforwarding als soclhes interpretiert wird. IP Spoofing ist in soclhen Securityprodukten meistens verboten.
commodity
commodity 30.03.2023 aktualisiert um 10:37:22 Uhr
Goto Top
Der Edgerouter hängt mit einer Interface an der Fritzbox als Modem via PPPoE.
also PPPoE-Passthrough, ja?

Sieht für mich so aus, als ob da ein Source-NAT fehlerhaft konfiguriert ist.
Evtl. auf dem WAN-Port eingehend eingerichtet?

Einzelheiten:
https://help.ui.com/hc/en-us/articles/204976494-EdgeRouter-Source-NAT-an ...

Siehe dort:
Adding a Masquerade Rule
Adding a Source NAT rule
Darf beim WAN-Port (also dem, der von der Fritzbox kommt) nur auf dem outbound interface liegen.

Viele Grüße, commodity
WS2003User
WS2003User 30.03.2023 um 19:57:55 Uhr
Goto Top
1.) Internetmodem: NAT oder Bridge Mode?
Bridge Mode bzw. PPPoE-Passthrough. Fritzbox hat keine Zugangsdaten.

2.) Edgerouter was genau hast du da eingerstellt?
Siehe Screenshots.

Habe das ganze auch mit einem TP-Link Router (OpenWRT) ausprobiert satt dem Edgerouter wobei die Config der Fritzbox identisch geblieben ist. Fazit funktioniert.

Danke für die Bemühungen face-smile

Hier noch ein Ausschnitt des Config-Files vom ER-X:

firewall {
    all-ping enable
    broadcast-ping disable
    ipv6-receive-redirects disable
    ipv6-src-route disable
    ip-src-route disable
    log-martians enable
    name WAN_IN {
        default-action drop
        description "WAN to Internal"  
        rule 20 {
            action accept
            description "Allow established/related"  
            state {
                established enable
                related enable
            }
        }
        rule 30 {
            action drop
            description "Drop invalid state"  
            state {
                invalid enable
            }
        }
    }
    name WAN_LOCAL {
        default-action drop
        description "WAN to Router"  
        rule 10 {
            action accept
            description "Allow established/related"  
            state {
                established enable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"  
            state {
                invalid enable
            }
        }
    }
    options {
        mss-clamp {
            mss 1412
        }
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
}
interfaces {
    ethernet eth0 {
        address 192.168.1.1/24
        description "Config Interface"  
        duplex auto
        speed auto
    }
    ethernet eth1 {
        description "VLAN Interface"  
        duplex auto
        speed auto
    }
    ethernet eth2 {
        address 10.198.73.254/24
        description "PiHole Interface"  
        duplex auto
        speed auto
    }
    ethernet eth3 {
        address 10.21.101.254/24
        description "Server Interface"  
        duplex auto
        speed auto
    }
    ethernet eth4 {
        description "WAN Interface"  
        duplex auto
        poe {
            output off
        }
        pppoe 0 {
            default-route auto
            firewall {
                in {
                    name WAN_IN
                }
                local {
                    name WAN_LOCAL
                }
            }
            mtu 1492
            name-server auto
            password xxx
            user-id xxx
        }
        speed auto
    }
    loopback lo {
    }
    switch switch0 {
        mtu 1500
        switch-port {
            interface eth1 {
                vlan {
                    vid 30
                    vid 33
                }
            }
            vlan-aware enable
        }
        vif 30 {
            address 192.168.187.254/24
        }
        vif 33 {
            address 172.20.200.254/24
        }
    }
}
port forwarding
nat
interface
commodity
commodity 30.03.2023 um 22:13:01 Uhr
Goto Top
Ja? Und wo ist jetzt die Frage?

Die Frage von oben, (auch wenn dort das Fragezeichen fehlte)
Gibt es im EdgeOS eine Einstellung mit der dieses Verhalten geändert werden kann oder hat jemand evtl. einen Tipp für mich was ich falsch gemacht haben könnte.
ist längst beantwortet.

Die Lösung steht fast schon direkt oben. Ich habe Dir sogar die Handbuchstelle bezeichnet und das Handbuch verlinkt. Das jetzt vielleicht doch mal nachlesen, noch mit Bild 2 und 3 abgleichen und verstehen. Wenn Du dann noch Fragen hast, und auch Wikipedia nicht weitergeholfen hat (die erklären das Thema dort gut) versuche ich gern, diese zu beantworten. Ein bisschen lesen solltest Du schon selbst, willst ja sicher auch Dein Gerät etwas verstehen face-smile

Viele Grüße, commodity
WS2003User
WS2003User 31.03.2023 um 09:19:52 Uhr
Goto Top
Guten Morgen,

die Artikel EdgeRouter - Source NAT and Masquerade ebenso NAT von Wikipedia sind mir bekannt.

Habe den Lösungsansatz aus dem Artikel selbstverständlich ausprobiert, auch wenn ich meine Zweifel hatte.
Zitat aus Klick:
In this example, Source NAT is used to provide a 1:1 translation for the UNMS server to the secondary WAN IP address

Auch hier kein Erfolg. Im gegenteil von Port Forwarding ist überhaupt keine Rede und Verbindung ohne PF überhaupt nicht möglich.

Was ich jedoch nicht verstehe ist die Tatsache was ein Source NAT bei einer eingehenden Verbindung aus dem Internet zu einem internen Server damit zu tun haben soll. Ich würde es dann doch als Destination-NAT bezeichnen. Was den Port Forwarding deutlich näher liegt.
Selbst wenn ein SNAT die Lösung ist, wäre noch das Problem mit dem wechsel der IP-Adresse vom ISP.

Glaube mittlerweile das hier ein Missverständis vorliegt.

Ein Beispiel:

Client IP aus dem Internet z.b. Handy: 82.5.110.15. Wenn ich mich nun mit dem Server verbinde taucht die IP-Adresse: 10.21.101.254 vom Edgerouter im Log auf und nicht die vom Client. Meine vermutung: Das Port-Forwarding funktioniert nicht richtig.

Sollte ich nun wirklich einen so massiven Denkfehler haben bitte ich um Aufklärung.

Grüße
commodity
commodity 31.03.2023 aktualisiert um 10:33:22 Uhr
Goto Top
Ebenso guten Morgen face-smile
Sollte ich nun wirklich einen so massiven Denkfehler haben bitte ich um Aufklärung.
Na, dann mal Schritt für Schritt:
die Artikel EdgeRouter - Source NAT and Masquerade ebenso NAT von Wikipedia sind mir bekannt.
Ein guter Anfang. Manchmal versteht man das nicht gleich alles. Geht mir ganz oft so. Umso wichtiger ist, dass man es sich selbst erarbeitet. Wenn Du jetzt diesen Satz:
Client IP aus dem Internet z.b. Handy: 82.5.110.15. Wenn ich mich nun mit dem Server verbinde taucht die IP-Adresse: 10.21.101.254 vom Edgerouter im Log auf und nicht die vom Client.
nochmal damit abgleichst, was Source-NAT macht, müsste Dir klar sein, dass hier ein Source-NAT reinspielt. Hierzu nochmal Wikipedia und das Handbuch anschauen.
Was ich jedoch nicht verstehe ist die Tatsache was ein Source NAT bei einer eingehenden Verbindung aus dem Internet zu einem internen Server damit zu tun haben soll.
Dein Missverständnis ist, dass Du Source-NAT nur in Richtung von Dir nach draußen denkst (was prinzipiell auch der korrekte Anwendungsfall ist). Man kann es aber ebenso intern zwischen Netzen einsetzen, denn wenn Du zwei interne Netze hast, ist "draußen" das eine und "drinnen" das andere oder umgekehrt. für Source-NAT auf internen Interfaces mag es sinnvolle Anwendungsfälle geben, normalerweise macht man das nicht. Du hast es aber so eingerichtet. Die Fehlkonfiguration in Deinem Fall liegt allerdings nicht auf dem WAN-Interface, sondern auf einem/mehreren anderen.

Jetzt bekommst Du es hin, oder?

Viele Grüße, commodity

Edit: Destination-NAT liegt natürlich auch vor, aber das ist nicht die Ursache Deines Problems. Da hast Du alles richtig gemacht face-smile
WS2003User
WS2003User 01.04.2023 um 09:24:28 Uhr
Goto Top
Hallo,

ich habe schon verstanden wie Source und Destination NAT funktionieren und auch das man diese in beide Richtungen anwenden kann.

für Source-NAT auf internen Interfaces mag es sinnvolle Anwendungsfälle geben, normalerweise macht man das nicht. Du hast es aber so eingerichtet. Die Fehlkonfiguration in Deinem Fall liegt allerdings nicht auf dem WAN-Interface, sondern auf einem/mehreren anderen.

Könnte die Source NAT Regeln 2-4 löschen und es würde nichts an dem Problem ändern.

Wie macht man es denn sonst und wo soll im internen Netz eine Fehlkonfiguration vorliegen ?

Bitte erhelle mich doch mit deinem Wissen. Danke.

Grüße
commodity
Lösung commodity 01.04.2023 aktualisiert um 13:33:25 Uhr
Goto Top
Könnte die Source NAT Regeln 2-4 löschen und es würde nichts an dem Problem ändern.
nein?
Welche Funktion hat denn Dein "masquerade to eth3" Deiner Ansicht nach, wenn es kein Source-NAT ist, das zufällig genau zu dem Server geht, auf den das Forwarding eingerichtet ist?
Wenn nicht, wie Wikipedia so schön schreibt:
die Absender-Adresse des Pakets in die IP-Adresse des Interfaces geändert, auf dem das Paket den Router verlässt
(wobei bei internem Source NAT das "den Router" besser durch "das Interface" zu ersetzen ist).

Bitte erhelle mich doch mit deinem Wissen.
Ist kein Wissen. Netzwerken ist bei den Basics weniger Wissen als Fleiß. Man muss einfach nur konsequent mal einem einzelnen Paket hinterherlaufen und das vorhandene Grundwissen anwenden (bzw. im Zweifel hinterfragen). Das maßgebliche Grundwissen ist ja da, schließlich schreibst Du:
ich habe schon verstanden wie Source und Destination NAT funktionieren
Also:
1. Du schickst Dein Paket für den Server am Handy mit der Absender IP 82.5.110.15 ab.
2. Dieses Paket kommt auf Interface WAN des Unifi mit Absender-IP 82.5.110.15 an.
3. Der Router erkennt auf seinem Interface WAN, dass dort für die Zieladresse zum Server IP 10.21.101.253 ein Destination NAT eingerichtet ist
4. Der Router weiß, dass diese Zieladresse auf eth3 liegt, routet also das Paket auf dieses Interface.
5. Auf Interface eth3 erkennt der Router das eingerichtete Source NAT (Bild 2, Regel 2), das ihn anweist, aus der eingehenden IP 82.5.110.15 die IP des Interfaces zu machen (s. Wikipedia), das ist die 10.21.101.254 (Unifi).
6. Paket kommt am Server mit der (durchs Masquerade geänderten) Absender-IP des Unifi eth3, also 10.21.101.254, an.
7. Fail2ban nimmt das Paket entgegen und filtert auf diese Absender-IP.

Schönes Wochenende! face-smile

Viele Grüße, commodity