Windows에서 Linux 포트에 연결할 수 없습니다.

Windows에서 Linux 포트에 연결할 수 없습니다.

Windows에서 클라이언트를 실행하는 동안 Linux에서 gRPC 서비스를 실행하려고 합니다.

내 Windows 컴퓨터에서 사용하는 Linux 포트를 테스트할 수 없는 것 같습니다. 두 시스템 모두 동일한 네트워크에 있습니다. 윈도우 10과 CentOS 8.

Powershell이 ​​제공하는 기능은 다음과 같습니다.

PS C:\WINDOWS\system32> tnc server_ip -p 55555 -Debug
DEBUG: TCP connect to (server_ip  : 55555) threw exception: Exception 
calling "GetResult" with "0" argument(s): "No connection
could be made because the target machine actively refused it 
server_ip :55555"

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [S] Suspend  [?] Help (default is 
"Y"): y
WARNING: TCP connect to (server_ip  : 55555) failed


ComputerName           : server_ip 
RemoteAddress          : server_ip 
RemotePort             : 55555
InterfaceAlias         : Ethernet
SourceAddress          : client_ip
PingSucceeded          : True
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded       : False

저는 Linux에 대해 잘 모르지만 포트가 열려 있고 이를 사용하는 서비스가 실행 중인지 확인하려고 시도한 몇 가지 명령과 얻은 결과는 다음과 같습니다.

[user@localhost ~]$ grep -w 55555 /etc/services
test        55555/tcp       # TestService

[user@localhost ~]$ sudo lsof -i -P -n | grep LISTEN
[sudo] password for user: 
GrpcServi 10933         user  166u  IPv4 1090871      0t0  TCP 127.0.0.1:55555 (LISTEN)
GrpcServi 10933         user  167u  IPv6 1090874      0t0  TCP [::1]:55555 (LISTEN)

[user@localhost ~]$ sudo netstat -tulpn | grep LISTEN     
tcp        0      0 127.0.0.1:55555         0.0.0.0:*               LISTEN      10933/./GrpcService 
tcp6       0      0 ::1:55555               :::*                    LISTEN      10933/./GrpcService 

[user@localhost ~]$ sudo netstat -tulpn | grep :55555
tcp        0      0 127.0.0.1:55555         0.0.0.0:*               LISTEN      10933/./GrpcService 
tcp6       0      0 ::1:55555               :::*                    LISTEN      10933/./GrpcService 

[user@localhost ~]$ sudo ss -tulpn | grep LISTEN                                               
tcp   LISTEN   0        128              127.0.0.1:55555          0.0.0.0:*      users: 
(("GrpcService",pid=10933,fd=166))                                                                                   
tcp   LISTEN   0        128                  [::1]:55555             [::]:*      users: 
(("GrpcService",pid=10933,fd=167))                                       

[user@localhost ~]$ sudo ss -tulpn | grep ':55555'
tcp   LISTEN   0        128              127.0.0.1:55555          0.0.0.0:*      users: 
(("GrpcService",pid=10933,fd=166))                                       
tcp   LISTEN   0        128                  [::1]:55555             [::]:*      users: 
(("GrpcService",pid=10933,fd=167))                                       

[user@localhost ~]$ sudo lsof -i -P -n | grep LISTEN
GrpcServi 10933         user  166u  IPv4 1090871      0t0  TCP 127.0.0.1:55555 (LISTEN)
GrpcServi 10933         user  167u  IPv6 1090874      0t0  TCP [::1]:55555 (LISTEN)

[user@localhost ~]$ sudo firewall-cmd --zone=public --list-all
[sudo] password for user: 
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp2s0
  sources: 
  services: cockpit dhcpv6-client ssh
  ports: 3389/tcp 3389/udp 55555/tcp 
  protocols: 
  masquerade: yes
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

또한 도움이 될 수 있는지 확인하기 위해 Windows와 Linux 모두에서 방화벽을 비활성화하려고 시도했지만 소용이 없었습니다.

답변1

127.0.0.1::1는 로컬 루프백 주소입니다. 그들은오직동일한 머신에서 액세스할 수 있습니다. 이것이 다른 컴퓨터가 이를 볼 수 없는 이유입니다.

서버 시작 방법을 변경해야 합니다. 로컬 네트워크 주소(내부 네트워크 주소가 아님)에 바인딩하도록 지시합니다.

관련 정보