Почему два компьютера не видят друг друга в локальной сети?

Есть два компьютера в одной локальной сети через роутер: 1) ноутбук на Wi‑Fi с Arch Linux; 2) ПК на Ethernet с Windows. На Linux установлены и запущены OpenSSH, ufw и NetworkManager, также установлен zapret (но отключён). На Windows есть ssh‑клиент в cmd, ранее был amnezia‑vpn (тоже отключён). В роутере обе машины имеют статические IP и зарегистрированы в Zyxel. Проблема: с Windows нельзя подключиться по SSH к Linux, при этом ping между машинами не проходит в обе стороны. На Windows включал параметры общего доступа — не помогло. Какие возможные причины такой потери связи и какие проверки или настройки нужно выполнить, чтобы восстановить доступ (ping/ssh) между этими компьютерами в локальной сети?
  • 30 марта 2026 г. 19:01
Ответы на вопрос 5
Коротко — причин много, обычно это либо сетевые настройки (разные подсети / маски / маршруты / VLAN / гостевая сеть / «изоляция клиентов» на Wi‑Fi), либо блокировка трафика фаерволлом (на Linux/Windows/роутере) либо вмешательство VPN/виртуальных адаптеров. Ниже — пошаговый чек‑лист с командами и объяснениями, что проверить и как исправить.

1) Убедиться в адресах, масках и маршрутах
- На Linux (Arch):
  - ip addr show
  - ip route show
- На Windows (в cmd/PowerShell):
  - ipconfig /all
  - route print
Что смотреть: адреса должны быть в одной подсети (например 192.168.1.x/24), маска должна совпадать, шлюз — тот же роутер. Если IP в разных подсетях — машины не увидят друг друга без маршрутизации.

2) Проверить досягаемость роутера и локальных интерфейсов
- Попробуйте с каждой машины пропинговать шлюз/роутер:
  - Linux: ping -c 4 <gateway>
  - Windows: ping <gateway>
Если пинги до роутера проходят, проблема внутри локальной связи между клиентами; если нет — проблема с подключением к роутеру.

3) Проверить ARP/соседей
- Linux: ip neigh show
- Windows: arp -a
Если нет записи для удалённого IP — пакеты ARP не проходят (возможна изоляция/фильтрация или дублирование IP).

4) Проверить SSH‑сервер на Linux
- systemctl status sshd
- ss -ltnp | grep :22
- sudo journalctl -u sshd -e
Убедитесь, что sshd слушает 0.0.0.0 или нужный интерфейс, порт 22 открыт.

5) Временно отключить фаерволлы для теста
- На Linux (ufw):
  - sudo ufw status verbose
  - для теста: sudo ufw disable
  - чтобы разрешить: sudo ufw allow OpenSSH
- На Windows (админ cmd/PowerShell):
  - netsh advfirewall show allprofiles
  - для теста временно отключить: netsh advfirewall set allprofiles state off
  - или разрешить ICMP/SSH: включить File and Printer Sharing или добавить правило для ICMP/порт 22.
Если после отключения фаерволлов пинги/ssh заработали — нужно прописать разрешающие правила, а не держать фаервол выключенным.

6) Проверить влияние VPN/виртуальных адаптеров
- На обоих компьютерах отключите все VPN (amnezia‑vpn, anyconnect и т.д.) и отключите виртуальные адаптеры, если они меняют маршруты.
- На Windows проверьте список адаптеров: ncpa.cpl или netsh interface show interface.

7) Проверить настройки роутера (очень частая причина)
- В веб‑интерфейсе Zyxel проверьте:
  - нет ли «AP/Client isolation», «Guest network», «Wireless isolation» или «IP/MAC filter»;
  - не находятся ли устройства в разных VLAN/зонах (LAN vs Guest);
  - правильность статической привязки IP (MAC → IP связка);
  - нет ли правил межхостовой фильтрации в firewall роутера.
Если Wi‑Fi клиент в гостевой сети с изоляцией — он не будет общаться с LAN‑проводными устройствами.

