Most engineers think…
Most people set up a 'port forward' on a SonicWall, create the NAT policy, and assume traffic will flow. Then nothing reaches the server and they blame the ISP or the cable.
On a SonicWall, two separate tables decide a packet's fate. Access Rules decide whether traffic is allowed between two zones — top-down, first match wins. NAT Policies decide how the addresses are rewritten — Original to Translated. They are matched independently. Publishing a server needs both: an inbound NAT policy to translate the public IP, and a matching access rule to permit it. Miss the rule and the perfectly good NAT translation is dropped at the gate.
① Access Rules — the gate that decides whether traffic passes
Access Rules are SonicWall's gate. They decide whether traffic is allowed between two security zones, always written for a zone pair such as LAN→WAN or WAN→DMZ. You pick a source zone and a destination zone, and SonicOS shows just the rules for that pair.
Within a zone pair the rules are evaluated top-down, first match wins: the first rule that matches sets the action and the firewall stops looking — which is why ordering matters. Each rule carries a source and destination address object, a service (port/protocol), an optional schedule and users, and an action: Allow permits, Deny politely refuses with a reset, Discard drops silently. You can also enable security services like DPI and logging on the rule itself.
Default rules ship per zone pair. Trusted-to-untrusted (LAN→WAN) is allowed by default; untrusted-to-trusted (WAN→LAN) is denied by default. You add your own rules above the defaults to change behaviour.
When you talk about an access rule, lead with the zone pair — 'a WAN to DMZ Allow rule', not just 'an allow rule'. Rules only exist within a source-to-destination zone context, and ordering inside that pair is what decides the first match.
How are SonicWall access rules evaluated within a zone pair?
② NAT Policies — the separate table that rewrites addresses
NAT Policies are a completely separate table from access rules. A NAT policy does not allow or deny anything — it translates. Each policy maps an Original source, destination and service to a Translated source, destination and service, scoped by inbound and outbound interface.
The mental model: the access rule is the gate (whether), the NAT policy is the translator (how). They are matched independently for the same packet. A packet can sail through the gate and then have its destination rewritten by a NAT policy, or be translated and still hit a closed gate — the two tables do not know about each other.
The most common NAT policy is already there: the default outbound PAT. It maps your whole LAN subnet (Original source) to the firewall's WAN interface IP (Translated source), so many internal hosts share one public address on the way out.
The gate. Per zone pair, top-down first-match-wins, action Allow/Deny/Discard. Decides WHETHER traffic passes.
The translator. A separate table mapping Original source/dest/service to Translated. Decides HOW addresses are rewritten — never whether.
Translates a public IP/port to an internal server's private IP/port so the internet can reach an internal service.
Reflexive NAT so internal users reach a published server by its public IP, exactly like external users do.
What does a NAT policy actually do to a packet?
③ The NAT types — outbound, one-to-one, inbound and loopback
Once you see NAT as 'Original to Translated', the types are just different mappings. Many-to-one PAT (outbound masquerade) is the default: many LAN IPs hidden behind the single WAN IP using ports. One-to-one NAT maps a single internal host to a single dedicated public IP in both directions. One-to-many spreads one internal resource across several public IPs.
The two that matter for publishing a service: inbound NAT translates a public IP/port to an internal server's private IP/port, so the internet can reach an internal service. Loopback (reflexive) NAT lets internal users reach that same published server by its public IP — so staff and outsiders use one address instead of two.
The line to remember
NAT only ever rewrites addresses. None of these types decides whether the traffic is permitted — that is always the access rule's job. Keep that split clean and the rest is just choosing the right mapping.
A NAT policy never permits or denies — it only rewrites addresses. If you say NAT 'opens' a port in an interview, you have merged the two tables in your head. NAT translates; the access rule is the only thing that allows.
You want internal staff to reach a published server using its public IP, just like external users. Which NAT type?
④ Publishing a server — NAT policy and access rule, together
Here is the whole lesson in one rule: to publish an internal server you need both an inbound NAT policy (public→private translation) and a matching access rule (e.g. WAN→DMZ Allow for the service). One without the other fails. NAT alone rewrites the destination but the gate still denies it; an access rule alone permits traffic that never gets steered to the right host.
The safe way is the Public Server Wizard. It asks what you are publishing and then builds all three pieces together: the address objects, the inbound NAT policy, and the matching access rule — so you cannot forget either half.
The classic failure
The number-one SonicWall ticket: someone hand-builds the NAT policy, skips the WAN→DMZ access rule, and external users time out. SonicOS dutifully translates the public IP to the internal server, then the default WAN→DMZ deny drops it before delivery. The fix is always the same — add the matching access rule (or re-run the Wizard).
Priya at Lotus Logistics in Pune faces this
She published the internal web server (DMZ, 10.10.20.15) to the public IP and hand-built the inbound NAT policy, but partners on the internet still get connection timeouts.
Only the NAT policy was created; no matching WAN to DMZ access rule was added, so the default deny blocks the translated traffic.
Open Policy ▸ Rules and Policies ▸ Access Rules, select the WAN to DMZ zone pair — there is no Allow rule for HTTPS to the server, and the connection log shows the packet dropped by the default deny.
Policy ▸ Rules and Policies ▸ Access Rules (WAN to DMZ) + NAT PoliciesEither re-run the Public Server Wizard (which builds objects + NAT + rule), or add a WAN to DMZ Allow rule for the HTTPS service to the server address object alongside the existing NAT policy.
Re-test from outside — the partner reaches the site; the access rule hit counter and the NAT policy usage both increment for the same flow.
When a publish works, check that both halves fired: the NAT policy usage counter and the WAN to DMZ access rule hit counter should both increment for the test connection. If only one moves, you are missing the other half.
▶ Watch a request reach a published web server — and then break it
How an inbound connection is permitted and translated end-to-end. Press Play for the healthy path, then Break it to see the classic failure.
You created an inbound NAT policy for a server but external users still time out. The most likely cause?
🤖 Ask the AI Tutor
Tap any question — instant, scoped to this lesson. No login, no waiting.
Pre-curated from vendor docs + community Q&A, scoped to this lesson. For a live prod issue, paste your export into chat.techclick.in.
📝 Wrap-up assessment — six more
You've answered 4 inline. Six left. 70% (7 of 10) marks the lesson complete on your profile. Tap Submit all answers at the end.
🧠 In your own words
Type one line: why does publishing a SonicWall server need both a NAT policy and an access rule? Then compare with the expert version.
🗣 Teach a friend
Best way to lock it in — explain it in one line to a teammate. Tap to generate a paste-ready summary.
📖 Glossary
- Access Rule
- A SonicOS policy that permits or denies traffic between a source and destination zone, evaluated top-down with first match wins.
- NAT Policy
- A separate SonicOS table entry that rewrites a packet's source/destination address and port — Original to Translated. It never allows or denies.
- Security zone
- A named trust boundary (LAN, WAN, DMZ, VPN) that access rules are written between.
- Zone pair
- The source-zone to destination-zone combination an access rule applies to, e.g. WAN to DMZ.
- PAT (outbound)
- Many-to-one Port Address Translation hiding many internal hosts behind one public IP — the default outbound NAT.
- Inbound NAT
- A NAT policy translating a public IP/port to an internal private host to publish a server to the internet.
- Loopback NAT
- Reflexive NAT that lets internal users reach a published server by its public IP, like external users do.
- Public Server Wizard
- A SonicOS wizard that auto-creates the address objects, the NAT policy and the access rule needed to publish a server.
- Address object
- A named host, range or network referenced by both access rules and NAT policies.
📚 Sources
- SonicWall — SonicOS 7 Policy: Rules and Policies (Access Rules) administration guide. sonicwall.com
- SonicWall — SonicOS 7 NAT Policies administration guide (Original vs Translated, inbound/outbound). sonicwall.com
- SonicWall Support — How to configure NAT policies and access rules to publish an internal server. sonicwall.com
- SonicWall Support — Using the Public Server Wizard to publish a server (objects + NAT + rule). sonicwall.com
- SonicWall Support — Loopback (reflexive) NAT so internal users reach a public IP. sonicwall.com
- SonicWall — SonicOS 7 Network: Address Objects and Service Objects. sonicwall.com
What's next?
Got the gate and the translator straight? Next, go deep on Capture ATP — SonicWall's cloud sandbox — and the RTDMI engine that catches unknown, zero-day malware in memory before it ever reaches your network.