Versuch, einen Port mit CentOS zu öffnen

Versuch, einen Port mit CentOS zu öffnen

(Ich bin neu hier!) Ich betreibe einen virtuellen Server mit CentOS. Ich versuche, einen Server zu betreiben, der auf Port 37760 lauscht. Der Code, den ich ausführe, wird erfolgreich ausgeführt, also führe ich aus

netstat -lptu

Um eine Liste der Ports anzuzeigen, die lauschen, und

tcp        0      0 localhost.localdomain:37760 *:*      LISTEN      15006/node

ist einer der Einträge. Wenn ich jedoch in meinem Browser zu ip:37760 gehe, läuft die Verbindung ab!

Ich bin sicher, dass es sehr offensichtlich ist, aber etwas Hilfe wäre sehr hilfreich!!

Danke

Antwort1

Die netstatAusgabe zeigt, dass nodenur auf dem lokalen Host abgehört wird. Sie müssen daher entweder einen Browser auf dieser virtuellen Konsole verwenden und zu localhost:37760der Konfiguration derjenigen Einheit navigieren node, die auf allen Adressen abgehört werden soll, oder diese aktualisieren.

Antwort2

Es besteht eine große Chance, dass Ihre lokale Firewall die Verbindung blockiert.

Überprüfen Sie Ihre lokale iptablesFirewall. Sie können den aktuellen Status sehen, indem Sie etwas in der Art von Folgendes ausführen:

iptables -vnL

Das Ergebnis ist eine Ausgabe, die etwa wie folgt aussieht:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
9192K 3593M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
   18   740 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
1763K  180M ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
 6124  367K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22

Diese vier Regeln lauten wie folgt:

  • Datenverkehr zulassen, der mit einer bestehenden Verbindung verknüpft ist
  • ICMP-Verkehr zulassen.
  • Den gesamten Datenverkehr über die Loopback-Schnittstelle zulassen
  • Neue Verbindungen über TCP-Port 22 zulassen (ssh)

Sie können den persistenten Status in sehen /etc/sysconfig/iptables. Sie können das Tool verwenden, system-config-firewallwenn Sie einen GUI-Konfigurationsmechanismus wünschen, oder Sie können diese Gelegenheit nutzen, um mehr darüber zu erfahren, wie die Firewall-Konfiguration über die Befehlszeile funktioniert.

Antwort3

CentOS schaltet standardmäßigIPTableson und erzwingt eine ziemlich strenge Sicherheitsrichtlinie mit SELinux. Wenn Sie versuchen, von einem anderen Computer aus auf den Port zuzugreifen, werden in der Standardkonfiguration von IPTables alle eingehenden Verbindungen außer SSH abgebrochen. Wenn Sie sich keine Sorgen um die Sicherheit machen, können Sie einfach Folgendes ausführen:

sudo service iptables stop 

um IPTables vollständig auszuschalten.

Die andere Sache, die Sie auf CentOs aufhalten könnte, istSELinux. Dies fungiert als zweite Sicherheitsebene für Prozesse und das Dateisystem und verhindert, dass einige Server standardmäßig die Berechtigung zum Bereitstellen von Dateien haben, da sie keinen Zugriff auf das Verzeichnis haben, aus dem die Dateien bereitgestellt werden sollen. Sie haben hier mehrere Optionen.

1) Schalten Sie SELinux aus, indem Sie die Einstellung /etc/selinux/configwie unten gezeigt ändern:

SELINUX=disabled in /etc/selinux/config

2) Besser ist es, audit2allowzu prüfen, ob SELinux Ihren Server blockiert, und wenn ja, eine neue Sicherheitsrichtlinie zu erstellen, um den Server zuzulassen. Siehe diesCentOSWiki-Eintrag sowieDasBlog-Eintrag.

Wenn Sie eine VM verwenden, stellen Sie abschließend sicher, dass Ihre VM über Netzwerkzugriff und Berechtigungen zur Verwendung der NIC-Konfiguration der zugrunde liegenden Hardware verfügt.

verwandte Informationen