2014-09-25 4 views
0

동일한 서브넷에 두 개의 기계 (기계 1 & 기계 2)가 있습니다. Machine1에는 일부 데이터를 반환하는 도구가 설치되어 있습니다. 예를 들어 다음 명령을 실행하면 일부 데이터가 반환됩니다.netcat은 로컬 호스트에서 작동하지만 원격 호스트에서는 작동하지 않습니다.

printf "get:info\nend\n" | nc localhost 1234 

그러나 Machine2에서 동일하게 수행하면 물론 localhost를 machine1로 변경하면 아무 일도 발생하지 않습니다. 어떤 아이디어가 문제가 될 수 있습니까?

printf "get:info\nend\n" | nc machine1 1234 
+0

는'SS의 -tlnp를 수행을 | grep 1234'를'machine1'에 추가합니다. 도구가 로컬 호스트 이상에서 수신 대기합니까? – cnicutar

+0

내가 언급 한 명령을 수행하면 아무 일도 일어나지 않습니다. 해당 포트에 대한 정보가 없습니다. – hjelpmig

+0

먼저'ping'을하십시오. 그 다음에 OK라면, 머신 2에서'tcpdump'를 실행하고 TCP 연결을 확인하십시오 –

답변

0

많은 것을 조사한 결과 특정 포트에서 다른 컴퓨터와 통신 할 수없는 이유를 찾았습니다.

내 컴퓨터 1에서 iptables 설정이 machine1의 수신을 허용하지 않았습니다. 나는 iptables를 끄고 everthing은 잘 작동했다.

하지만 iptables를 끄는 것은 좋지 않습니다. 그래서 다음 단계에서 machine1에 1234 포트를 허용했습니다.

sudo iptables -A INPUT -p tcp --dport 1234 -j ACCEPT 

아래 링크를 iptables에 대한 자세한 정보를 찾을 수 있습니다

https://help.ubuntu.com/community/IptablesHowTo 
관련 문제