Назад | Перейти на главную страницу

Wireguard в Windows 10 - проблемы с удаленным доступом к локальной сети

У меня есть рабочая локальная сеть (192.168.0.0/24) с множеством компьютеров с Windows 10 и Linux, к которым мне нужен доступ откуда угодно. Поскольку он находится за NAT ISP и недоступен извне, мне пришлось организовать глобально доступный удаленный сервер (my_server.my_domain.com) на Arch Linux k: 5.4 с Wireguard VPN (10.11.12.0/24) на борту. Вот картинка:

ТАБЛИЦА СОЕДИНЕНИЙ

Каждое личное устройство, которое я использую в качестве клиентов VNC или SSH для доступа к рабочим машинам, подключается к VPN индивидуально, и у меня также есть одна машина с Windows 10 Home Edition на работе с настроенным подключением Wireguard. На диаграмме это показано пунктирными линиями. Все сетевые соединения между VPN-клиентами в подсети VPN работают как шарм: я могу легко подключиться с личного хоста (10.11.12.21) к упомянутому рабочему хосту (10.11.12.11).

Проблема в том, чтобы получить доступ к другим машинам в рабочей LAN с удаленных хостов. Я настроил переадресацию IP через regedit на рабочем хосте, подключенном к Wireguard (назовем его «шлюз WG») и статическому маршруту (10.11.12.0/24 через 192.168.0.11) на рабочем LAN / WAN маршрутизаторе. Пинг удаленного устройства с рабочего хоста, не подключенного напрямую к Wireshark (рабочий хост №2), в порядке (потеря пакетов отсутствует). Тем не менее, я не могу подключиться, скажем, к 192.168.0.12/24 с удаленного личного устройства. Tracerouting показывает, что пакеты теряются после шлюза WG. Я предполагаю, что проблема заключается в работе брандмауэров хостов Win10 (хотя я установил явное настраиваемое правило брандмауэра Защитника Windows «Разрешить весь трафик из и в подсеть 10.11.12.0/24»). При попытке подключиться к VNC 192.168.0.12:5900 истекло время ожидания, и анализ трафика Wireshark на шлюзе WG показывает, что возвращаются сообщения ICMP «192.168.0.12 -> 10.11.12.21 Назначение недоступно (порт недоступен)», хотя я могу использовать VNC для 5900 на эту машину из локальной сети легко. Я не могу настроить сетевой принтер на удаленном персональном устройстве, хотя подключение к веб-интерфейсу принтера через его порт 80 из браузера удаленного персонального устройства волшебным образом работает!

Пожалуйста, помогите все это настроить правильно.

Незначительная проблема №2: клиент Wireguard для Windows не добавляет дополнительные маршруты в соответствии со второй и последующими сетями AllowedIPs своей конфигурации (AllowedIPs = 10.11.12.0/24,192.168.0.0/24) в таблицу маршрутизации устройства, в то время как Linux делает. Мне все время приходится настраивать это вручную через Powershell на личных устройствах с Windows, и это совсем не удобно. Это ошибка или просто недостаток функции?


Конфиги Wireguard:

Сервер:

[Interface]
Address = 10.11.12.1/24
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 60000
PrivateKey = [KEY]

## Personal Host 1
[Peer]
PublicKey = [KEY]
AllowedIPs = 10.11.12.21/32

## WG gateway at work
[Peer]
PublicKey = [KEY]
AllowedIPs = 10.11.12.11/32
AllowedIPs = 192.168.0.0/24

Персональный хост 1 (Win 10):

[Interface]
Address = 10.11.12.21/24
PrivateKey = [KEY]

[Peer]
PublicKey = [KEY]
AllowedIPs = 10.11.12.0/24,192.168.0.0/24
Endpoint = my_server.my_domain.com:60000
PersistentKeepAlive = 20

Шлюз WG в работе (Win 10):

[Interface]
Address = 10.11.12.11/24
PrivateKey = [KEY]

[Peer]
PublicKey = [KEY]
AllowedIPs = 10.11.12.0/24
Endpoint = my_server.my_domain.com:60000
PersistentKeepAlive = 20

Соответствующий срез системной таблицы маршрутизации шлюза WG (печать маршрута):

          0.0.0.0          0.0.0.0      192.168.0.1     192.168.0.11     25
       10.11.12.0    255.255.255.0         On-link       10.11.12.11    261
      10.11.12.11  255.255.255.255         On-link       10.11.12.11    261
     10.11.12.255  255.255.255.255         On-link       10.11.12.11    261
      192.168.0.0    255.255.255.0         On-link      192.168.0.11    281
     192.168.0.11  255.255.255.255         On-link      192.168.0.11    281
    192.168.0.255  255.255.255.255         On-link      192.168.0.11    281