Ich habe einen TCP-Server auf Host A gestartet und dann einen TCP-Client auf einem anderen Host B.
Beide Hosts befinden sich über den WLAN-Router zu Hause im selben LAN. Der TCP-Client versucht, eine Verbindung zum TCP-Server über Port 8000 herzustellen. Dies schlägt jedoch fehl, da die Meldung „Keine Route zum Host“ angezeigt wird.
Ich kann den Server-Host vom Client-Host aus erfolgreich anpingen und bin jetzt tatsächlich vom Client aus per SSH mit dem Server verbunden.
Wenn ich die beiden Hosts tausche, also den TCP-Server auf dem Host B starte und dann den TCP-Client auf dem Host A starte, dann ist die TCP-Verbindung erfolgreich
Was ist mit dem Server-Host A los? Der folgende Link zeigt die Ergebnisse von iptables -L -n, ss -tlnp und netstat -lnp
http://paste.ubuntu.com/12785409/
und Routing-Tabelle auf 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
Routing-Tabelle auf 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
Der zugehörige TCP-Client und -Server sind: 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
Ich habe es versucht
VPN-Agent-Prozess beenden
# 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
und dann
# service vpnagentd stop
# sudo systemctl stop vpnagentd
und ich weiß nicht, ob es daran liegt, dass die Verbindung am letzten Tag plötzlich wieder in Ordnung war. Aber nachdem ich neu gestartet und die obigen Befehle ausgeführt habe, um den VPN-Agent-Dienst zu stoppen, ist das Problem „Keine Route zum Host“ immer noch da
Antwort1
Fedora verwendet den Firewalldienst zum Blockieren/Zulassen von Ports
Verwenden Sie diesen Befehl, um Ihre aktive(n) Zone(n) zu finden:
firewall-cmd --get-active-zones
Dort steht entweder „öffentlich“, „DMZ“ oder etwas anderes. Sie sollten sich nur auf die erforderlichen Zonen bewerben.
Im Falle eines öffentlichen Versuchs:
firewall-cmd --zone=public --add-port=8000/tcp
Wenn Sie es dauerhaft machen möchten, versuchen Sie:
firewall-cmd --zone=public --add-port=8000/tcp --permanent
Andernfalls ersetzen Sie Ihre Zone durch „dmz“, beispielsweise wenn Ihre Zone öffentlich ist:
firewall-cmd --zone=public --add-port=2888/tcp --permanent
Denken Sie dann daran, die Firewall neu zu laden, damit die Änderungen wirksam werden.
firewall-cmd --reload