У меня есть куча профилей OpenVPN, которые могут подключаться к сети моих клиентов. Я использую последнюю версию Windows OpenVPN GUI.
Некоторые из этих профилей вызывают проблемы, поскольку VPN-подключение определяет маршруты и разрешение имен для использования исключительно клиентской сети. Это проблема, поскольку у меня есть доступ только к белому списку серверов (DNS-сервер, интернет-шлюз не входят в этот список).
Поэтому я ищу способ настроить свое VPN-подключение так, чтобы оно использовалось только для определенной подсети, и избежать разрешения имен с помощью DNS-сервера клиента.
Есть ли универсальный способ сделать это?
Я попытался добавить это в свой профиль:
pull-filter ignore "dhcp-option DNS"
pull-filter ignore "route"
route-nopull
route 10.0.0.0 255.255.0.0
Идея состоит в том, чтобы отключить все маршруты и опции, поступающие с сервера, и вручную добавить маршрут в подсеть клиента.
Однако этого все еще недостаточно.
Маршрут печати перед VPN-подключением:
Destination réseau Masque réseau Adr. passerelle Adr. interface Métrique
0.0.0.0 0.0.0.0 192.168.20.254 192.168.20.58 55
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.20.0 255.255.255.0 On-link 192.168.20.58 311
192.168.20.58 255.255.255.255 On-link 192.168.20.58 311
192.168.20.255 255.255.255.255 On-link 192.168.20.58 311
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.20.58 311
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.20.58 311
nslookup
показывает, что ns — 192.168.20.254 (это мой локальный маршрутизатор).
После открытия VPN-подключения:
Destination réseau Masque réseau Adr. passerelle Adr. interface Métrique
0.0.0.0 0.0.0.0 192.168.20.254 192.168.20.58 55
0.0.0.0 128.0.0.0 10.100.100.5 10.100.100.6 291
10.0.0.0 255.255.0.0 10.100.100.5 10.100.100.6 291
10.100.100.4 255.255.255.252 On-link 10.100.100.6 291
10.100.100.6 255.255.255.255 On-link 10.100.100.6 291
10.100.100.7 255.255.255.255 On-link 10.100.100.6 291
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
128.0.0.0 128.0.0.0 10.100.100.5 10.100.100.6 291
185.118.18.66 255.255.255.255 192.168.20.254 192.168.20.58 311
192.168.20.0 255.255.255.0 On-link 192.168.20.58 311
192.168.20.58 255.255.255.255 On-link 192.168.20.58 311
192.168.20.255 255.255.255.255 On-link 192.168.20.58 311
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 10.100.100.6 291
224.0.0.0 240.0.0.0 On-link 192.168.20.58 311
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 10.100.100.6 291
255.255.255.255 255.255.255.255 On-link 192.168.20.58 311
===========================================================================
похоже, маршруты все еще добавляются.
Я могу проверить неправильное поведение с помощью:
PS C:\WINDOWS\system32> Find-NetRoute -RemoteIPAddress 8.8.8.8 | Select IPAddress,NextHop
IPAddress NextHop
--------- -------
10.100.100.6
10.100.100.5
Заранее спасибо за помощь
решение1
Дополнительные маршруты являются результатом этой redirect-gateway
опции.
Это добавляет 3 маршрута, первые два вместе охватывают весь Интернет и перенаправляют в туннель:
dest 0.0.0.0 mask 128.0.0.0 gw 10.100.100.5
dest 128.0.0.0 mask 128.0.0.0 gw 10.100.100.5
Они обеспечивают «лучшее» соответствие маршрутизации, чем шлюз по умолчанию (с маской ноль) для всех интернет-адресов.
Третий перенаправляет реальный IP-адрес конечной точки VPN на использование исходного шлюза и будет использоваться для зашифрованных пакетов VPN:
dest 185.118.18.66 mask 255.255.255.255 gw 192.168.20.254
Этот хитрый трюк позволяет настроить VPN, не трогая маршрут шлюза по умолчанию.