T Techclick ← All lessons
F5 · BIG-IP LTM · Interactive lesson

F5 LTM troubleshooting: prove where the packet died

HR is down. Users cannot open hr.techclick-lab.in. Direct to the server sometimes works. curl sometimes returns 200. This lesson trains the order you walk — user to VIP, VIP to server, monitor, firewall between F5 and backend, bad iRule, and the fake 200 — with Techclick lab dummy CLI only.

Updated 2026-08-17· 25 min read·L2 primary·Quiz at end

⚡ Quick Answer

Six F5 BIG-IP labs: user-to-VIP, VIP-to-server, monitor down, firewall between F5 and backend, bad iRule, and a fake curl 200. Dummy tmsh included.

After this page you can

The ticket

Monday 09:12. “HR portal is down. Direct IP works for some people. VIP does not.” That sentence already contains two different outages. If you jump to tcpdump or reboot a pool member, you will waste the change window.

Why two outages? “Direct IP works” means the server and the user-to-server firewall rule are healthy. “VIP does not” means something on the user-to-F5 path, or on the F5-to-server path, is different. Those are not the same packet, so they cannot have the same first fix.

Techclick Fast Track rule from the student workbook: walk the traffic path first. The reason string on tmsh show ltm virtual <name> detail often names the failure. Do not skip to captures until the object path is walked.

Hero · who talks to whom
Infographic: F5 LTM two connections, VIP 203.0.113.25 and SNAT 10.10.10.10 through FW-INT-01
Connection 1 stops at the VIP. Connection 2 starts from SNAT 10.10.10.10. FW-INT-01 sits on that second path.
Quick interview answer

BIG-IP LTM is a full proxy. It terminates the client connection on the virtual server, then opens a new connection toward a pool member. A green monitor only proves the probe you configured. A curl 200 only proves that exact test (IP, port, path, Host header, source IP).

Words before commands

Memorise these six objects before the runbook. If you mix them, every later CLI line will be read wrong. A student who says “server is down” when they mean “monitor is down” will send the wrong team into the change window.

VIP / virtual server

The address:port users hit. Lab: vs_hr_https on 203.0.113.25:443.

Pool + member

Where F5 sends the new server-side connection. Lab: pool_hr_8010.20.30.41:80 and .42:80.

Monitor

F5’s own health probe. Lab: mon_hr HTTP GET /health. Ping up ≠ HTTP up.

Self-IP / SNAT

Source IP the server sees. Lab SNAT: 10.10.10.10. Firewalls often allow users, not this IP.

iRule

Tcl that can change pool, path, or drop the flow. Lab: irule_hr_path. A TCL error can reset the connection.

Connection table

tmsh show sys connection proves a flow was accepted. Empty table after a failed curl = packet never landed or VS did not accept it.

Lab architecture · Techclick dummy IPs
User PC office LAN Edge FW user → VIP F5 LTM VIP 203.0.113.25 SNAT 10.10.10.10 FW-INT-01 F5 → server srv-hr-01/02 10.20.30.41/42 :80

Read left to right. Scenario D dies on the pink box (FW-INT-01), not on the VIP.

Say this out loud

The user hits the VIP. F5 opens a new session from 10.10.10.10 to the pool member. If the server ACL only knows the user’s laptop, that new session dies on the internal firewall.

How F5 forwards traffic (the missing explanation)

A router forwards the same packet. BIG-IP LTM does not. It is a full proxy. That one idea explains almost every “green but broken” ticket in this lesson.

Connection 1 — client side. The user’s laptop sends TCP SYN to the VIP 203.0.113.25:443. F5 answers SYN-ACK from the VIP. The laptop believes it is talking to HR. It is talking to F5.

Connection 2 — server side. After F5 accepts the client (and after SSL / HTTP profiles / iRules run), F5 opens a new TCP session toward a pool member. The source IP on that new session is usually a SNAT / self-IP (10.10.10.10 in this lab), not the laptop IP. The server and FW-INT-01 only see 10.10.10.10.

So there are always two questions, never one:

  1. Did the user’s SYN reach the VIP, and did F5 accept it?
  2. Did F5’s own SYN reach the pool member, and did the member answer F5?

If you only test from the laptop to the server IP, you skip question 2’s source address. That is why “direct works, VIP fails” is usually a firewall or SNAT problem, not a dead app.

Timeout

