Wi-Fi & Network
Aussie Broadband CGNAT: Tailscale for remote access
On Aussie Broadband and cannot reach Plex, your NAS or Home Assistant from outside? Confirm CGNAT, use the free opt-out or a $5 static IP, or skip ports with Tailscale.
Problem summary
Aussie Broadband turns CGNAT on by default for residential nbn services, so a port forward you set on your own router never receives inbound traffic. Aussie Broadband's help centre documents two ways out: ask support to opt you out of CGNAT (no extra cost, a phone call) or add a static IP bolt-on ($5 a month, self-service in MyAussie). Both restore a real public IPv4, but Aussie Broadband also blocks inbound TCP 80 and 443, so a reverse proxy on the standard web ports still fails. Tailscale sidesteps all of that: every connection starts outbound through a DERP relay, then upgrades to a direct link when NAT traversal succeeds, and Tailscale's own engineers describe CGNAT as a run-of-the-mill double NAT their traversal handles. This page confirms CGNAT on an Aussie Broadband connection, sets out the ISP options with what they cost, then walks through Tailscale for a NAS, Home Assistant or a self-hosted app, and the Plex-specific path (Relay versus Tailscale).
Read the WAN IPv4 on your router's status or Internet page.
Router admin > Internet/WAN status; then `curl -4 ifconfig.me` from a LAN device
A real public address, or an address between 100.64.0.0 and 100.127.255.255.
Stop if the NAS admin page is reachable from the internet without Tailscale: that means a port is already exposed and should be closed before continuing.
Layer path
Step-by-step runbook
Start here. Do each check in order, compare it to the expected result, and stop when the evidence explains the failure or the safe stop point applies.
Prove it is CGNAT, not double NAT or a blocked port
Check: Router WAN address versus the public address, plus the traceroute above. Note whether the WAN address is 100.64 to 100.127.x (CGNAT) or private (double NAT).
Expected result: One clear verdict: CGNAT, double NAT, or a public address with a blocked port.
If not: Double NAT: bridge the extra router first and re-test. Public address but port closed: check Aussie Broadband's blocked-port list before anything else.
Write down who needs access and on which port
Check: Only your own devices (admin, files, Home Assistant, Plex for the household) versus a public URL for other people; and whether the service can use a high port.
Expected result: A short list that maps each need to Tailscale (own devices), the ISP opt-out or static IP (public inbound on an allowed port), or a tunnel (public URL on 80/443).
If not: If everything on the list is your own devices, stop here and go to the Tailscale steps; no ISP call is needed.
Install Tailscale at home and on the remote devices
Check: Synology: Package Center > Tailscale. Unraid: Apps > Tailscale. TrueNAS: Apps catalog > Tailscale. Or a Linux box, Mac mini or Windows PC that stays on. Sign every device in to the same account (the free Personal plan covers a household).
Expected result: `tailscale status` on each device lists the others with a 100.x.y.z address; a ping between them succeeds.
If not: A NAS package that runs but cannot be reached usually needs its host-side setup step (on Synology, the vendor's boot-time script for TUN). Check the package notes before assuming CGNAT is the cause.
Safe stop: Stop if the NAS admin page is reachable from the internet without Tailscale: that means a port is already exposed and should be closed before continuing.
Add a subnet router for devices that cannot run Tailscale
Check: On the always-on home device: `sudo tailscale set --advertise-routes=<your LAN>/24`, then approve the route in the admin console. Linux clients add `--accept-routes`.
Expected result: From mobile data, the remote device reaches LAN addresses such as a printer, a camera NVR or an older NAS by their normal 192.168.x address.
If not: No route: check approval and the access rule. Do not widen the range to 0.0.0.0/0 to make it work; that turns the device into an exit node and routes all internet traffic through home.
Wire Plex through the tailnet
Check: On the Plex server, Settings > Network > Custom server access URLs: `http://<tailscale-ip>:32400`. Leave Enable Relay on. Install Tailscale on the phones and TVs that stream away from home.
Expected result: Remote playback at the same quality as at home; the app no longer reports Relay.
If not: Playback still capped: the client is not on the tailnet, or the remote video paywall applies (Plex Pass or Remote Watch Pass), which no network change fixes.
Only if you need public inbound: take the Aussie Broadband opt-out or static IP
Check: Free: call 1300 880 905 and ask for CGNAT to be disabled, then power cycle the router. Fixed address: add Static IP ($5 a month) from Boltons in the MyAussie app or portal. Confirm the WAN address is now public.
Expected result: Router WAN address matches the public-IP check; a port forward on an allowed high port answers from mobile data.
If not: 80 or 443 still closed after the opt-out: that is Aussie Broadband's inbound block, not CGNAT. Use a high port or an outbound-only tunnel.
Safe stop: Stop before forwarding admin interfaces (NAS DSM, router pages, Home Assistant without MFA) to the internet. The opt-out makes them reachable by anyone; keep them behind Tailscale.
Confirm the path and record the state
Check: From mobile data: `tailscale status` shows `direct` (or a known relay), the NAS share mounts, Home Assistant loads, Plex streams at full quality. Note the WAN address type and any ISP change you made.
Expected result: Every need on your list has a working path, and you know whether it depends on the ISP setting.
If not: Anything still failing after a direct Tailscale path is a service or firewall problem, not CGNAT; troubleshoot that service on its own page.
Decision tree
If: Router WAN address is in 100.64 to 100.127.x and the public-IP check differs.
Then: CGNAT confirmed on Aussie Broadband.
Action: Decide what you need: your own devices reaching home (Tailscale, no ISP call) versus a service that must accept inbound connections from anyone on a port Aussie Broadband allows (opt out of CGNAT or add the static IP).
If: Router WAN address is private (192.168.x, 10.x, 172.16 to 31.x).
Then: Double NAT from a second router, modem-router or mesh base in router mode. Not CGNAT.
Action: Put the upstream device in bridge mode or the downstream one in access-point or bridge mode so a single device does NAT. Re-run the WAN check; only then decide about CGNAT.
Safe stop: Stop and read the device manual before changing modes on an ISP-supplied gateway: bridge mode can drop the Wi-Fi and phone features it provides.
If: You want a stable public IPv4 for DDNS, an allow-list, or a game server on a high port.
Then: Static IP bolt-on ($5 a month) is the fit.
Action: Add it from the Boltons section of the MyAussie app or portal (plus icon above Static IP). Aussie Broadband says the service then leaves CGNAT automatically; power cycle the router and re-check the WAN address.
If: You need a public IPv4 but not a fixed one, and do not want to pay.
Then: Free CGNAT opt-out.
Action: Call Aussie Broadband on 1300 880 905 and ask for CGNAT to be disabled; expect your public IPv4 to change. Power cycle the router, confirm the WAN address is public, then set the port forward and test it from mobile data.
If: You need your own phone and laptop to reach a NAS, Home Assistant or a self-hosted app; nobody else needs a public URL.
Then: Tailscale, no ISP change.
Action: Install Tailscale on the NAS or home server and on each remote device under one account. For devices that cannot run Tailscale, run one home device as a subnet router advertising the LAN. No exit node is needed for this.
If: Tailscale is up but `tailscale status` stays on relay from every location.
Then: Both ends are behind hard NAT, or UDP is blocked on the away network.
Action: Test from a different away network first (mobile hotspot). If it is still relayed, either set up a Tailscale Peer Relay on a device that can be reached, or take the free CGNAT opt-out so the home end has a public IPv4 and can accept direct UDP.
Evidence table
| Symptom | Evidence to collect | Likely layer | Next action |
|---|---|---|---|
| Router WAN IPv4 reads 100.64.x.x to 100.127.x.x. | Router admin > Internet or WAN status page. | ISP CGNAT (RFC 6598 shared space). Whirlpool's community wiki lists Aussie Broadband's per-state internal ranges inside this block; treat that list as community evidence. | Confirm with a public-IP check, then pick opt-out, static IP, or Tailscale. |
| Public-IP site shows a different address from the router WAN, and the WAN is 192.168.x or 10.x. | Public-IP site plus router status page. | Double NAT at home, not the ISP. | Bridge the extra router. A CGNAT opt-out will not fix this. |
| Port forward set, WAN address is public, canyouseeme.org still reports port 443 closed. | canyouseeme.org from a LAN device, or a test from mobile data. | Aussie Broadband's inbound block on TCP 80/443/25 and the other listed ports. | Move the service to a high port or use Tailscale. Do not keep re-doing the forward. |
| `tailscale status` shows `relay "syd"` for the home device. | Terminal on the remote device. | NAT traversal has not reached a direct path; DERP in Sydney is relaying the encrypted packets. | Wait and retry after traffic flows; test another away network; consider a Peer Relay or the CGNAT opt-out if it never goes direct. |
| Plex Remote Access reports not available; apps connect but playback is limited to about 2 Mbps. | Plex Web > Settings > Server > Remote Access, and the playback quality indicator in the app. | Plex fell back to Relay because the direct path is blocked by CGNAT. | Add the server's Tailscale URL to Custom server access URLs, or opt out of CGNAT so Plex's port mapping works. |
Commands and settings paths
Compare the router WAN address with the public address
Router admin > Internet/WAN status; then `curl -4 ifconfig.me` from a LAN device
Where: Router UI in a browser, and a terminal on any home device.
Expected: Same address on both: not CGNAT. Router shows 100.64 to 100.127.x and curl shows something else: CGNAT.
Failure means: Router shows 192.168.x or 10.x: double NAT; find the upstream device before touching the ISP.
Safe next step: Record both values; you will need them if you phone Aussie Broadband.
Trace the first hops out of the home
`tracert -d 1.1.1.1` (Windows) or `traceroute -n 1.1.1.1` (macOS/Linux)
Where: Terminal on a LAN device.
Expected: Hop 1 is your router. On CGNAT, an early hop sits in 100.64 to 100.127.x before the path reaches public addresses.
Failure means: Early hops in 192.168.x or 10.x after your router point to double NAT (an ISP hop in 10.x can also be normal internal routing, so weigh it with the WAN check).
Safe next step: Keep the output; it is the fastest way to show support what your path looks like.
Check the Tailscale path type
`tailscale status` on the remote device; `tailscale ping <home-device>` for the negotiation
Where: Terminal on the laptop or phone that is away from home (the mobile apps show the same status in their UI).
Expected: `direct <ip>:<port>` next to the home device, or `tailscale ping` reporting a pong via a direct address after a few tries.
Failure means: `relay "syd"` or pongs only via DERP: the link is relayed. It works, but with added latency and lower throughput.
Safe next step: Generate some traffic and re-check; Tailscale keeps trying to upgrade. If it never upgrades from any network, see the relay branch above.
Advertise the home LAN from a subnet router
`sudo tailscale set --advertise-routes=192.168.1.0/24` (replace with your LAN), then approve the route in the admin console (Machines > the device > Edit route settings)
Where: On the always-on home device running Tailscale (Linux, macOS, Windows, or a NAS package).
Expected: The device shows a Subnets badge in the admin console; remote devices can reach LAN addresses that do not run Tailscale.
Failure means: Routes advertised but unreachable: the route was not approved, or Linux clients need `tailscale set --accept-routes`, or an access rule blocks the subnet.
Safe next step: Keep the advertised range to your actual LAN. Do not advertise 0.0.0.0/0; that is what an exit node is for and you do not need one here.
Publish the Plex server's Tailscale address
Plex Web > Settings > Network > (Show Advanced) > Custom server access URLs: `http://<tailscale-ip>:32400`
Where: Plex Web on the server, signed in as the server admin.
Expected: Plex apps on tailnet devices connect directly through Tailscale at full bitrate; the Relay indicator disappears.
Failure means: Still on Relay: the client device is not on the tailnet, or the Tailscale address was typed with the wrong port.
Safe next step: Leave Enable Relay on as a fallback unless you specifically want to prevent low-quality relayed streams.
Hardware and platform boundary
Change only when
- Pay for the $5 a month Aussie Broadband static IP only when you need a fixed public IPv4 (DDNS you will not babysit, allow-lists, a game or voice server on an allowed high port). Own-device access to a NAS, Home Assistant or Plex is fully served by Tailscale at no cost.
Evidence that matters
- A real public IPv4 that survives a reboot; whether the inbound port you need is on Aussie Broadband's blocked list; and, for Tailscale, an always-on home device (NAS, Mac mini, mini PC) that can run the client or a subnet router.
Evidence that does not matter
- Router brand, mesh system, or Wi-Fi 7 do not change CGNAT; the NAT is upstream of all your equipment. A faster nbn tier does not help either.
Avoid
- Do not forward NAS admin, router admin or Home Assistant to the internet after the opt-out just because you can. Do not advertise 0.0.0.0/0 from a subnet router to make a route work. Do not rely on Plex Relay for 1080p or 4K; it is capped at 2 Mbps.
Related tool/checklist
Use the linked tool when you need a guided plan from your exact symptoms instead of a static checklist.
NAS setup plannerRelated problems
Last reviewed
2026-09-07 · Reviewed by HomeTechOps. Built from Aussie Broadband's help centre (port forwarding and CGNAT, static IP bolt-on, IPv6 support) and its CGNAT explainer, Tailscale's 2026-validated connection-types and subnet-router references plus its NAT-traversal write-up, Plex Support's Relay and Network settings articles, and RFC 6598. Aussie Broadband's per-state CGNAT ranges are quoted from the Whirlpool community wiki and labelled as such. Prices and the blocked-port list are as published by Aussie Broadband on the dates cited; re-check before relying on them.
Sources/assumptions
- Aussie Broadband residential nbn (or OptiComm) service with an Aussie Broadband-supplied or your own router. Business nbn plans include a static IP and are not on CGNAT, per Aussie Broadband.
- Aussie Broadband facts (CGNAT on by default, free opt-out by phone, $5 a month static IP in MyAussie, blocked inbound ports) come from the Aussie Broadband help centre as published; the port-forwarding article was last updated 13 August 2023 and the static IP article 27 February 2024. Re-check them before relying on a price.
- The 100.64.0.0/10 range is the RFC 6598 shared address space. The per-state Aussie Broadband CGNAT ranges quoted come from the Whirlpool community wiki, not from Aussie Broadband, and are labelled as community evidence.
- Tailscale behaviour (DERP first, then direct; subnet routers; exit nodes) is taken from Tailscale's documentation validated in 2026. Plex Relay limits come from Plex Support.
Source-backed checks
HomeTechOps turns official docs and conservative safety rules into a shorter runbook. These links are the source trail for the page direction.