T Techclick ← SonicWall hub
SonicWall · SonicOS 7 Classic · Session factory · Interactive lesson

SonicOS is a session factory. Zone, rule, NAT, then Connections.

The 02:10 ticket says “HTTPS is dead — disable Capture ATP.” Rule 14 already allows. The Management Interface is green. The browser still spins. That is not a missing feature. SonicOS never printed a two-way connection. This lesson is the official factory: zone and interface, then the zone-pair Access Rule, then NAT or VPN networks, then the row in MONITOR | Tools & Monitors > Connections.

20 min read · L2 primary · Quiz at end · Dummy lab only

⚡ Quick Answer

SonicOS is a session factory: zone and interface, then the zone-pair Access Rule, then NAT or VPN networks, then prove the row in Connections.

After this page you can

Quick answer

A SonicWall NSa is a stateful session factory. A packet becomes a connection only after it arrives on a named interface in a zone, matches an Access Rule for that source-zone → destination-zone pair, hits a NAT Policy if addresses must rewrite (or a VPN policy’s Local / Destination Networks if it should enter a tunnel), and SonicOS writes a row in Connections. Allow is a permit. A green tile is not a session. Capture ATP is last.

Say this out loud

I do not start with Capture ATP. I name the X-port and the zone, then the zone-pair Access Rule, then NAT or the VPN networks, then I filter Connections for the source IP. Empty Connections means the factory never printed the ticket. Allow without a Connections row is not success.

1. Why allow is not a connection

Every other write-up starts with Capture ATP, Client DPI-SSL, or “just add a LAN → WAN allow.” That is why students freeze at 02:10. The real object is the connection. Features are stamps SonicOS puts on a ticket after the factory is willing to print it.

Official SonicOS: Access Rules, NAT Policies, and security services apply on zone-to-zone traffic. The interface is how the packet enters a zone. Same IPs on the wrong X-port are a different factory job. Default stateful inspection allows sessions that originate from LAN or WLAN toward WAN or DMZ, allows DMZ toward WAN, and denies WAN toward LAN or DMZ. Return traffic for a LAN-initiated session is the state table — not a second Allow you forgot to write.

Hero · the factory floor
Teaches: a LAN request becomes a SonicOS connection ticket that walks zone, Access Rule, NAT or VPN, then Connections
Notice: the box has two faces. Students who start with Capture ATP never name which X-port the SYN left on.

What the ticket asked

“HTTPS is dead — disable Capture ATP.” That sentence is a hypothesis. The factory may already have allowed the flow and never written a Connections row — or written a one-way row while the next hop stayed silent.

What you prove first

Identity of the box, then X-port and zone, then whether Connections shows the 5-tuple. The evidence desk is the night-shift version of that order: Connections first, then Access Rule Name, then ATP.

The lie every L1 repeats

“The rule is Allow, so SonicWall is fine — we need a wider rule or we disable ATP.” An Allow only means the factory was willing to print the ticket. If Connections is empty, or the row never grows a return half, widening the rule just prints more dead tickets.

2. Mental model — four stamps

Concept: SonicOS is a factory that stamps a packet into a connection. Hold four stamps. Interviews fail when people mix them.

Path: named X-port in a zone → zone-pair Access Rule (first match) → NAT Policy or VPN Local / Destination Networks → Connections row.

Do: Read NETWORK | System > Interfaces, then the Zone Matrix Access Rule, then NAT (or the VPN Network tab), then filter Connections. Only then talk DPI-SSL or Capture ATP.

1. Zone / interface is the floor

Official default: X0 = LAN (Trusted), X1 = WAN (Untrusted). Default LAN IP is 192.168.168.168. A zone assignment is required. Unassigned never matches a LAN → WAN rule.

2. Access Rule is whether

POLICY | Rules and Policies > Access Rules. Zone Matrix. Top-down, first match, per source zone → destination zone. Action is Allow, Deny, or Discard. Allow is a permit, not a live session.

3. NAT / VPN is how

NAT is a separate table. Default outgoing many-to-one hides LAN behind the WAN interface IP. Inbound publish needs NAT and a matching Access Rule. VPN interesting traffic is Local Networks + Destination Networks — not “SA up.”

4. Proof is Connections

