TCP connect: нет маршрута к хосту

Я запустил tcp-сервер на хосте A, а затем запустить tcp-клиент на другом хосте B.

оба хоста находятся в одной локальной сети через беспроводной маршрутизатор дома.
tcp-клиент пытается подключиться к tcp-серверу через порт 8000. но не получилось из-за"no route to host"

Я могу успешно пинговать хост сервера с хоста клиента, и на самом деле я ssh'ED на сервер от клиента сейчас

если я поменять местами два хоста, а именно я начал tcp-сервер на хосте B, а затем запустите tcp-клиент на узле A. тогда TCP-подключение успешно

что не так с хостом сервера A?
по ссылке показаны результаты для iptables -Л -Н, СС -tlnp и netstat -ЛНП

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

и таблица маршрутизации на 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

таблица маршрутизации на 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

связанные клиент и сервер tcp АР:
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

пробовал

убить процесс 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 

а то

# service vpnagentd stop
# sudo systemctl stop vpnagentd

и я не знаю, это из-за этого, в последний день, связь внезапно стала в порядке. Но после перезагрузки, выполните вышеуказанные команды, чтобы остановить службу vpnagent, "Нет маршрута к хосту" проблема все еще существует

11
задан lily
07.12.2022 14:36 Количество просмотров материала 2890
Распечатать страницу

1 ответ

Fedora использует сервис firewalld для блокировки/разрешения портов

используйте эту команду, чтобы найти активную зону(ы):

firewall-cmd --get-active-zones

Он будет говорить либо общественности, dmz, или что-то еще. Следует применять только к необходимым зонам.

в случае публичной попытки:

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

если вы хотите сделать его постоянным, попробовать:

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

в противном случае, замените dmz для вашей зоны, например, если ваша зона общественность:

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

потом не забудьте перезагрузить брандмауэр, чтобы изменения вступили в силу.

firewall-cmd --reload
1
отвечен lily 2022-12-08 22:24

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх