CGNAT and shared public addresses
Carrier-grade NAT places many subscribers behind one public IPv4 and commonly uses 100.64.0.0/10 internally. Matching exit addresses therefore do not prove a single person or device.

This WorldProxy guide applies RFC 6598 to a controlled proxy workflow and separates documented behavior from product-specific assumptions.
Core idea
Carrier-grade NAT places many subscribers behind one public IPv4 and commonly uses 100.64.0.0/10 internally. Matching exit addresses therefore do not prove a single person or device.
For CGNAT and shared public addresses, distinguish device, router, proxy endpoint, exit IP, ASN, and geolocation estimate. They describe different points in a network. A database may return a regional center or carrier gateway, so an IP result must never be presented as a person's exact physical address.
What the primary source establishes
The practical goal is to verify cgnat and shared public addresses in one controlled, authorized workflow and separate documented behavior from client-specific assumptions.
The primary source, RFC 6598, defines the technical baseline but not every client and provider configuration. Read the normative behavior with its version and then verify your implementation. Treat anything beyond the source as a product feature that needs separate confirmation.
Controlled lab
On a test mobile link, compare the interface address, any 100.64.0.0/10 address, and the public address seen by your endpoint. Reconnect several times and observe gateway changes without trying to identify other subscribers.
Step-by-step verification
For mobile tests, record time, exit IP, carrier, and your own session identifier. Use application authentication rather than treating the IP as a user key.
Draw the client-to-endpoint path and mark DNS, NAT, and proxying. Capture direct and proxied address family, exit IP, ASN, claimed region, and time. Repeat mobile-network runs because carrier gateways may change without physical movement.
Compare product location, actual ASN, and at least two independent databases. City disagreement can fit normal accuracy limits. Verify country before a strict-country session; use device location with explicit permission when a workflow truly needs coordinates.
- Inspect interface range
- Measure public IP
- Reconnect and repeat
- Check carrier ASN
Evidence to retain
Record time, network type, internal address, public IP, reconnection, ASN, and carrier. Never use the address as a person identifier.
Record a masked IP or internal ID, address family, ASN, organization, network type, database, and update date. Collect evidence in one time window. Do not publish connection credentials or unnecessary coordinates.
Define report columns and time format before the run. A result without context becomes a guess: the address, cache state, and changed condition are unknown. Record controlled failures as well as successes so the check proves that it can distinguish states.
Interpreting the result
The location may point to a carrier gateway in a nearby city, not to subscriber coordinates.
A shared address does not prove a commercial proxy. CGNAT is a carrier function, and two observations with one IP need not be one user.
One successful run confirms only one client, route, and moment. Repeat while changing one variable and state the limits. When observation conflicts with documentation, rule out cache, client version, and intermediaries before creating a reproducible support case.
Worked decision process
Draw CGNAT and shared public addresses as device, gateway, public NAT, proxy entrance, proxy exit, DNS, and origin, with address family and measurement point. This prevents local addresses from entering remote allowlists and separates entry-server location from exit geography.
Correlate geography with ASN and observation time. Databases age differently, carrier gateways are shared, and anycast changes paths. A city mismatch is not proof of failure; verify country and exit IP in the same session as the application request.
Troubleshoot local DNS and routes, entry connectivity, authentication, exit family, and destination reachability in order. Ping does not test HTTP CONNECT. After a fix, repeat the original small scenario with the same DNS and destination.
Common mistakes
Do not allowlist 192.168.x.x on an external service, confuse CGNAT with a proxy, or treat an ISP label as proof of a mobile device. IPv6 and DNS handling also vary by client, so validate the full path with the actual application.
Stop when errors rise, a source returns a limit, the task would require bypassing protection, or secrets enter logs. Save sanitized diagnostics and correct the cause first. More concurrency or another IP can hide the fault and add load without improving evidence.
Rollout and maintenance criteria
Define the decision boundary before rollout: which observation permits continuation, which requires review, and which stops the workflow. Record acceptable error ratio, maximum wait, and the owner of every exception so a temporary failure cannot silently become permanent configuration.
Review real load, cost, and quality after the first week. Schedule a small control after client, proxy-service, or network changes. Archive outdated instructions with their replacement date and reason so operators do not follow conflicting configurations.
Operational checklist
Turn the successful experiment into a short procedure covering owner, safe configuration, limits, and stop conditions. Every run needs a terminal status. After browser, library, or network changes, run a small control before the main queue.
- Every route address is labeled
- DNS and NAT are separate
- Direct and proxy exits are compared
- Database date is known
- City is not treated as exact
- Client compatibility is verified
Sources
This WorldProxy article is original. Links point to the primary documents used for fact checking.
Choose a proxy for your workflow
Compare proxy families and browse all countries. Availability and price are checked before an item enters the cart.