MONITOR | Tools & Monitors > Connections is the live table (operators still say Connection Monitor). System Logs Access Rule Name is history. A written Allow with zero traffic statistics is not a hit.

Flow 1 · one packet, four stamps
SonicOS factory · zone / interface → rule → NAT or VPN → Connections 1 Zone / interface X0 LAN · X1 WAN · zone 2 Access Rule Zone pair · first match 3 NAT or VPN Separate table · networks 4 Connections Src IP · Src Port Official facts students invert Default LAN → ANY is allowed. DMZ → LAN is denied. WAN → LAN is denied. Return for a LAN-initiated session is state, not a second Allow. NAT is not the Access Rule. Inbound publish needs both. SA established is not the printer subnet — that is Local / Destination Networks. Empty Connections = the factory never printed the ticket. Do not start with Capture ATP. Next click is NETWORK | System > Interfaces, then the Zone Matrix, then NAT / VPN Network, then Connections Filter.

Read left → right. Yellow is where most “policy is broken” tickets actually die. Green is the only proof that matters on this page.

Hard words before the runbook

3. Zone pair first, then NAT or VPN

Draw this on the whiteboard before you open Capture ATP. Diamond = decision. Dummy lab values only: host 10.10.8.22198.51.100.80:443, rule name Finance-HTTPS, outbound NAT off the WAN X-port toward 203.0.113.10.

Path · two forks
Teaches: a decision diamond splits a SonicOS packet into a zone-and-rule path versus a Layer-2 or VPN-networks path
Notice: the diamond is not allow/deny. It is “is this X-port in the zone the rule was written for?”
Flow 2 · where is this packet dying?
X-port in the expected zone? NO YES Redraw X-port → zone NETWORK | System > Interfaces Access Rule Allow? Zone Matrix · first match Connections row for Src IP? NAT egress + next-hop ARP Incomplete ARP ends the policy debate Works on LTE, fails on LAN? Client DPI-SSL exclude — not a new Allow SA up, one subnet dead? Local / Destination Networks Published server: inbound NAT exists, still timeout → matching WAN → zone Access Rule Official: a NAT Policy rewrites addresses. An Access Rule allows the flow. You need both. Capture ATP is not on this tree until zone, rule, NAT/VPN, and Connections are clean.

Always start at the X-port. Diamond answers are yes/no — not “maybe ATP.” Night-shift field names live on the evidence desk.

#1 student trap — LAN → WAN already allows

Official default: sessions originating from LAN toward WAN are allowed. Adding a second Any-Any on that pair does not create a connection that the first Allow already permitted. If Connections is empty, the packet never entered that zone pair — wrong X-port, Unassigned VLAN, or you are staring at the idle HA peer. If Connections exists and the app still dies, you are in NAT, ARP, DPI-SSL, or VPN networks — not a missing Allow.

4. How to choose the station

You are not choosing a product. You are choosing which stamp the factory failed to write. If X then Y.

If you seeChoose this stationDo not start hereProof you were right
Cable moved, new VLAN, Zone = Unassigned NETWORK | System > Interfaces — bind X-port / sub-interface to the zone A new Any-Any Access Rule Interfaces table: Zone matches the pair you wrote the rule for
Rule is Allow, Connections filter is empty Wrong zone pair or idle HA peer — redraw the floor, then re-filter Capture ATP, extra LAN → WAN Allow Filtered Connections still empty after you confirm the active unit and the X-port
Allow + Connections row, app still spins NAT Policy on the egress X-port, then next-hop ARP A wider Access Rule (Allow already happened) NAT hits increment; next hop is reachable on that X-port
Published server: inbound NAT done, still timeout Matching WAN → LAN/DMZ Access Rule using the same original source / dest / service as the NAT Only another NAT line Official pairing: inbound NAT + Allow Access Rule. Connections shows the WAN source.
App works on phone LTE, fails on office LAN POLICY | DPI-SSL > Client SSL exclude (object or Common Name), or disable Client DPI-SSL on that one Access Rule A new LAN → WAN Allow (it already allows) Scoped exclude; inspection stays on for the rest of HTTPS
IPsec SA green, one remote subnet dead VPN Policy → Network tab: Local Networks / Destination Networks Bounce IKE, change Phase 1 Subnet listed; Currently Active VPN Tunnels still shows the tunnel
HA peer shows idle Normal in active/standby — retest on the current active Declaring the pair broken Connections on the active unit, not the idle book

