У меня есть ситуация, когда наши клиенты Windows 7 (Windows 10 работает нормально) периодически испытывают проблемы с подключением при подключении через нашу VPN Checkpoint Endpoint Connect. Проблема проявляется в добавлении более конкретного маршрута для определенного хоста в нашей внутренней сети, который пытается направить трафик за пределы VPN, хотя этого не должно быть.
Пользователь A находится дома в частной сети 192.168.1.100. Этот пользователь подключается к корпоративной сети через Checkpoint VPN и получает адрес частной сети 10.1.7.100 для указанного туннеля. Этот экземпляр соединения является гибридным типом, когда трафик, предназначенный для общедоступного IP-пространства, проходит через сеть 192.168.1.0/24 и преобразуется через NAT в общедоступное IP-пространство, а трафик, предназначенный для наших частных ресурсов, проходит через VPN. Это работает почти для всего, что мы используем, кроме одного приложения .net. Это приложение использует HTTP REST для связи с внутренним сервером в 10.1.4.50.
У нас есть маршрут в конфигурации VPN-клиента для 10.1.4.0/24, который отправляет весь трафик 10.1.4 с адреса VPN-шлюза на другой стороне нашего туннеля с метрикой 1.
Когда возникает проблема, мы видим изменение таблицы маршрутизации, которое вставляет более конкретный маршрут только для IP-адреса конечных серверов (в данном случае 10.1.4.50) с метрикой 11 и шлюзом 192.168.1.1 (это gw по умолчанию для базовый интерфейс, поверх которого находится туннель). Когда этот маршрут становится активным, все дает сбой для этого целевого сервера только потому, что он маршрутизируется за пределы туннеля. Другой трафик, предназначенный для других хостов в любой из наших внутренних сетей, по-прежнему работает нормально, включая другие хосты на 10.1.4.0/24.
Мы проконсультировались с Checkpoint, и они говорят, что их клиент не вставляет ложные маршруты в стек IP, как этот, после настройки туннеля, поэтому это должно быть что-то еще. Но найти то, что вставляет указанный маршрут и почему, оказывается очень сложно.
Я использовал некоторые утилиты от NirSoft для просмотра изменений маршрута в реальном времени, и я также исследовал некоторые утилиты C ++, которые используют NotifyRouteChange для отображения активности изменения маршрута, но ни один из них не дает мне уровня детализации, который мне действительно нужен, а именно найти, какой процесс фактически сделал вставку маршрута.
Может ли кто-нибудь сказать мне, как найти имя или идентификатор процесса, который изменяет маршрут? Или порекомендовать альтернативу, чтобы определить, какой процесс на самом деле плохо влияет на мои таблицы маршрутизации? ЕСЛИ это действительно программное обеспечение Checkpoints VPN, я могу решить проблему с ними. Но без других доказательств я несколько застрял.
Спасибо за любую помощь!