2013-09-26 21 views
30

Mam zainstalowaną aplikację internetową działającą na porcie 8080 na centOS. Mam tylko dostęp do wiersza poleceń (poprzez kit) do tego komputera. Próbowałem uzyskać dostęp do tej aplikacji z mojego komputera z systemem Windows, z którym jestem połączony za pomocą putty, ale daje błąd limitu czasu połączenia.Jak otworzyć port w centOS

Potem próbowałem otworzyć port 8080. Dodałem następujący wpis do iptables.

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

Po dodaniu to do iptables I którym ponownie go - /etc/init.d/iptables restart

Ale nadal nie mam dostępu do tej aplikacji z mojego komputera z systemem Windows.

Czy popełniam jakiś błąd lub czegoś brakuje?

+0

Czy wyłączyłeś selinux? która wersja centów używasz? – jabaldonedo

+1

Czy istnieje jakaś inna zapora? czy jesteś pewien, że aplikacja słucha? Upewnij się, że coś widzisz, gdy wykonujesz 'netstat -an | grep 8080' –

+0

Mam ten sam problem na CentOS v7 Netstat nic nie pokazuje w 8080, więc idź iptables, a następnie sprawdź jeszcze raz, nic nie próbując tego zrobić od tygodni, teraz każdy może dodać 8080, więc jest dostępny z zewnątrz – AndrewT

Odpowiedz

31

Po pierwsze, należy wyłączyć selinux, edytować plik /etc/sysconfig/selinux więc wygląda to tak: System

SELINUX=disabled 
SELINUXTYPE=targeted 

Zapisz plik i uruchom ponownie.

Następnie można dodać nową regułę iptables:

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

i ponownie iptables z /etc/init.d/iptables restart

Jeśli to nie działa, należy sprawdzić inne ustawienia sieciowe.

+1

selinux jest wyłączone, a selinuxtype jest ustawione na kierowanie i dołączanie reguły do ​​iptables. Ponownie uruchomiono iptables, ale nadal nie działa. Konieczność sprawdzenia innej konfiguracji sieciowej –

+0

@jabaldonedo Otrzymuję wyjątek gniazda 9001 dokładnie w 2 godziny od obciążenia mongodb z serwera centos. Czy to może być rozwiązanie? Jeśli tak, to czy, twoim zdaniem, muszę to zrobić zarówno na hoście zdalnym, jak i na hoście wysyłającym żądanie lub tylko na zdalnym hoście? Dzięki! – kmehta

+0

Być może Twój problem nie jest związany z CentOS, czy jesteś pewien, że twoja aplikacja jest poprawnie skonfigurowana? ten błąd to problem z połączeniem z MongoDB. Nie wiem, którą aplikację próbujesz uruchomić, ale sugeruję, abyś ponownie sprawdził jej konfigurację i/lub, jeśli możesz, poproś o pomoc. – jabaldonedo

38

Poniższe configs działa na Cent OS 6 lub wcześniej

Jak stwierdzono powyżej najpierw trzeba wyłączyć SELinux.

Krok 1 nano/etc/sysconfig/selinux

Upewnij się, że plik ma ten konfiguracje

SELINUX=disabled 

SELINUXTYPE=targeted 

Następnie zrestartuj system

Krok 2

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

Etap 3

sudo service iptables save 

Na Cent OS 7

etap 1

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

Etap 2

firewall-cmd --reload 
+2

Krok 3 nieudany zapis nie jest poprawnym parametrem – AndrewT