Почему два компьютера в локальной сети не видят друг друга
Решение проблем с видимостью компьютеров в локальной сети. Настройка статических IP, брандмауэров и SSH-соединения между Linux и Windows.
Почему два компьютера в одной локальной сети не видят друг друга?
У меня есть два компьютера:
- Ноутбук с Arch Linux, подключенный по Wi-Fi
- Компьютер с Windows, подключенный через Ethernet
Проблема: компьютер с Windows не может подключиться к ноутбуку с Linux по SSH. При проверке через ping оба устройства не видят друг друга, хотя подключены к одному роутеру. Я уже проверял настройки общего доступа в Windows и включил права на подключения других устройств, но это не помогло.
Детали системы:
- На Linux: установлен UFW, OpenSSH, Network Manager, Zapret (отключен)
- На Windows: используется SSH клиент в CMD, Amnezia VPN (отключен)
- В роутере Zyxel оба компьютера настроены на статические IP-адреса
Как решить проблему с видимостью компьютеров в локальной сети и восстановить SSH-соединение?
Когда два компьютера в одной локальной сети не видят друг друга, это обычно связано с проблемами сетевой конфигурации, настройками брандмауэров или неправильными статическими IP-адресами. В вашем случае с ноутбуком Arch Linux и компьютером Windows подключенными к одному роутеру Zyxel, основные причины могут быть в настройках UFW, брандмауэре Windows или конфликтах IP-адресов.
Содержание
- Основные причины проблем с видимостью компьютеров в локальной сети
- Проверка базовой сетевой конфигурации
- Настройка статических IP-адресов в Linux и Windows
- Решение проблем с брандмауэрами (UFW и Windows Firewall)
- Настройка SSH-соединения между Linux и Windows
- Дополнительные проверки и решения для роутера Zyxel
Основные причины проблем с видимостью компьютеров в локальной сети
Проблема, когда компьютер не видит локальную сеть, возникает по нескольким распространенным причинам. В вашем случае с ноутбуком Arch Linux (Wi-Fi) и компьютером Windows (Ethernet), подключенными к одному роутеру, основные причины могут включать:
- Неправильная сетевая конфигурация - компьютеры могут находиться в разных подсетах
- Включенные брандмауэры - UFW в Arch Linux или Windows Firewall блокируют входящие соединения
- Конфликты статических IP-адресов - оба компьютера могут использовать одинаковые IP
- Проблемы с маршрутизацией - неправильные настройки шлюза или DNS
- Специфические настройки роутера - разделение VLAN или изоляция портов
Особенно важно понимать, что при использовании статических IP-адресов в роутере Zyxel, необходимо тщательно проверять, чтобы адреса не конфликтовали и находились в одной подсети.
Проверка базовой сетевой конфигурации
Перед тем как углубляться в сложные настройки, выполните базовую проверку сетевой конфигурации на обоих компьютерах.
На Arch Linux:
# Проверьте состояние сетевого интерфейса
ip address show
# Проверьте таблицу маршрутизации
ip route show
# Проверьте, можете ли вы пинговать шлюз
ping <gateway_ip>
На Windows:
# Проверьте IP-конфигурацию
ipconfig
# Проверьте таблицу маршрутизации
route print
# Проверьте доступность шлюза
ping <gateway_ip>
Если оба компьютера могут пинговать шлюз, но не могут пинговать друг друга, проблема скорее всего в брандмауэрах или настройках локальной сети. Компьютеры не видят друг друга в сети, когда есть блокировка трафика между ними или когда они находятся в разных подсетах.
Настройка статических IP-адресов в Linux и Windows
Поскольку вы используете статические IP-адреса в роутере Zyxel, важно правильно настроить их на каждом компьютере.
На Arch Linux:
- Откройте файл конфигурации Network Manager:
sudo nano /etc/NetworkManager/system-connections/ваше_соединение.nmconnection
- Добавьте или измените следующие параметры:
[ipv4]
method=manual
addresses=192.168.0.100/24
gateway=192.168.0.1
dns=192.168.0.1,8.8.8.8
- Перезапустите Network Manager:
sudo systemctl restart NetworkManager
На Windows:
- Откройте “Параметры сети и Интернет” > “Сетевые подключения”
- Правый клик на вашем Ethernet-соединении > “Свойства”
- Выберите “Протокол интернета версии 4 (TCP/IPv4)” > “Свойства”
- Выберите “Использовать следующий IP-адрес” и введите:
- IP-адрес: 192.168.0.101
- Маска подсети: 255.255.255.0
- Основной шлюз: 192.168.0.1
- Предпочительный DNS-сервер: 192.168.0.1
Важно убедиться, что оба компьютера находятся в одной подсети (например, 192.168.0.x) и используют одинаковый маску подсети.
Решение проблем с брандмауэрами (UFW и Windows Firewall)
Брандмауэр блокирует подключение - это одна из самых частых причин, почему компьютеры не видят друг друга в сети.
На Arch Linux с UFW:
По умолчанию UFW блокирует все входящие соединения. Чтобы разрешить трафик из локальной сети:
# Разрешить SSH-соединения
sudo ufw allow ssh
# Разрешить трафик из локальной подсети
sudo ufw allow from 192.168.0.0/24
# Проверить статус UFW
sudo ufw status
Если пинг по-прежнему не работает, нужно разрешить ICMP-запросы. Откройте файл:
sudo nano /etc/ufw/before.rules
Добавьте следующие строки в секцию ufw-before-input:
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
Перезапустите UFW:
sudo ufw reload
На Windows:
- Откройте “Панель управления” > “Брандмауэр Защитника Windows”
- Включите или выключите брандмауэр Windows (для теста можно временно отключить)
- Если используете сторонние антивирусы, проверьте их сетевые настройки
При установке OpenSSH Server в Windows автоматически создается правило брандмауэра OpenSSH-Server-In-TCP, но убедитесь, что оно включено.
Настройка SSH-соединения между Linux и Windows
После устранения проблем с видимостью в локальной сети, настройте SSH-соединение.
На Arch Linux:
- Убедитесь, что SSH-сервис запущен:
sudo systemctl status sshd
- Если не запущен, включите и запустите:
sudo systemctl enable --now sshd
На Windows:
- Установите OpenSSH Server (если не установлен):
# В PowerShell от имени администратора
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
- Запустите сервис:
Start-Service sshd
- Убедитесь, что правила брандмауэра созданы:
Get-NetFirewallRule -Name *ssh*
Теперь попробуйте подключиться с Windows-компьютера к Linux:
ssh user@192.168.0.100
Или с Linux к Windows (если на Windows установлен SSH-клиент):
ssh user@192.168.0.101
Дополнительные проверки и решения для роутера Zyxel
Если предыдущие шаги не решили проблему, выполните дополнительные проверки в роутере Zyxel:
- Проверьте настройки DHCP: Убедитесь, что DHCP-сервер правильно выдает адреса и что статические IP-адреса не конфликтуют
- Проверьте разделение VLAN: В некоторых роутерах Wi-Fi и Ethernet могут быть разделены на разные VLAN
- Проверьте изоляцию портов: Отключите изоляцию портов, если она включена
- Обновите прошивку роутера: Проверьте, доступна ли новая прошивка для вашего Zyxel
Также стоит проверить, не блокирует ли роутер определенные порты или протоколы. В интерфейсе администратора Zyxel найдите раздел “Правила фильтрации” или “Firewall” и убедитесь, что нет правил, блокирующих трафик между устройствами в локальной сети.
Источники
- Network configuration ArchWiki — Руководство по сетевой конфигурации в Arch Linux: https://wiki.archlinux.org/title/Network_configuration
- Uncomplicated Firewall ArchWiki — Документация по UFW для Linux: https://wiki.archlinux.org/title/Uncomplicated_Firewall
- OpenSSH Server Microsoft Learn — Официальная документация по SSH серверу Windows: https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
Заключение
Проблема, когда два компьютера в одной локальной сети не видят друг друга, обычно решается систематическим подходом. В вашем случае с ноутбуком Arch Linux и компьютером Windows, начните с базовой проверки сетевой конфигурации, затем настройте статические IP-адреса, проверьте брандмауэры и настройте SSH-соединение. Основные причины таких проблем - брандмауэр блокирует подключение, неправильные настройки статического IP или конфликты в роутере Zyxel. Следуя этим шагам, вы должны восстановить видимость компьютеров в локальной сети и установить SSH-соединение между ними.
Проблема обычно возникает из‑за того, что один из компьютеров не получает корректный IP‑адрес, шлюз или имеет включённый брандмауэр, блокирующий ICMP/SSH. Сначала проверьте, что интерфейс обоих устройств включён и имеет IP‑адрес в одной подсети: ip address show (Linux) и ipconfig (Windows). Убедитесь, что таблица маршрутизации содержит правильный default‑gateway: ip route show и route print. Проверьте, что оба компьютера могут пинговать локальный шлюз и друг друга: ping <gateway> и ping <IP_другого_компьютера>. Если ping проходит, но SSH не работает, откройте на Linux sudo ufw allow ssh и на Windows включите входящие правила для порта 22 в брандмауэре. Убедитесь, что в роутере нет разделения Wi‑Fi и Ethernet на разные VLAN или подсети; если статические IP заданы вручную, проверьте, что они не конфликтуют. Наконец, проверьте, что в обеих системах включён DHCP‑клиент или вручную прописаны DNS‑серверы, иначе разрешение имён может не работать.
УФВ по умолчанию блокирует все входящие соединения, поэтому два компьютера не видят друг друга. Сначала убедитесь, что ufw.service включён и iptables.service отключён. Затем добавьте правила, позволяющие трафик из локальной сети и SSH: ufw allow from 192.168.0.0/24 и ufw allow ssh или ufw allow 22/tcp. Проверьте состояние: ufw status. Если пинг всё ещё не проходит, откройте ICMP‑запросы, изменив /etc/ufw/before.rules: -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT. После изменения перезапустите ufw. Если используется VPN, поменяйте DEFAULT_FORWARD_POLICY в /etc/default/ufw на ACCEPT.

При установке OpenSSH Server в Windows автоматически создается правило брандмауэра OpenSSH-Server-In-TCP, открывающее порт 22, которое должно быть включено для успешного SSH-соединения. Если правило не включено, соединения SSH будут отклоняться брандмауэром Windows. Проверьте, что правило включено и порт 22 открыт в брандмауэре. Убедитесь, что оба компьютера находятся в одной подсети и что на Linux запущен sshd-сервис. После включения правила и проверки сети вы сможете подключиться по SSH.