Nobody sent SYN-ACK. Packet dropped, wrong IP, or a silent ACL. You cannot yet blame httpd.

Connection refused

Something sent RST. A host is there, but nothing is listening on that port — or a device is rejecting the port.

Monitor down

F5’s probe failed. The probe is a small HTTP GET you wrote. It is not the user’s login. Ping can still be green.

HTTP 200

Only that exact request succeeded. Wrong Host, wrong path, or HTTP instead of HTTPS can still leave users broken.

Why the source IP changes

Without SNAT, F5 forwards to the server using the user’s IP as the source. The server then replies to the user, not back through F5. The user’s laptop already finished TCP with the VIP, so those stray replies are useless. That is the “everything green, still fails” return-path trap. SNAT forces the server to answer F5, so F5 can complete the client conversation.

Decide where it died

Decision feel · three sides
Infographic decision tree: SYN-ACK on VIP then scenarios A to F
Ask SYN-ACK on the VIP first. Then pick A, B, or C. D is the SNAT firewall. E is iRule. F is a fake curl 200.
Master flowchart · do this order
curl VIP from user PC TCP SYN-ACK on VIP? A · User never reached F5 DNS / VS / edge FW / listen B · F5 accepted, server no route / monitor / FW-INT-01 C · HTTP came back iRule / Host / fake 200 Direct server = 200 F5 curl = timeout → D Wrong path / 200 lie E iRule · F fake 200 Never start in the middle. Prove SYN-ACK on the VIP first.

Flowchart first. Read the three boxes below before you type.

How to read the flowchart. First ask only: did the VIP return SYN-ACK? If no, stay on the left (Scenario A). Do not open pool members yet — F5 never received a client to load-balance.

If SYN-ACK is there, the VIP accepted the user. Now the problem is either F5 cannot open the server (middle box: B, C, D) or F5 did open it and HTTP came back wrong (right box: E, F).

The extra diamond “direct server = 200 but F5 curl times out” is Scenario D. It means the app is alive for the laptop’s source IP and dead for F5’s source IP. That is almost always FW-INT-01 or the host firewall, not a missing virtual server.

Which test next

Three vantage points. Same URL. Different source IP. That is the whole method. You change who is speaking, not the application, so each result points at a different box on the diagram.

Think of it as three phone calls to the same shop: from the street (user → VIP), from the shop’s back office (F5 → server), and from a neighbour who already has the shop’s private number (user → server IP). If the neighbour gets through and the back office does not, the shop is open — the back-door lock is the problem.

FromCommand (lab)If this worksIf this fails
User PCcurl -vk https://hr.techclick-lab.in/ --resolve hr.techclick-lab.in:443:203.0.113.25VIP accepted the clientScenario A
F5 bashcurl -v --connect-timeout 5 http://10.20.30.41:80/healthF5 can open the memberScenario B / C / D
User PC directcurl -I http://10.20.30.41:80/healthServer and its local stack are fineNot an F5 object problem
F5 tmshshow ltm virtual vs_hr_https detailReason string names the child failureVS disabled / no listener
F5 tmshshow ltm pool pool_hr_80 membersSee available vs offlineScenario C
Lab data · dummy only

App hr.techclick-lab.in · VIP 203.0.113.25 · SNAT 10.10.10.10 · members 10.20.30.41:80, .42:80 · monitor mon_hr GET /health · VS vs_hr_https · iRule irule_hr_path. Marked Techclick lab dummy — not a live customer.

Six lab scenarios

Side A is the user laptop. Side B is the F5 box. Side C is the server or the firewall team. Every scenario uses all three. Read the explanation first, then the commands. The CLI only confirms the story you already formed.

A · User cannot reach F5

What this is. The first TCP handshake never completes with the VIP. F5 has no client session, so it will never open a server session. Pool health is irrelevant here.

Why it happens. DNS may still point at an old VIP. The virtual server may be disabled. The VS may listen on :443 while the user hits :80. The edge firewall may allow the office LAN to the server subnet but not to the VIP. The self-IP on the client VLAN may be missing, so F5 cannot even ARP for the VIP. Or the VS lives in another route domain.

What you see. Browser spinner. curl says timed out (drop) or connection refused (RST). show sys connection for that VIP is empty. You are still on Connection 1.

