2011-10-30 3 views
1

여러 수신 대기 포트가있는 Linux 서버에 연결하려고하는데 "호스트가 다운되었으므로"(내 클라이언트에 따르면) 연결이 실패합니다 ... 그러나 호스트가 작동 중임을 알고 있습니다.머신이 (리눅스) 서버에 연결을 시도했는지 여부를 어떻게 알 수 있습니까?

서버 측에서 거부 된 연결을 확인하기 위해 변경할 수있는 스크립트 또는 로그 파일이 있습니다 ... 연결이 실패한 이유는 무엇입니까?

일반적으로 연결 오류가 오해의 소지가 있거나 모호한 오류 메시지를 가질 수 있음을 알았습니다 ... 그래서 연결 디버깅 작업을 한 번에 해결할 것이므로 최종 테스트가 끝나면 직접 테스트 할 수 있다고 생각합니다. 클라이언트 오류 메시지를 기반으로 추측하기보다는 실제 서버 측에서 연결을 거부합니다.

여기는 hadoop과 관련됩니다.

+1

당신은 tcpdump와 같은 패킷 스니퍼를 사용하여 시도? –

답변

1

방화벽 문제처럼 들립니다. 우분투를 사용하는 경우 sudo ufw disable을 실행하고 다시 연결하십시오. 연결할 수 있으면 ufw를 다시 활성화하십시오 (sudo ufw enable). 원하는 포트에 들어오는 연결을 허용하는 규칙을 추가하십시오.

소스 : https://help.ubuntu.com/community/UFW

+0

시도. didnt 일, 그러나 좋은 제안. – jayunit100

1

예를 들어, iptables를 시도 :

iptables -I INPUT -m state --state NEW -j LOG --log-prefix "New Connection: " 
iptables -I OUTPUT -m state --state NEW -j LOG --log-prefix "New Connection: " 

그리고 서버 로그에 봐 - 쉘에서 'dmesg를'호출합니다.

+0

감사합니다. iptables는 무엇을하고 있습니까? 모든 네트워크 인터페이스에서 모든 것을 볼 수 있습니까? – jayunit100

2

tcpdump를 사용하십시오.

이 사이트는 사용자의 요구 스위트 것 중 하나 예, 많이 가지고 ->http://linux.byexamples.com/archives/283/simple-usage-of-tcpdump/

I로 시작하는 것입니다 :

tcpdump -i eth0 tcp port XXXX 
+0

"tcpdump -w test.pcap -i eth10 port 50070"에 대한 구문 오류가 발생했습니다 ...? – jayunit100

+0

@ jayunit100. 이 명령은 청취 서버에서 실행해야합니다. 당신 명령을 보면 나는 2 개의 이상 치를 봅니다. 'eth10' 인터페이스 (일반적으로 eth0 또는 eth1입니다. 네트워크 게이트웨이 서버에서 테스트 할 경우 더 높은 번호의 인터페이스를 가질 수 있습니다). 또한 포트 번호가 비정상적으로 높습니다. 기본적으로 OS는 클라이언트 연결에 할당 된 포트 인 '동적'범위에 있습니다. –

+0

"포트가 OS에 의해 클라이언트 연결에 할당되었습니다." --- 그게 무슨 뜻 이죠? 고마워 ...이게 나를 돕고있어 .... – jayunit100

관련 문제