Official inbound pairing (SonicWall technical documentation + Knowledge Base): a NAT Policy translates a public address to a private address. An Access Rule allows the flow. Common port-forwarding mistake: the Access Rule must use the original source, destination, and service from the inbound NAT — not the translated private IP as if it were the packet SonicOS first saw from WAN.

5. Runbook Side A → B → C

Lab values only. Hostname NSA-LAB, management https://192.168.168.168/sonicos (official default X0 LAN address), finance host 10.10.8.22, SaaS 198.51.100.80, WAN PAT 203.0.113.10, gateway 203.0.113.1. Nothing here is a live tenant.

Side A — zones and interfaces (building the factory floor)

Primary source: SonicOS 7 System — NETWORK | System > Interfaces · SonicOS 7.1 Objects — Zones · Getting started with SonicWall firewalls.

  1. Open NETWORK | System > Interfaces

    Confirm each X-port: Zone, Mode / IP Assignment, IP Address, Subnet Mask, Default Gateway (WAN), link. Official default: X0 = LAN at 192.168.168.168, X1 = WAN. The default LAN interface cannot be unassigned. A VLAN sub-interface left on Unassigned never matches a LAN → WAN rule.

  2. Quote the zone, not the mnemonic

    Shipping folklore is useful on day one. It is not a law. A cable move, a PortShield group, or a lab that NATs off a different X-port will lie if you never open the table. Write the Zone you see.

  3. Create or confirm zones

    OBJECT | Match Objects > Zones. Security Type is Trusted / Untrusted / Public / Encrypted / Wireless. Enable Allow Interface Trust on LAN if two LAN X-ports should talk without an extra rule. Do not invent a custom zone and then write the Access Rule against LAN.

Side B — Access Rule, then NAT, then VPN networks (printing the ticket)

Primary source: How to Configure Access Rules (SonicOS 7.X) · SonicOS 7.1 Rules and Policies — Access Rules / NAT Rules · SonicOS/X 7 IPSec VPN — Network tab and auto-added Access Rules.

  1. Write or confirm the zone-pair Access Rule

    Use the mock above. Select the Zone Matrix cell (example LAN to WAN). Find the first-match rule. Dummy: Finance-HTTPS, source LAN, dest Any, service HTTPS, action Allow, logging on. Default deny below is expected. Action values are Allow, Deny, or Discard — pick on purpose. Source: How to Configure Access Rules.

  2. Write outbound NAT in the other table

    POLICY | Rules and Policies > NAT Rules → Add. Official many-to-one: Original Source = LAN Subnets (or the LAN X-port subnet), Translated Source = WAN Interface IP, Original Destination = Any, Translated Destination = Original, Original Service = Any, Translated Service = Original. SonicOS ships a default outgoing NAT per configured interface. Do not invent a second PAT and then wonder which one hit. Source: SonicOS 7.1 NAT Rules — Creating a Many-to-One NAT Policy.

  3. If you publish a server, add inbound NAT and the WAN → zone Allow

    Official: inbound NAT translates the public IP (and optional port) to the private server. Pair it with an Access Rule from WAN to the server’s zone. Use the original destination and service from the NAT in that Access Rule. The Public Server Wizard builds address objects + NAT + Access Rule together — use it when you want all three stamps at once. Source: How can I enable port forwarding… + Common mistakes with port forwarding.

  4. If the flow should enter a tunnel, list the networks

    NETWORK | IPSec VPN > Rules and Settings → VPN Policy → Network tab. Under Local Networks and Destination Networks, choose the address objects that must enter the tunnel. Official: when you add a VPN Policy, SonicOS auto-creates non-editable Access Rules so traffic can traverse Trusted zones and the VPN zone. Those auto-rules are not a substitute for listing 10.50.0.0/24. A missing Destination Network leaves Phase 2 up for other selectors and printers on the WAN default route.

  5. Do not celebrate a saved rule

    A named Allow in the Zone Matrix means the recipe printed. It does not mean SaaS answered. Side C is the proof.