Symptom: browser spins. curl from the laptop: connection timed out or connection refused. No row in the F5 connection table.

  1. Side A — prove the VIP from the user

    Resolve the name. Then force the VIP so DNS cannot hide a stale record.

    User PC · fail
    curl -vk --connect-timeout 5 https://hr.techclick-lab.in/ \
      --resolve hr.techclick-lab.in:443:203.0.113.25
    * Trying 203.0.113.25:443...
    * Connection timed out after 5001 ms
    * Closing connection
    curl: (28) Connection timed out

    Explanation of this output. Trying 203.0.113.25:443 means DNS (or --resolve) did its job. Connection timed out means no SYN-ACK came back in 5 seconds. A drop on the path, or F5 never answered. It does not prove the pool is down — F5 never got a chance to pick a member.

  2. Side B — is the VS listening?

    F5 tmsh · dummy
    tmsh show ltm virtual vs_hr_https
    ---------------------------------------------------------
    Ltm::Virtual Server: vs_hr_https
    ---------------------------------------------------------
    Status
      Availability     : offline
      State            : disabled
      Reason           : The virtual server is disabled
    Destination        : 203.0.113.25:443
    Availability       : offline

    Source: F5 training lab on virtual-server status when children or the VS itself are offline (clouddocs virtual server and pool status). Enable the VS only after you know why it was disabled.

  3. Side C — edge path

    If the VS is enabled and still no SYN-ACK, the packet never arrived: wrong DNS, edge firewall, missing self-IP/ARP, or the VS is in another route domain. show sys connection cs-server-addr 203.0.113.25 stays empty.

Scenario A — takeaway

Empty connection table + client timeout = the VIP never accepted the user. Fix listener, VS state, DNS, or the edge firewall. Do not reboot HR servers.

B · F5 is not reaching the backend

What this is. Connection 1 worked. Connection 2 did not. The user reached F5. F5 cannot open (or keep) a session to the pool member.

Why it happens. F5 has no route to 10.20.30.0/24. The server VLAN is not tagged on this BIG-IP. The pool member IP is typed wrong. SNAT is off, so the server replies to the laptop and the reply never returns through F5. Or F5 has a route, but the next hop is dead.

What you see. VIP handshake succeeds (sometimes even HTTPS lock appears), then the page hangs. From F5 bash, curl to the member fails with “no route to host” or timeout. The connection table may show a client-side flow with no server-side pair.

Symptom: VIP accepts TCP. Browser hangs after ClientHello or after GET. Pool member shows unknown or down. Ping from F5 to 10.20.30.41 fails, or curl from F5 cannot connect.

  1. Side B — route and curl from F5

    F5 bash · fail
    curl -v --connect-timeout 5 http://10.20.30.41:80/health
    * Trying 10.20.30.41:80...
    * connect to 10.20.30.41 port 80 from 10.10.10.10 failed: No route to host
    * Closing connection
    curl: (7) Failed to connect

    Explanation. The source 10.10.10.10 in that curl line is F5’s server-side self-IP. “No route to host” means TMM does not know how to leave toward 10.20.30.41 — usually missing VLAN or missing route. Then run tmsh show net route 10.20.30.41. Fix routing before you touch the iRule. An iRule cannot send traffic down a path that does not exist.

  2. Side C — SNAT missing

    Server default gateway is the core switch, not F5. Without SNAT, F5 sends to the server using the user’s IP as the source. The server replies straight to the laptop. The laptop already finished TCP with the VIP, so those replies look like stray packets and are dropped. Workbook trap: “Everything green, still fails — return path bypasses BIG-IP (no SNAT).” Turn on SNAT Automap or a SNAT pool so the server must answer 10.10.10.10.

Scenario B — takeaway

VIP up + F5 cannot curl the member = Connection 2 is broken. Check route, VLAN, SNAT. The app may still be healthy.

C · Port down, monitor fail, member not reachable

What this is. The server box is alive (ICMP works) but the service F5 is asking for is not. Or the service is up, but the monitor question is the wrong question.

Why a monitor is not ping. A monitor is a small scripted client that F5 runs on a timer. mon_hr sends GET /health HTTP/1.1 plus a Host header, and it expects the word OK in the body. If the app listens on 8080 while the pool member is :80, the monitor gets connection refused and marks the member down. If /health returns a 302 login page, the receive string does not match (it is case-sensitive). Ping never sees any of that — ping only asks “is the IP up?”

