2004: Probleme mit IP-Hilfsdienst (22 vs. 80/443 - aber nicht alles)

WulfmanGER

Commander
Registriert
Juli 2005
Beiträge
2.226
Hallo zusammen,

ich hab gestern auf 2004 geupdatet. Dabei hab ich dann auch gleich WSL1 auf WSL2 geupdatet.

Leider muss ich aus Kompatiblitätsgründen den Ubuntu-OpenSSH-Server nutzen (der Windows eigene OpenSSH erlaubt kein Connect mit WebSSH via iPhone...). Der wurde auch sauber mit migriert. Allerdings gibt es jetzt ja dieses VM-Switch-Konzept bei WSL2. Hab hierfür ein Script gefunden mit dem man nach jedem Reboot die Firewall-Settings für OpenSSH anpasst (im WSL2 hat man jetzt eine dynamische IP-Adresse ....; bei WSL1 hat man die vom System gehabt). Das Script funktioniert auch.

Jetzt ist mein Apache (Windows; 80/443) aber tot. Wenn ich jetzt bei den Services (services.msc) den IP-Hilfsdienst deaktiviere, klappt der Apache, aber SSH ist tot (remote! Lokal klappt SSH). Aktiviere ich IP-Hilfdienst - SSH, aber kein Apache.

Ein Firewallproblem kann ich hier ausschließen. Wenn der Hilfsdienst aktiv ist, weigert sich Apache zu starten - es gäbe bereits ein Socket 0.0.0.0:80 bzw. 443 ...

netstat -abn sagt mir das Port 80 und 443 von iphlpsvc genutzt wird. Das ist der IP-Hilfsdienst (daher kam ich auch erst auf die IP das Teil zu deaktivieren).

Jetzt die große Quizfrage: jemand eine Idee wie ich Windows-Apache auf 80/443 und OpenSSH@WSL(Ubuntu) gleichzeitig zum laufen bekomme?

Grüße
Wulfman
 
Du kannst doch für den Apache einfach andere Ports vergeben, oder nicht?
Ehrlich gesagt kann ich dem Problem nicht ganz folgen, aber letztendlich sind die Ports bereits belegt. Also musst du halt andere nehmen.
 
Behoben ... irgendwie kurios ... ich suche Stundenlang, poste hier und finde dann innerhalb weniger Minuten selber die Lösung (nicht das erste mal...) ... läuft wieder ... Erweiteter Layer8-Fehler ... siehe unten....

Naja wir lösen ein Problem in dem wir es ignorieren? Neee ....

Den Fehler scheine ich gefunden zu haben .,.. an der Lösung arbeite ich gerade. IP Helper ist quasi ein Tunnel, Proxy und verbindet somit die WSL2-IP und die Windows-IP (gaaaanz grob beschrieben; die Experten dürfen das gerne sauber beschreiben)

PS C:\WINDOWS\system32> netsh interface portproxy show all

Abfragen auf ipv4: Verbinden mit ipv4:

Code:
Adresse         Anschluss   Adresse         Anschluss
--------------- ----------  --------------- ----------
0.0.0.0         80          172.25.162.179  80
0.0.0.0         443         172.25.162.179  443
0.0.0.0         10000       172.25.162.179  10000
0.0.0.0         3000        172.25.162.179  3000
0.0.0.0         5000        172.25.162.179  5000
0.0.0.0         622         172.25.162.179  22
0.0.0.0         65432       172.25.162.179  5432
0.0.0.0         22          172.23.197.174  22

Da ist der mist ... es wird davon ausgegangen das ich Port 80 auf der WSL-IP nutzen möchte ....

Mein Powershell script macht u.a. folgendes:
Code:
$ports=@(22)
im ersten lauf des Scriptes hatte ich statt 22 die 80 und 443, 3000 usw. drin. Daher wurde hier nun der mist gebaut. Wenn man Scripte nicht individuell anpasst ;)

Jetzt sollte das EIGENTLICH kein Problem sein - den das Script löscht nach jedem Neustart von Windows a) die Firewall-Rule (klappt) und b) die IP-Helper-Unterstützung ...

Tja und da ist ein Fehler im Script ...
Code:
for( $i = 0; $i -lt $ports.length; $i++ ){
  $port = $ports[$i];
  iex "netsh interface portproxy delete v4tov4 listenport=$port listenaddress=$addr";
  iex "netsh interface portproxy add v4tov4 listenport=$port listenaddress=$addr connectport=$port connectaddress=$remoteport";
}

portproxy wird gelöscht -> aber der Befehl bringt ein Error, angebene Datei kann nicht gefunden werden

--EDIT--

Mit
Code:
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=0.0.0.0

bekomme ich den Eintrag gelöscht ... IP Hilfsdienst und Apache neustarten => fertig.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ascey
Zurück
Oben