Inbound NAT + Access Rule pairing — official field names, dummy objects
NAT Policy (inbound)
  Original Source:        Any
  Translated Source:      Original
  Original Destination:   webserver_public_ip     (203.0.113.20)
  Translated Destination: webserver_private_ip    (10.10.8.80)
  Original Service:       HTTPS
  Translated Service:     Original

Access Rule (WAN → LAN)  — use the ORIGINAL dest + service
  From: WAN / Any
  To:   LAN / webserver_public_ip
  Svc:  HTTPS
  Action: Allow

Say the pairing out loud. The Access Rule matches what WAN sent, not the private IP after rewrite. Source: Common mistakes with port forwarding — “original source, destination and service fields in the inbound NAT should be used in the access rule.”

Side C — prove the connection in Connections

Primary source: Monitor connections on the SonicWall firewall — Tools & Monitors | Connections · SonicOS 7 Tools & Monitors — Viewing Connections · MONITOR | Logs > System Logs (Access Rule Name).

  1. Baseline the box

    HOME / System Status: hostname NSA-LAB, firmware train, this unit active if HA. Half of “it doesn’t match the doc” is a different SonicOS train (Classic vs Policy Mode). Half of empty Connections is the idle standby.

  2. Reproduce, then open the live table

    Have finance click SaaS. Then MONITOR | Tools & Monitors > Connections (operators: Connection Monitor). Official: all active connections to the appliance are displayed; you can filter. Filter Src IP = 10.10.8.22. This is not System Logs.

  3. Read the official columns on the row

    You need a row. Official Viewing Connections columns include Src IP, Src Port, Dst MAC, Dst Vendor. IPv4 / IPv6 tabs. Empty filtered table = no session. You are still in this factory, not on the evidence desk’s Capture ATP ticket.

  4. If the row exists, then you may read history

    MONITOR | Logs > System Logs — official column Access Rule Name. POLICY | Rules and Policies > Access Rules → Settings > Grid Settings → display traffic statistics; Restore restarts the counts; reproduce; quote the increment. That isolate is the evidence desk.

  5. If Connections is empty, do not add a rule yet

    Confirm X-port / zone, the Zone Matrix pair, NAT egress, and that you are on the active unit. Then Packet Monitor (INVESTIGATE | Packet Monitor or MONITOR | Tools & Monitors > Packet Monitor) if you must see the drop. Packet Monitor is not a substitute for Connections.

Proof · Connections cockpit
Teaches: operators prove a live SonicOS connection on Connections, not from an Allow action
Notice: juniors stare at Action = Allow. Seniors stare at Connections Filter and Access Rule traffic statistics.
Green success on this runbook

Interfaces: X-port, Zone, gateway match the drawing. Zone Matrix first-match is Finance-HTTPS Allow. NAT many-to-one hits on the WAN X-port you ARP on. Connections Filter on 10.10.8.22 returns a row with Src Port. System Logs Access Rule Name = Finance-HTTPS. Access Rule traffic statistics increment after Restore + reproduce. That is working. Allow with empty Connections is not.

6. Runtime — Connections after go-live

Once the factory is built, a Finance HTTPS flow should look like this. Use it in interviews as the “walk the packet” answer.

Flow 3 · runtime HTTPS off LAN
10.10.8.22 LAN host · X0 Zone pair LAN → WAN Finance-HTTPS Allow · log on NAT WAN-IP many-to-one 198.51.100.80:443 Connections row first Optional: Client DPI-SSL re-signs the server cert · pinned apps must be excluded on Objects / Common Name Optional: if dest is a DC subnet, the packet must match Local / Destination Networks or it never enters the VPN zone Later packets of the same connection ride the Connections row. A new Access Rule does not rewrite an already-printed ticket until that row dies. Source: default stateful inspection + Viewing Connections + IPSec VPN Network tab

Finance-HTTPS is a stamp, not the destination handshake. Connections is where you read the finished ticket.

After the row exists, later packets of that connection ride the state table. That is why “I added a more specific Allow” sometimes does nothing until the old connection ages out or you flush it in a change window. Official Connections is the live book — System Logs will still show the Access Rule Name that first printed the ticket.

