Невозможно подключиться к сетям за сервером Wireguard VPN. Конфигурация Split-Tunneligt на клиенте

У меня есть сервер Wireguard в моей корпоративной сети.

Я могу успешно подключиться к нему из Интернета (используя публикацию порта).

Сервер Wireguard имеет два интерфейса:

      1: eth0: 192.168.30.100/24 
2: wg0: 192.168.99.1/24 

Вотip routeвыход:

      default via 192.168.30.1 dev eth0 proto static
192.168.30.0/24 dev eth0 proto kernel scope link src 192.168.30.100
192.168.99.0/24 dev wg0 proto kernel scope link src 192.168.99.1

Вот сервер Wireguardnetplan:

      network:
 version: 2
 renderer: networkd
 ethernets:
    eth0:
      addresses:
      - 192.168.30.100/24
      gateway4: 192.168.30.1

Клиент Wireguard (Windows) имеет настройку раздельного туннелирования, предназначенную для доступа к корпоративным сетям через сервер Wireguard, а все остальное — через обычный шлюз. Вот настройка клиента Wireguard:

      [Interface]
PrivateKey = ***
Address = 192.168.99.201/32
PostUp = powershell -command "$wgInterface = Get-NetAdapter -Name WG-server; 
route add 0.0.0.0 mask 0.0.0.0 0.0.0.0 if $wgInterface.ifIndex metric 9999; 
Set-NetIPInterface -InterfaceIndex $wgInterface.ifIndex -InterfaceMetric 9999; 
route add 192.168.99.0/24 0.0.0.0 if $wgInterface.ifIndex; 
route add 192.168.30.0/24 192.168.99.1 if $wgInterface.ifIndex;"

PreDown = powershell -command "$wgInterface = Get-NetAdapter -Name WG-server; 
route delete 0.0.0.0 mask 0.0.0.0 0.0.0.0 if $wgInterface.ifIndex metric 9999;
Set-NetIPInterface -InterfaceIndex $wgInterface.ifIndex -InterfaceMetric 9999; 
route delete 192.168.99.0/24 0.0.0.0 if $wgInterface.ifIndex; 
route delete 192.168.30.0/24 192.168.99.1 if $wgInterface.ifIndex;"
Table = off

[Peer]
PublicKey = ***
AllowedIPs = 0.0.0.0/0
Endpoint = 37.228.89.163:4226

Итак, после этого у меня на клиенте Wireguard (Windows) получилась вот такая таблица маршрутизации:

      Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.124     55
          0.0.0.0          0.0.0.0         On-link    192.168.99.201  19998
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
      192.168.0.0    255.255.255.0         On-link     192.168.0.124    311
    192.168.0.124  255.255.255.255         On-link     192.168.0.124    311
    192.168.0.255  255.255.255.255         On-link     192.168.0.124    311
     192.168.30.0    255.255.255.0     192.168.99.1   192.168.99.201  10000
     192.168.99.0    255.255.255.0         On-link    192.168.99.201  10000
   192.168.99.201  255.255.255.255         On-link    192.168.99.201  10255
   192.168.99.255  255.255.255.255         On-link    192.168.99.201  10255
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link     192.168.0.124    311
        224.0.0.0        240.0.0.0         On-link    192.168.99.201  10255
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link     192.168.0.124    311
  255.255.255.255  255.255.255.255         On-link    192.168.99.201  10255

Кстати, вот конфиг интерфейсов на клиенте:

      PS C:\Windows\system32> netsh interface ip show address

Configuration for interface "Wi-Fi"
    DHCP enabled:                         Yes
    IP Address:                           192.168.0.124
    Subnet Prefix:                        192.168.0.0/24 (mask 255.255.255.0)
    Default Gateway:                      192.168.0.1
    Gateway Metric:                       0
    InterfaceMetric:                      55

Configuration for interface "WG-server"
    DHCP enabled:                         No
    IP Address:                           192.168.99.201
    Subnet Prefix:                        192.168.99.201/32 (mask 255.255.255.255)
    Default Gateway:                      0.0.0.0
    Gateway Metric:                       9999
    InterfaceMetric:                      9999

Итак... с сервера Wireguard я могуping:

      192.168.30.1 - internal corporate gateway
192.168.30.99 - some internal corporate host
192.168.99.201 - wireguard client

С корпоративного шлюза (ip =) я могу выполнить пинг (со статическим маршрутом до192.168.99.0/24):

      192.168.30.100 - wireguard eth0 interface (amazing, right? =))
192.168.99.1 - wireguard wg0 interface

Но я НЕ МОГУ пинговать192.168.99.201- Клиент Wireguard.

Кроме того, я могу пинговать из клиента Wireguarg:

      192.168.99.1 - wg server
192.168.30.100 - wg eth0 interface

Но я НЕ МОГУ пинговать192.168.30.1или любые другие хосты в корпоративной сети.

Кажется, сервер Wireguard неправильно маршрутизирует трафик, или я где-то допустил ошибку.

Вот тебе картинка)net setup

Есть идеи?

1 ответ

Я вообще ничего не знаю о Wireguard, но обычные настройки VPN позволяют раздельное туннелирование с использованием Add-VPNConnectionRoute. Не могли бы вы проверить это? Заранее спасибо. "="

Другие вопросы по тегам