Why the virtual server turns red. A VS that load-balances a pool inherits the pool’s health. If every member is down, F5 has nowhere to send Connection 2, so the VS is marked offline even though the VIP IP still exists. Users then get RST or a connection error, which looks like Scenario A until you read the Reason line.

Symptom: both members red. VS goes offline because children are down. Server ICMP is fine.

F5 tmsh · dummy
tmsh show ltm pool pool_hr_80 members
------------------------------------------------------------------
Ltm::Pool Member: pool_hr_80  10.20.30.41:80
------------------------------------------------------------------
Status
  Availability : offline
  State        : enabled
  Reason       : Pool member has been marked down by a monitor

tmsh show ltm monitor http mon_hr
------------------------------------------------
Ltm::Monitor: mon_hr
------------------------------------------------
Destination  : *:*
Interval     : 5
Timeout      : 16
Send String  : GET /health HTTP/1.1\r\nHost: hr.techclick-lab.in\r\n\r\n
Recv String  : OK

How to read that output. Reason marked down by a monitor means F5 asked /health and did not get OK in time. It does not mean the node is unplugged. Next, curl the same URL F5 uses. Workbook rule: if curl to the member succeeds and the monitor fails, the fault is the monitor definition (send/recv/Host). If curl also fails, the fault is the server or the path.

On the Linux box, nothing is bound to :80. App listens on 8080. Or /health returns a redirect and the receive string never matches.

srv-hr-01 · dummy
ss -lntp | grep ':80'
# empty
ss -lntp | grep 8080
LISTEN 0 128 0.0.0.0:8080 0.0.0.0:* users:(("node",pid=2214,fd=18))
Wrong conclusion

Do not “disable the monitor to make it green.” That hides a dead port. Fix the listen port or the send/recv strings.

Scenario C — takeaway

Ping green + monitor red = the probe lost, not the cable. Match port, path, Host header, and receive string. Never disable the monitor to “make it green.”

D · Direct to server works — via F5 fails

What this is. The application is healthy. The user’s laptop is allowed to reach it. F5 is not. You are looking at two source IPs hitting the same destination.

Why the firewall does this. Security teams write rules like “office LAN → HR servers :80.” They forget the second speaker. When traffic goes through F5, the server no longer sees 192.168.x.x from the laptop. It sees 10.10.10.10 (SNAT). FW-INT-01, or firewalld on the host, has no line for that IP, so it drops or silently discards the SYN. The user test still works because that test never uses 10.10.10.10.

Why this fools people. The VIP, pool, and monitor can all be green if the monitor is sourced from a different self-IP that is allowed, or if the monitor is ICMP. Users still fail. The Fast Track book calls this the most common LTM pattern: symptom visible to the user, invisible to every green icon in the room.

This is the interview gold. Laptop curl to 10.20.30.41:80 is 200. Same page through the VIP hangs. Do not rebuild the virtual server first.

Direct vs via ADC
Infographic: direct HTTP 200 versus F5 SNAT 10.10.10.10 timeout on FW-INT-01
Same server, same port. Only the source IP changed. Ask FW-INT-01 to allow 10.10.10.10.
TestDummy resultProves
User → server IP :80HTTP/1.1 200 OKApp and server NIC work
F5 → server IP :80timeout / no SYN-ACKPath from 10.10.10.10 is blocked
User → VIPhang or 504VIP is using that blocked path
tcpdump on serverSYN from 10.10.10.10, no reply — or no packetHost ACL or FW-INT-01
Compare · dummy
# From laptop (works)
curl -sI http://10.20.30.41:80/health
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 2

# From F5 (fails)
curl -sI --connect-timeout 5 http://10.20.30.41:80/health
curl: (28) Connection timed out

How to explain the two curls. Same destination, same port, same URL. Only the source changed. Laptop source is allowed. F5 source is not. Ask firewall: allow 10.10.10.10 → 10.20.30.41/32:80 and .42 on FW-INT-01. Also check firewalld on the host if it only trusts the office LAN. Source: Techclick Fast Track trap — if the server firewall or ACL only permits the client or the VIP, the F5 source fails even when users can hit the server directly.

Weak vs strong interview line

Weak: “F5 is broken.” Strong: “Direct 200 from my laptop proves the app. F5 curl timeout from 10.10.10.10 proves the security policy between self-IP and member. Open that rule, then re-test the VIP.”