Client DPI-SSL is a second walk through the same factory: terminate TLS when the Access Rule security profile says so, re-sign with the firewall CA, inspect, re-encrypt. Certificate-pinned finance apps will scream. That is the app refusing a substitute certificate — not a broken Allow. Exclude those hosts on purpose (address object or Common Name), with an owner. Do not disable Client DPI-SSL globally to fix one pin.

HA is two copies of the factory. Active/standby means one unit is printing Connections rows and the other holds a copy of the book. Green HA state means the book is synced. It does not mean SaaS recovered. Prove that with the same finance click on the current active.

Capture ATP / RTDMI sits after the connection exists. If Connections is empty, you are not on an ATP ticket. Walk back to zone, rule, NAT/VPN. The night-shift field list — Connections, Access Rule Name, traffic statistics, Currently Active VPN Tunnels, ATP verdict — is the evidence desk.

7. Traps + Connections proof

SymptomLooks likeActuallyFirst move
Allow + spinning browser Missing rule Empty Connections, or a row with no return / dead next hop Connections Filter, then NAT / ARP on the egress X-port
Added a LAN → WAN Allow, nothing changed Need Any-Any Default LAN → WAN already allowed; packet is not in that zone pair — or old connection still rides the table Interfaces Zone, then wait / flush the row in a window
Inbound NAT done, server still times out NAT is wrong No matching WAN → zone Access Rule, or the rule used the translated private IP Pair original dest + service on the Allow
App works on LTE, fails on LAN Need a new Allow Client DPI-SSL re-sign + pin Scoped Client SSL exclude, owner + expiry
IPsec SA established, one VLAN dead Tunnel is flapping Subnet missing from Local / Destination Networks VPN Policy Network tab — do not bounce IKE
New drop after a recable Rule broke X-port Zone ≠ the pair you wrote NETWORK | System > Interfaces
HA is green, app is dead License / HA bug You are on the idle peer, or the new active has no return path Retest the same click on the current active
System Logs empty, session exists SonicWall is down Logging off on that rule, or Grid Settings hid the column Enable logging; quote Access Rule Name when it appears — do not add Any-Any “to get a log”
Proof checklist — Finance-HTTPS is actually working
Interview close you can steal

SonicOS is a session factory. I name the X-port and the zone, then the zone-pair Access Rule, then NAT or the VPN Local / Destination Networks, then I prove the ticket in Connections. Allow is whether. NAT is how. SA up is not the subnet. Empty Connections is the factory, not Capture ATP. I do not start with ATP.

Related on this path: SonicWall evidence desk — five official proof fields after the factory has printed a row · Zones, interfaces, objects · Access rules and NAT · DPI-SSL deep dive.

Knowledge check

Six judgment questions. Map each miss back to the section named in the reason.

Q1

Ticket: “HTTPS is dead — disable Capture ATP.” The LAN → WAN rule already Allows. What is the first move?

Correct: b. Capture ATP is last. Empty Connections is this factory, not an ATP ticket. Re-read Why allow is not a connection and Side C.
Q2

What is the official SonicOS factory order this lesson asks you to say out loud?

Correct: c. Four stamps, in that order. NAT is a separate table. Connections is proof. Re-read Mental model.
Q3

Finance-HTTPS is Allow. Connections Filter on 10.10.8.22 is empty. Best explanation?

Correct: b. Allow is a permit. Connections is the live table. Empty filter means the packet never became a session on this unit. Re-read Side C and the decision tree.
Q4

You published a lab web server. The inbound NAT Policy is saved. Browsers still time out. Official next stamp?

Correct: d. Official: NAT rewrites; the Access Rule allows. Use the original dest/service, not the translated private IP. Re-read How to choose and Side B.
Q5

Currently Active VPN Tunnels shows DC-IPSEC. Printers on 10.50.0.0/24 never arrive. First check?

Correct: a. Auto-added VPN Access Rules only pass what the policy’s networks include. Active ≠ that subnet. Re-read Side B step 4 and How to choose.
Q6

What proves Finance-HTTPS is actually working?

Correct: c. Connections is the live table. Traffic statistics prove the named rule actually hit. A saved Allow and a green tile are recipes. Re-read Side C and the proof checklist.

Sources

Related: SonicWall evidence desk · SonicWall interview hub · Dummy lab (simulator key sonicwall) · Zones, interfaces, objects · Access rules and NAT · DPI-SSL deep dive