
我曾經遇到這樣的情況:我們的 Windows 7 用戶端(Windows 10 運作正常)在透過我們的 Checkpoint Endpoint Connect VPN 連線時出現間歇性連線問題。該問題表現為我們內部網路上的特定主機添加了更具體的路由,該主機試圖在不應該的情況下將流量路由到 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 流量以度量 1 傳送出隧道另一側的 VPN 閘道位址。
當出現問題時,我們會看到路由表發生更改,僅為目標伺服器 IP(在本例中為 10.1.4.50)插入更具體的路由,度量為 11,網關為 192.168.1.1(這是預設閘道)隧道位於其上的基本介面)。當此路由變為活動狀態時,該目標伺服器的所有操作都會失敗,只是因為它是在隧道之外路由的。發送至我們任何內部網路上其他主機的其他流量仍然可以正常運作,包括 10.1.4.0/24 上的其他主機。
我們諮詢了 Checkpoint,他們說一旦建立了隧道,他們的客戶端就不會像這樣將虛假路由插入 IP 堆疊,所以它一定是其他東西。但事實證明,找出插入上述路線的內容及其原因非常困難。
我一直在使用 NirSoft 的一些實用程序來查看實時路線更改,並且還探索了一些使用 NotifyRouteChange 來顯示路線更改活動的 C++ 實用程序,但這些都沒有給我真正需要的詳細程度,即找到哪個進程實際上完成了路線的插入。
有人可以告訴我如何找到正在進行路由修改的進程名稱或ID嗎?或者推荐一個替代方案來確定哪個進程實際上對我的路由表做了壞事?如果確實是 Checkpoints VPN 軟體,我可以強制他們解決這個問題。但沒有其他證據,我有點陷入困境。
謝謝你的幫忙!