저는 Windows 10 상자와 SuSE Linux 상자(2011-02-21 버전 2.6.37)라는 두 개의 노트북을 가지고 있습니다. 그들은 무선 LAN에 있으며 둘 다 동일한 허브를 통해 인터넷을 탐색합니다. 그러나 TCP는 그들 사이에서 작동하지 않습니다. 이유는 무엇입니까?
연결을 기다리는 서버 프로세스를 작성했습니다. 저는 이 연결을 설정하기 위해 간단한 클라이언트 프로세스를 작성했습니다. 동일한 컴퓨터에서 실행하면 둘 다 Windows에 있든 Linux에 있든 상관없이 잘 연결됩니다.
그러나 Windows의 클라이언트를 SuSE의 서버에 연결하려고 하면 SuSE 상자가 연결을 얻을 수 없습니다.
실제로 이 Windows 10 표준 테스트 프로그램도 유틸리티를 사용할 때 Test-NetConnection -ComputerName 10.226.12.12 -Port 8777
연결에 실패했습니다 . 따라서 내 클라이언트 소프트웨어도 제외됩니다. TCP를 시도한 후 Test-NetConnection은 ping/ICMP를 시도했지만 역시 실패했습니다. 최종 보고서는 다음과 같습니다.
WARNING: TCP connect to (10.226.12.12 : 8777) failed
WARNING: Ping to 10.226.11.30 failed with status: DestinationHostUnreachable
SuSE 상자에는 netstat -l
포트 8777이 실제로 수신되고 있음이 표시됩니다. /usr/sbin/iptables -L -v|grep policy
디스플레이 INPUT Chain INPUT (policy ACCEPT)
아래에는 나와 같은 특정 규칙이 더 이상 없습니다 iptables -F INPUT
. (나중에도 이 방법을 시도했지만 iptables -I INPUT -p tcp --dport 8765 -j ACCEPT
개선되지 않았습니다.)
내 소프트웨어로 돌아가서 숫자 주소를 입력했는데 작동합니다 10.226.12.12
.gethostbyname()
그러나 connect()
"연결 시간이 초과되었습니다"라는 메시지가 나타납니다.
클라이언트를 연결하도록 설정하면 yahoo.com:80
연결이 성공합니다. (내 소프트웨어는 HTTP와 아무 관련이 없습니다. 독자들이 친숙하게 느낄 수 있는 수신 포트의 예로 사용하고 있으며 내 노트북이 실제로 WiFi에 연결되어 있고 연결을 설정할 수 있음을 보여주기 위해 사용하고 있습니다.)
한편, Linux(C로 작성된 이식 가능)에서 클라이언트를 실행하면 서버에 연결되므로 포트 번호가 올바른지 알 수 있습니다.
Linux 상자의 시작 메뉴-->제어 센터->네트워크 연결을 보면 "내 LAN을 신뢰하지 않음"과 같은 다른 설정이 표시되지 않습니다.
내 생각에는 이를 방지하는 보안 계층이 있을 수 있지만 어떤 보안이 있을까요?
-- Windows 10으로 인해 연결이 차단되나요? 네트워크 프로필을 "개인"으로 설정했습니다: "집이나 직장과 같이 신뢰하는 네트워크의 경우"
——허브가 만날 것인가? 저는 이것에 대해 아무것도 몰랐습니다. 저는 네트워크 하드웨어에 대해 몰랐을 뿐만 아니라 단기 계약자였습니다... "코워킹 사이트" 회사에서 공간을 임대한 회사에서 더 큰 회사의 로프트를 임대했습니다. 공간을 임대하고 인터넷에 연결합니다. 이 때문에 네트워크 하드웨어에 대해 아는 사람조차 찾기 어렵다.
-- SuSE가 해낼까요? 네트워크 구성에 "LAN에 있는 컴퓨터는 신뢰할 수 없습니다."와 같은 내용이 표시되지 않습니다.