Scenario D — takeaway

Direct 200 + F5 timeout = the app is fine; the source IP of F5 is not allowed. Open FW-INT-01 (or host firewall) for 10.10.10.10, then re-test the VIP.

E · Wrong iRule on the virtual server

What this is. Both TCP connections work. HTTP is being rewritten or dropped after F5 accepts the user. The objects look green because monitors never run the iRule path your user hits.

Why iRules can break a green pool. An iRule is Tcl that runs on events such as HTTP_REQUEST. It can pick another pool, change the URI, or drop the flow. F5 evaluates switch / if from the top. The first match wins. If /app1* is listed before *.gif, then /app1/smile.gif is sent to the app servers, which have no image files — 404. The image pool never sees the request. That is the DevCentral teaching example.

Why a TCL error resets the user. If the iRule reads a variable that does not exist, F5 logs 01220001:3: TCL error and aborts that iRule instance. F5 documents that this may reset the associated connection. The pool stays green. Only that request dies. Look in /var/log/ltm, not at the member status.

VS is green. Pool is green. Some URLs 200, images 404, or the connection resets.

Bad iRule · dummy
tmsh list ltm virtual vs_hr_https rules
ltm virtual vs_hr_https {
    rules { irule_hr_path }
}

# WRONG — /app1* matches before images
when HTTP_REQUEST {
  switch -glob [string tolower [HTTP::uri]] {
    "/app1*" { pool pool_hr_80 }
    "*.gif" -
    "*.jpg" { pool pool_hr_img }
    default { pool pool_hr_80 }
  }
}
/var/log/ltm · dummy
01220001:3: TCL error: /Common/irule_hr_path <HTTP_REQUEST> -
can't read "foo": no such variable     while executing "set x $foo"
# Connection reset for that request

How to fix it. Put the more specific match first (images before /app1*). In lab only, add log local0. "URI=[HTTP::uri]" so you can see which branch fired. Remove or wrap that log before production — DevCentral warns debug logs fill the disk. Re-test one GIF and one app page.

User PC · after fix
curl -sI https://hr.techclick-lab.in/app1/smile.gif \
  --resolve hr.techclick-lab.in:443:203.0.113.25
HTTP/1.1 200 OK
X-Pool: pool_hr_img
Scenario E — takeaway

Green VS + some URLs fail = read the iRule top to bottom. First match wins. TCL errors reset that one connection. Monitors will not catch this.

F · curl returns 200 — students think it is fixed

What this is. Your test is too small. HTTP 200 (RFC 9110 / 2616) means “this request was understood and accepted.” It does not mean “HR works for every employee on every URL.”

Why students get fooled. curl -I http://203.0.113.25/ is a HEAD to the VIP IP on port 80 with no Host name. F5 can answer that from the VS itself (empty 200, default page, or a different pool). Real users open https://hr.techclick-lab.in/app1/login — different scheme, port, SNI, Host header, and path. An iRule may only break /app1/auth POST. A firewall may only allow the F5 self-IP, so your curl from F5 is 200 while users time out.

How to test like a user. Same name, same HTTPS port, same Host, same path, and if login is the complaint, a POST or a real browser. Then look at the connection table: you must see both the client-VIP pair and the SNAT-member pair.

Your curlStill broken in production
curl -I http://203.0.113.25/ → 200Users use HTTPS :443 with SNI and a Host header
200 on /Login POST /app1/auth is rewritten by the iRule
200 from F5 itselfOnly the F5 self-IP is allowed; users are not
200 empty body / default pageWrong pool, or F5 “sorry” page you mistook for the app
200 from inside the DCEdge firewall still blocks the internet users
False pass · dummy
curl -sI http://203.0.113.25/
HTTP/1.1 200 OK
Server: BigIP
Content-Length: 0
# This is the VS answering. It is not HR.

curl -sk https://hr.techclick-lab.in/app1/login \
  --resolve hr.techclick-lab.in:443:203.0.113.25 \
  -o /tmp/body -w '%{http_code} %{url_effective}\n'
302 https://hr.techclick-lab.in/app1/login
# Now you tested the real host, path, and scheme.
Minimum proof before you close the ticket

1) User curl to VIP with Host + URI. 2) F5 curl to both members. 3) One user-browser login. 4) Connection table shows client IP and member IP. 5) Monitor still green after five intervals.

Scenario F — takeaway

