Предотвращение утечки трафика в обход VPN-соединения в Windows

1. Определение текущего шлюза по умолчанию
2. Определение IP-адреса входящего сервера VPN-цепи
3. Настройка маршрутизации трафика исключительно через VPN-подключение
4. Сброс настроек маршрутизации

1. Определение текущего шлюза

Для определения текущего интернет-шлюза по умолчанию следует воспользоваться командой ipconfig в Командной строке Windows. IP указанный в поле Основной шлюз сетевого соединения с интернетом и будет являться IP-адресом шлюза по умолчанию.
На скриншоте выше шлюзом по умолчанию является 192.168.0.1, однако, в зависимости от настроек ОС и конфигурации Сети IP-адрес шлюза может быть другим.

2. Определение IP входящего VPN-сервера

Прежде чем прокинуть весь трафик через VPN-цепь и запретить трафику иные пути, следует определить IP-адрес входящего сервера выбранной VPN-цепи.
Только для одиночных (Single) цепей IP входящего сервера (единственного сервера в VPN-цепи) равен выходному IP-адресу VPN-цепи, для остальных видов VPN-цепей IP входящего сервера (сервера подключения) отличается от выходного IP-адреса полученного при подключении к данной цепи.
Для любой VPN-цепи независимо от протокола подключения (OpenVPN или SoftEther) и типа (Single, Double и др.) IP-адрес входящего VPN-сервера явно или посредством домена зашит в файле конфигурации конкретной цепи.
Во всех списках и архивах DeepWebVPN, за исключением архивов с именем ip-all.zip (OpenVPN ip-all.zip, SoftEther ip-all.zip), на сервер подключения указывает домен, в архивах ip-all.zip явно прописан IP-адрес входящего сервера.
Чтобы узнать хост подключения достаточно открыть конфигурационный файл VPN-цепи через приложение Блокнот. IP/домен подключения в OpenVPN-конфигах прописан как параметр remote, в SoftEther-конфигах как параметр string Hostname.
Для примера в конфиге одиночной OpenVPN-цепи с RSA-ключом домен VPN-сервера прописан в строке следующего вида:
remote xxx.example-server.domain.com 1194
В данном примере домен будет равен xxx.example-server.domain.com.
Для примера в конфиге любой SoftEther-цепи (как одиночной, так и двойной и прочих видов) домен VPN-сервера прописан в строке следующего вида:
string Hostname xxx.example-server.domain.com/tcp
В данном примере домен будет равен xxx.example-server.domain.com.
Чтобы узнать на какой IP-адрес указывает домен достаточно открыть Командную строку Windows и ввести команду ping указав домен в качестве параметра.
На скриншоте выше домену example.com соответствует IP-адрес 93.184.216.34.

3. Настройка маршрутизации трафика исключительно через VPN-подключение

Выбрав VPN-цепь для подключения и перед настройкой маршрутизации следует, в соответствии с данными ниже, узнать шлюз в локальной сети VPN (в VPN-туннеле).
Шлюз VPN-туннеля DeepWebVPN для single-rsa – 10.100.0.1, single-ecc – 10.101.0.1, single-ssl – 192.168.234.1, double-rsa – 10.110.0.1, double-ecc – 10.111.0.1, double-ssl – 192.168.244.1.
Определив интернет-шлюз по умолчанию, узнав IP-адрес входящего VPN-сервера выбранной цепи, а также успешно подключившись к данной VPN-цепи, можно перейти к настройке маршрутизации запрещающей обход VPN-подключения. Для этого достаточно в Командной строке Windows, запущенной от имени администратора, определить входящий VPN-сервер как шлюз по умолчанию.
В листингах ниже xxx.xxx.xxx.xxx – IP-адрес входящего VPN-сервера, yyy.yyy.yyy.yyy – шлюз по умолчанию, zzz.zzz.zzz.zzz – шлюз VPN-туннеля.
route delete 0.0.0.0 mask 0.0.0.0
route add -p xxx.xxx.xxx.xxx mask 255.255.255.0 yyy.yyy.yyy.yyy
route add -p 0.0.0.0 mask 0.0.0.0 zzz.zzz.zzz.zzz
На скриншоте пример для цепи double-rsa-lu2-de1, IP-адрес 104.244.76.31 принадлежит серверу LU2 (IP-адрес сервера может измениться), 192.168.0.1 – шлюз по умолчанию, 10.110.0.1 – шлюз VPN-туннеля.

4. Сброс настроек маршрутизации

Чтобы привести маршрутизацию к виду по умолчанию достаточно в Командной строке Windows, запущенной от администратора, сбросить правила введенные в пункте 3.
route delete xxx.xxx.xxx.xxx mask 255.255.255.0 yyy.yyy.yyy.yyy
route delete 0.0.0.0 mask 0.0.0.0 zzz.zzz.zzz.zzz
route add -p 0.0.0.0 mask 0.0.0.0 yyy.yyy.yyy.yyy
На скриншоте пример сброса маршрутизации введенной для цепи double-rsa-lu2-de1, где IP-адрес 104.244.76.31 принадлежит серверу LU2 (IP-адрес сервера может измениться), 192.168.0.1 – шлюз по умолчанию, 10.110.0.1 – шлюз VPN-туннеля.