Routing

CGNAT如何在客戶端路由?

  • February 14, 2022

在測試 Zscaler POC 時(從安全形度來看),我很難理解CGNAT是如何在客戶端上路由的。

我主要關心(和問題)是100.64.xy 路由不在路由表中(Windows 10)。預設網關位於我的本地網路網關上,因此流量也無法到達那裡。

CGNAT 流量的路由方式有什麼特別之處?

客戶端的路由表是

Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
         0.0.0.0          0.0.0.0     192.168.43.1   192.168.43.107     50
       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
    172.22.208.0    255.255.240.0         On-link      172.22.208.1    271
    172.22.208.1  255.255.255.255         On-link      172.22.208.1    271
  172.22.223.255  255.255.255.255         On-link      172.22.208.1    271
    192.168.43.0    255.255.255.0         On-link    192.168.43.107    306
  192.168.43.107  255.255.255.255         On-link    192.168.43.107    306
  192.168.43.255  255.255.255.255         On-link    192.168.43.107    306
       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.43.107    306
       224.0.0.0        240.0.0.0         On-link      172.22.208.1    271
 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.43.107    306
 255.255.255.255  255.255.255.255         On-link      172.22.208.1    271

下面是在 zscaler 上設置的內部公司服務的解析(因此通過 CGNAT 路由)。zscaler 之外的同名指向一個經典的 RFC1918 地址。

> nslookup internalcorporatesite.com
Server:  xxx.com
Address:  192.168.43.1

Non-authoritative answer:
Name:    internalcorporatesite.com
Address:  100.64.1.9

請注意,預設網關192.168.43.1不知道 CGNAT - 它是一個本地網路,並且 zscaler 使用 CGNAT。

它使用過濾器驅動程序從網路堆棧中提取數據包並重定向它。因此沒有用於 zScaler 連接的虛擬 NIC。

使用過濾器驅動程序選項,應用程序不會創建虛擬網路適配器。相反,它使用 Windows 過濾來擷取流量並將其轉發到雲。這允許對流量進行更精細的控制,並減少管理系統上網路適配器的應用程序的互操作性問題。

這也意味著通過 ZPA 的目的地不會出現在路由表中。

zScaler 並不真正使用 CGNAT。它只需要一個地址範圍,該地址範圍不應該有發往它的合法流量,它可以劫持和重定向,而後果最小。數據包進入 zScaler 後如何處理基本上是他們的秘訣。

引用自:https://serverfault.com/questions/1093624