A 200 only closes the test you ran. Close the ticket after a browser login and a connection-table row that shows VIP and member.

Runtime path

After go-live the packet is always the same. Memorise the chain used in Techclick F5 interview prep:

VLAN → virtual server → iRule / LTM policy → persistence → load-balancing method → pool member (monitor-checked) → SNAT → server.

Read that as a story. The packet arrives on a VLAN. The VIP is the front door. The iRule may change the destination. Persistence may pin the user to last week’s member. The load-balancing method picks among green members only. SNAT writes the source the server will see. If you skip a step in your head, you will skip it in the CLI.

Ops · proof after the fix
Infographic of five F5 proof commands before changing config
Run these five checks before you change config. A curl 200 on the wrong URL proves nothing.
Healthy connection table · dummy
tmsh show sys connection cs-server-addr 203.0.113.25
Sys::Connections
203.0.113.80:53122  203.0.113.25:443  10.10.10.10:53122  10.20.30.41:80  tcp  12

How to read one connection line. Left pair is the user talking to the VIP. Right pair is F5 talking to the member. 203.0.113.80:53122 → 203.0.113.25:443 is Connection 1. 10.10.10.10:53122 → 10.20.30.41:80 is Connection 2. If the last two columns never appear, you are still in Scenario B or D — F5 accepted the user and never completed the server side.

Traps and proof

SymptomLikely layerFirst commandDangerous wrong fix
Timeout to VIPA · user-to-F5curl -vk + show ltm virtualReboot pool members
VIP up, members redC · monitor/portshow ltm pool … membersDisable the monitor
Direct 200, VIP failD · FW / SNAT ACLcurl from F5 to memberRecreate the VS
Some URLs 200, some resetE · iRulelist ltm rule + /var/log/ltmAdd more persist profiles
curl -I 200, users failF · test too smallcurl with Host, URI, HTTPSTell the business it is fixed
Green everywhere, still failNo SNAT / HA syncconnection table + peer configClear persistence blindly

Workbook extras worth keeping in your pocket: HA pair out of sync after failover; SSL client vs server profile mismatch; persist pinning users to a dying member. Those are sister lessons — see the related F5 503 / SNAT lab after this quiz.

Knowledge check

Eight judgment items. Read the dummy CLI. One best answer. Reasons point you back to the scenario.

Q1

Laptop curl to the VIP times out. tmsh show sys connection cs-server-addr 203.0.113.25 is empty. What do you prove first?

Correct: b. Empty connection table after a failed client curl is Scenario A. Re-read “User cannot reach F5.”
Q2

Member 10.20.30.41 pings. Monitor marks it down. What is the monitor actually testing?

Correct: a. Scenario C. Ping up and HTTP down is the classic monitor story.
Q3

User curl to http://10.20.30.41/health = 200. F5 curl to the same URL times out. What is most likely?

Correct: c. Scenario D. Direct 200 plus F5 timeout is the firewall-between-F5-and-server pattern.
Q4

show ltm virtual vs_hr_https shows Availability offline, Reason: the children pool member(s) are down. What is true?

Correct: b. Matches F5 lab behaviour when all members are offline. Scenario C.
Q5

iRule matches /app1* before *.gif. App pages load, images under /app1/ 404. First fix?

Correct: a. Scenario E. Same class of bug as the DevCentral switch-order example.
Q6

curl -I http://203.0.113.25/ returns 200. Users still cannot log in on HTTPS. What did curl not prove?

Correct: d. Scenario F. 200 is only that exact test.
Q7

Pool is green. Users fail. Server default gateway is not F5. No SNAT on the VS. Best explanation?

Correct: c. Workbook trap: everything green, still fails — return path bypasses BIG-IP when SNAT is off.
Q8

Log line: 01220001:3: TCL error: /Common/irule_hr_path <HTTP_REQUEST> - can't read "foo". What happens to that connection?

Correct: b. Scenario E. F5 documents TCL runtime errors aborting the iRule and possibly resetting the flow.

F5 LTM series: F5 LTM troubleshooting path · F5 SNAT concept and issues · F5 cookie vs source-address persistence · F5 SSL offload vs passthrough.

Sources

Related: F5 SNAT concept and issues · F5 LTM 503 / SNAT evidence lab · F5 iRules — zero to production · LTM virtual servers and pools · Command ladder cheatsheet.