8) Проверить наличие конфликтов IP/MAC
- Посмотрите логи роутера и таблицу DHCP/статической привязки. Наличие двух устройств с одним IP приведёт к падению связи.

9) Сниффинг / диагностика на Linux
- Запустите tcpdump и посмотрите, доходят ли ICMP/ARP запросы:
  - sudo tcpdump -i wlan0 host <windows-ip> and icmp
  - sudo tcpdump -i wlan0 arp
Если запросы не видны — роутер/изоляция/фильтрация блокирует трафик до точки наблюдения.

10) Тесты и альтернативы
- С Windows: Test-NetConnection -ComputerName <linux-ip> -Port 22 (PowerShell) или tracert <linux-ip>
- Используйте nmap: nmap -Pn -p 22 <linux-ip> (в Windows или с другого устройства)
- Подключите ноутбук и ПК в одну и ту же проводную сеть (через коммутатор или подключив ноутбук по кабелю), чтобы исключить Wi‑Fi‑изоляцию.

11) Если всё ещё не видно — минимальное отладочное окружение
- Подключите оба устройства к простому коммутатору/роутеру по кабелю и дайте автоподстановку DHCP, посмотрите, видят ли они друг друга. Если да — проблема в настройках роутера/Wi‑Fi.

Короткие быстрые команды/проверки (резюмируя):
- На Linux:
  - ip addr; ip route; ip neigh
  - ss -ltnp | grep ssh
  - sudo ufw status; sudo ufw disable (тест)
  - sudo tcpdump -i <iface> icmp or arp
- На Windows:
  - ipconfig /all; route print; arp -a
  - ping <linux-ip>
  - netsh advfirewall set allprofiles state off (временный тест)
  - Test-NetConnection -ComputerName <ip> -Port 22

Основные вероятные причины у вас (по приоритету):
1. Wi‑Fi «Client/Guest isolation» на роутере (очень частая ситуация при беспроводном + проводном соединении).  
2. Локальные фаерволлы (ufw / Windows Firewall) блокируют ICMP/SSH.  
3. Разные подсети / VLAN / неправильная маска или шлюз.  
4. Вмешательство VPN/виртуальных адаптеров или дублирующий IP.  
5. sshd слушает не на нужном интерфейсе (маловероятно, если он правильно установлен).

Если нужно, пришлите выводы команд ip addr / ip route / ip neigh с Linux и ipconfig / route print с Windows и настройки интерфейсов в веб‑интерфейсе Zyxel — помогу точнее указать виновника и какие параметры менять.
Параметры общего доступа на скрине это SMB, к пингу не имеет отношения. Раз по проводу тоже не идёт — не изоляция вафли. Чекни <code>sudo ufw status</code> на линуксе, для теста <code>sudo ufw disable</code> . На винде входящий ICMP закрыт по дефолту, в cmd от админа: <pre><code>netsh advfirewall firewall add rule name="ICMP" protocol=icmpv4 dir=in action=allow</code></pre> . И проверь <code>route print</code> на винде — amnezia мог оставить маршруты даже в выключенном состоянии.
точно ли они получают адреса из одной подсети? <br/> Точно ли нет изоляции клиентов (вифи например) в настройке роутера?
А вообще какие то девайсы в сети видят друг-дружку? Если например WiFi девайсы видят друг-друга, а eth нет, то возможно на роутере бридж не настроен, без него клиенты на разных сетевых интерфейсах не видят друг-друга (хотя, если интернет есть, как то он работает). Ну и маршрут соответствующий для бриджа должен подниматься автоматом. Короче, проверяй сначала клиентов (отключи ему UFW и вообще все правила iptables, кстати, зачем он тебе на ноутбуке?), потом проверяй девайсы на одном сетевом интерфейсе, потом железку смотреть. Ну и не мешало бы роутер до заводских настроек сбросить, обычно он из коробки идет со всеми минимально нужными правилами.
Как вариант проверить  настройку шлюза на каждом компьютере и принадлежность шлюза к той же сети. А так же проверить, что адрес шлюза соответствует адресу интерфейса на роутере. <br/> Можно попробовать включить автоматическое получение ip и настроек  сети от dhcp.
Похожие вопросы