Laden...

Windows Server 2019 blockt Anfragen trotz Firewall-Regel

Erstellt von emuuu vor 4 Jahren Letzter Beitrag vor 4 Jahren 2.193 Views
emuuu Themenstarter:in
286 Beiträge seit 2011
vor 4 Jahren
Windows Server 2019 blockt Anfragen trotz Firewall-Regel

Guten Tag zusammen,

ich habe jetzt schon seit längerem ein etwas abstruses Problem, bei dem ich gerade keine weitere Idee habe was ein Lösungsansatz sein könnte.

Zur Ausgangssituation:

  • ich habe eine Reverse-Proxy (Traefik) in einem Docker-Container

  • die Ports 80 und 443 sind vom Host auf den Container gemapped

  • der Host befindet sich in zwei Netzwerken Extern und Intern

  • im Netzwerk Extern ist befindet sich ein Router der die Ports 80 und 443 weiterleitet.

  • im Netzwerk Intern löst ein DNS die Domain mit der internen IP auf, sprich der Traffic aus dem Netzwerk Intern bleibt immer dort

Auf dem Host gibt es folgende Firewall-Regel:

  • Lokalerport: 80, 443
  • Remoteport: Any
  • Lokale-IP-Adresse: Any
  • Remote-IP-Adresse: Any
  • Edgeausnahmen: "Edgeausnahmen zulassen"

Nun zum Problem:

  • die Abfragen aus dem Netzwerk Intern funktionieren problemlos
  • die Abfragen aus dem Netzwerk Extern werden geblockt

Ich habe nun testweise den Container direkt ins Netzwerk Extern gebracht und die Portweiterleitung des Routers auf die IP des Containers umgestellt -> funktioniert (und ist mein aktueller workaround)
Die Router-Konfiguration kann also eigentlich nicht das Problem sein

Es scheint also der Container-Host die Anfragen zu blockieren, allerdings nur aus dem Netzwerk.
Meinem Verständnis nach ist genau dafür Option "Edgeausnahme" in der Firewall-Regel.

Ich habe die Firewall auch testweise komplett deaktiviert -> kein Erfolg

Zur Sicherheit habe ich auch geprüft, ob irgendein anderer Prozess die beiden Ports verwendet und dadurch Probleme verursacht -> Nö

Wie gesagt ich bin momentan an einem Punkt an dem ich keine Idee mehr habe, wo der Fehler noch sein kann und bin für jeden Ratschlag offen..

Beste Grüße
emuuu

2+2=5( (für extrem große Werte von 2)

16.807 Beiträge seit 2008
vor 4 Jahren

Ich geh nicht davon aus, dass die Firewall hier eine Rolle spielt.
Viel mehr gehe ich von der Konfiguration von Windows oder der Docker Engine aus.

Vermute aber eher letzteres:
Docker erstellt bei der Installation i.d.R. eine Network Bridge, die dann für die Container verwendet werden.
Nun denke ich, dass diese Bridge bei Dir auf eine Netzwerkkarte hört - aber nicht auf die andere. Unter der Haube erstellt Docker auf Linux entsprechende Netzwerk-Config-Einträge.
Wie es da unter Windows läuft weiß ich leider nicht.

Aber soviel mal als Hinweis; vielleicht hilft das bei der Recherche.

emuuu Themenstarter:in
286 Beiträge seit 2011
vor 4 Jahren

Erstmal danke für den Hinweis, sowas in die Richtung habe ich schon vermutet, allerdings nicht, dass eine fehlende Bridge das Problem sein könnte.

Zur Config finde ich nur eine local-kv.db, was eine BoltDB ist, die erstmal abenteuerlich zu öffnen war.
Problem ist, dass das die inhaltlich relativ kryptisch sind (ein paar Einträge sind klar die Endpoints der einzelnen Container) und das wild mit IDs gearbeitet wird, die ich erstmal nicht reproduzieren kann.

Also einfach eine Config copypasten mit anderem NetworkInterface wird wohl nicht klappen.

Zudem schein ich der einzige Mensch zu sein, der DockerEE auf nem WindowsServer verwendet -> wenig Beiträge zum Thema.

Ich gebe mal ein Update wenn ich was zielführendes gefunden habe.

2+2=5( (für extrem große Werte von 2)

16.807 Beiträge seit 2008
vor 4 Jahren

Wir nutzen ebenfalls DockerEE aufgrund von Legacy .NET Framework Abhängigkeiten; jedoch nicht über mehrere Netzwerkkarten.
Meistens dazu in einer Rancher-Umgebung.

16.807 Beiträge seit 2008
vor 4 Jahren

Ich habe gerade mal etwas gegoogelt; wenn man nach Google-Suche nach docker multiple network interfaces sucht, dann sieht man, dass es hier potentiell mehrere Wege gibt; die meisten jedoch von Overlay-Netzwerken sprechen.
An der Stelle endet mein Wissen aber schlagartig - scheint jedoch in Deine Richtung zu gehen 😉