When testing a Zscaler POC (from a security perspective), I had a hard time understanding how CGNAT is routed on the client.
My main concern (and question) is that the 100.64.x.y route is not in the routing table (Windows 10). The default gateway is on my local network gateway so that traffic cannot go there either.
What is special about how CGNAT traffic is routed?
The routing table on the client is
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
Below is the resolution of an internal corporate service that is set up on zscaler (and therefore routed though the CGNAT). The same name outside of zscaler points to a classical RFC1918 address.
> nslookup internalcorporatesite.com
Server: xxx.com
Address: 192.168.43.1
Non-authoritative answer:
Name: internalcorporatesite.com
Address: 100.64.1.9
Please note that the default gateway 192.168.43.1
has no knowledge of the CGNAT - it is a local network and the CGNAT is used by zscaler.