2013-09-26 6 views
30

Ich habe installiert und Web-Anwendung, die auf Port 8080 auf CentOS ausgeführt wird. Ich habe nur Zugriff auf die Befehlszeile (durch Putty) zu dieser Maschine. Ich habe versucht, auf diese Anwendung von meinem Windows-Rechner zuzugreifen, von dem ich durch Putty verbunden bin, aber es gibt Verbindungszeitfehler heraus.Wie öffne ich Port in CentOS

Dann habe ich versucht, Port 8080 zu öffnen. Ich habe folgenden Eintrag in die iptables hinzugefügt.

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080

Nach Zugabe dieser in die iptables ACCEPT -j ich es mit dem Neustart - /etc/init.d/iptables restart

Aber immer noch kann ich nicht auf diese Anwendung von meinem Windows-Rechner zugreifen.

Mache ich einen Fehler oder etwas fehlt?

+0

Haben Sie selinux deaktiviert? Welche Version von Centos spielst du? – jabaldonedo

+1

Gibt es eine andere Firewall zwischen? Bist du sicher, dass deine App zuhörte? Stellen Sie sicher, dass Sie etwas sehen, wenn Sie 'netstat -an | grep 8080' –

+0

Ich habe das gleiche Problem auf CentOS v7 Netstat zeigt nichts für 8080 also tue die iptables-Zeile dann noch einmal überprüfen, nichts versucht, dies seit Wochen zu tun tut jemand jetzt, wie 8080 tatsächlich hinzuzufügen, so dass es von außen zugänglich ist – AndrewT

Antwort

31

Zuerst Sie selinux deaktivieren sollten, zu bearbeiten Datei /etc/sysconfig/selinux so sieht es wie folgt aus:

SELINUX=disabled 
SELINUXTYPE=targeted 

Datei speichern und Neustart-System.

Dann können Sie die neue Regel zu iptables hinzufügen:

iptables -A INPUT -m state --state NEW -p tcp --dport 8080 -j ACCEPT 

und starten iptables mit /etc/init.d/iptables restart

Wenn es Sie nicht funktionieren sollte andere Netzwerkeinstellungen überprüfen.

+1

selinux ist disable und selinuxtype ist auf targeted gesetzt und an iptables anhängen. Neustart der iptables, funktioniert aber immer noch nicht. Müssen andere Netzwerkkonfiguration überprüfen –

+0

@jabaldonedo Ich bekomme eine 9001-Socket-Ausnahme bei genau 2 Stunden einer Mongodb Last von einem Centos-Server. Könnte das eine Lösung sein? Wenn ja, muss ich dies sowohl auf dem Remote-Host als auch auf dem anfordernden Host oder nur auf dem Remote-Host tun? Vielen Dank! – kmehta

+0

Vielleicht hängt Ihr Problem nicht mit CentOS zusammen, sind Sie sicher, dass Ihre Anwendung korrekt konfiguriert ist? Dieser Fehler ist ein Verbindungsproblem von MongoDB. Ich weiß nicht, welche Anwendung Sie ausführen möchten, aber ich schlage vor, dass Sie erneut seine Konfiguration überprüfen und/oder wenn Sie können, fragen Sie nach Support-Hilfe. – jabaldonedo

38

Folgende configs arbeitet auf Cent OS 6 oder früher

Wie oben zuerst SELinux angegeben deaktivieren haben.

Schritt 1 nano/etc/sysconfig/selinux

Stellen Sie sicher, die Datei diese Konfigurationen

SELINUX=disabled 

SELINUXTYPE=targeted 

Dann starten Sie das System

Schritt 2

iptables -A INPUT -m state --state NEW -p tcp --dport 8080 -j ACCEPT 
hat

Schritt 3

sudo service iptables save 

Für Cent OS 7

Schritt 1

firewall-cmd --zone=public --permanent --add-port=8080/tcp 

Schritt 2

firewall-cmd --reload 
+2

Schritt 3 fehlgeschlagen speichern ist kein gültiger Parameter – AndrewT