Estoy intentando ejecutar un servicio gRPC en Linux mientras ejecuto un cliente en Windows.
Parece que no puedo probar el puerto Linux que uso desde mi máquina con Windows. Ambas máquinas están en la misma red. Windows 10 y CentOS 8.
Esto es lo que me da 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
No sé mucho sobre Linux, pero aquí hay algunos comandos que intenté para verificar que el puerto esté abierto y que el servicio que lo usa se esté ejecutando, y los resultados que obtuve:
[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:
También intenté desactivar los cortafuegos tanto en Windows como en Linux para comprobar si eso podía ayudar, pero fue en vano.
Respuesta1
127.0.0.1
y ::1
son direcciones de bucle invertido locales. Ellos sonsoloaccesible desde la misma máquina. Es por eso que su otra máquina no puede verlos.
Deberá cambiar la forma en que inicia el servidor. Para indicarle que se vincule a una dirección de red local (no a una dirección de red interna).