User since
2003-08-14
77
Artikel
BenutzerIn
Hallo,
ich habe gestern abend ein kleines Problem bei der Socket-Initialisierung entdeckt ... und weiß nicht so ganz, woran das eigentlich liegt.
Socket-Init wird über IO::Socket::INET gestartet, sowohl passive (listening) als auch active (ausgehend) mit der gleichen Subroutine auf mehreren Systemen (z.B. HP-UX, RedHat 7.3, RedHat 9).
Ich erlebe den Fall, dass einige wenige Systeme bei der Initialisierung eines ausgehenden Sockets den eigenen Hostnamen akzeptieren, wobei ich (auf dem selben System) bei der Initialisierung eines passiven Sockets explizit die IP-Adresse angeben muß, um von außen(!) erreichbar zu sein.
Es geht also nicht um eine Fehlermeldung i.d.A. von "can't establish socket" (die ausgehenden Sockets werden immer korrekt aufgebaut - egal ob IP oder Hostname spezifiziert, getestet mit einem lokalen Telnet-connect auf den geöffneten Port) sondern wirklich nur um die Erreichbarkeit des Ports von einem anderen System aus.
Netwerkfilter etc etc können ausgeschlossen werden.
Irgendwelche Ideen, Ahnungen oder Vermutungen???
Danke für's grübeln
snarf
User since
2005-01-17
14761
Artikel
Admin1
Der eigene Hostname kann leider auch nur ein Alias für 127.0.0.* sein (ich kenn die Konfig nicht) und das ist nicht von Außen erreichbar!
User since
2003-08-14
77
Artikel
BenutzerIn
... soweit richtig - aber das ist m.E. doch nur dann der Fall, wenn BIND nicht (richtig) läuft und die nameservices der resolv.conf nicht aktiv werden (dann wird eben auf die /etc/hosts zurückgegriffen - z.B. wenn das System nicht im Netz ist).
Funktioniert aber einwandfrei - sonst würde ich kein ausgehendes Socket auf ein anderes System bekommen.
Oder irre ich mich hier?
"Eigentlich" sollte das aber kein Problem des Setups sein, ich habe hier 6 identische Maschinen, die laut automatischem Setup-Protokoll fehlerfrei installiert wurden und auch ohne Probleme gestartet wurden.
snarf