Conexão TCP: Sem rota para o host

Conexão TCP: Sem rota para o host

Iniciei um servidor tcp em um host A e depois iniciei um cliente tcp em outro host B.

Ambos os hosts estão na mesma LAN através do roteador sem fio doméstico. o cliente tcp tenta se conectar ao servidor tcp na porta 8000. mas falhou devido a "Sem rota para host"

Posso executar ping com êxito no host do servidor a partir do host do cliente e, na verdade, estou conectado ao servidor a partir do cliente agora

Se eu trocar os dois hosts, ou seja, iniciei o servidor tcp no host B e, em seguida, iniciei o cliente tcp no host A. então a conexão TCP foi bem-sucedida

O que há de errado com o host do servidor A? o link a seguir mostra os resultados de iptables -L -n, ss -tlnp e netstat -lnp

http://paste.ubuntu.com/12785409/

e tabela de roteamento em A:

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
192.168.0.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan0

tabela de roteamento em B:

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
192.168.0.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan0

O cliente e servidor tcp relacionados são: https://www.cs.cmu.edu/afs/cs/academic/class/15213-f99/www/class26/tcpserver.c

http://www.cs.cmu.edu/afs/cs/academic/class/15213-f99/www/class26/tcpclient.c

tentei

matar processo vpnagent

# ps ax | grep vpnagent 
1291 ? S 0:00 /opt/cisco/vpn/bin/vpnagentd 
4202 pts/2 S+ 0:00 grep --color=auto vpnagent
#sudo kill -9 1291 

e então

# service vpnagentd stop
# sudo systemctl stop vpnagentd

e não sei se é por causa disso, no último dia, a conexão de repente ficou boa. Mas depois de reiniciar, execute os comandos acima para interromper o serviço vpnagent, o problema "Sem rota para host" ainda persiste

Responder1

O Fedora está usando o serviço firewalld para bloquear/permitir portas

Use este comando para encontrar suas zonas ativas:

firewall-cmd --get-active-zones

Dirá público, dmz ou qualquer outra coisa. Você só deve se inscrever nas zonas necessárias.

No caso de tentativa pública:

firewall-cmd --zone=public --add-port=8000/tcp

se você quiser torná-lo permanente, tente:

firewall-cmd --zone=public --add-port=8000/tcp --permanent

Caso contrário, substitua sua zona por dmz, por exemplo, se sua zona for pública:

firewall-cmd --zone=public --add-port=2888/tcp --permanent

Então lembre-se de recarregar o firewall para que as alterações tenham efeito.

firewall-cmd --reload

informação relacionada