Supplement · Networking

8 failure & operations labs

Chạy trong Linux VM/WSL có quyền admin hoặc máy lab cô lập. Không chạy traffic shaping, firewall hay packet capture trên production.

8 failure drills

Trạng thái: đây là lab specification, chưa claim đã thực thi. Dùng labs/EVIDENCE.md để ghi environment, command/output và kết luận sau khi chạy.

Lab 01 · Namespace packet path

Mục tiêu: tạo client/router/server bằng network namespaces, veth và routes; phục vụ HTTP ở server.

Inject: xóa return route rồi đổi sai prefix; dự đoán packet nào còn xuất hiện ở mỗi interface trước khi capture.

Pass criteria: client gọi được ở baseline; lỗi được quy về exact route/chiều; khôi phục không dùng route thừa.

Evidence: topology diagram, ip -br a, ip route, ip route get, capture hai phía và timestamps.

Lab 02 · Neighbor và L2 failure

Mục tiêu: quan sát ARP/neighbor state trong cùng link và gateway case.

Inject: đưa interface down, gán duplicate IPv4 trong lab hoặc tạo static neighbor sai rồi phục hồi.

Pass criteria: phân biệt no route với unresolved/incorrect neighbor; giải thích ARP request/reply và state transition.

Evidence: ip neigh trước/sau, ARP capture, interface counters và rollback log.

Lab 03 · TCP lifecycle, queues và TIME_WAIT

Mục tiêu: chạy listener chấp nhận chậm; tạo burst short-lived connections và connection reuse.

Inject: giảm backlog trong fixture, trì hoãn accept, so sánh keepalive/pooling.

Pass criteria: chỉ ra SYN queue/accept queue/application queue; giải thích TIME_WAIT owner; không “fix” bằng tăng mọi sysctl.

Evidence: ss -lnt, ss -s, nstat, load result và process FD count.

Lab 04 · Loss, latency và PMTU black hole

Mục tiêu: dùng tc netem trong namespace để inject delay/loss; tạo MTU mismatch có kiểm soát.

Inject: 2% loss, 100 ms delay; chặn ICMP Packet Too Big trong lab và gửi payload lớn.

Pass criteria: phân biệt RTT tăng, retransmission và PMTU failure; rollback toàn bộ qdisc/firewall.

Evidence: tc qdisc, tracepath, TCP info, ICMP/TCP capture, p50/p99 trước/sau.

Lab 05 · Stateful firewall và NAT capacity

Mục tiêu: cấu hình forwarding + SNAT cho namespace client; quan sát conntrack mapping.

Inject: rule order sai, DROP so với REJECT; tạo connection churn có giới hạn để thấy tuple growth.

Pass criteria: giải thích chiều translation/return, khác biệt timeout user thấy, và đề xuất pooling/capacity guardrail.

Evidence: ruleset export, conntrack sampled output/counters, socket states và rollback verification.

Lab 06 · DNS cache và failure semantics

Mục tiêu: chạy authoritative/recursive DNS fixture local hoặc dùng CoreDNS/dnsmasq; tạo A, CNAME và NXDOMAIN.

Inject: thay record/TTL, SERVFAIL, delayed response; kiểm tra application cache khác dig.

Pass criteria: phân biệt authoritative/recursive/application cache và NXDOMAIN/SERVFAIL; lập cutover timeline đúng.

Evidence: zone/config, dig +trace hoặc targeted queries, resolver logs, timestamps và app result.

Lab 07 · TLS SNI, chain và rotation

Mục tiêu: chạy hai TLS virtual hosts với CA/certificate lab; test đúng/sai SNI và trust store.

Inject: thiếu intermediate, hostname mismatch, expired/not-yet-valid cert; rotate certificate.

Pass criteria: xác định đúng validation step; không dùng insecure verify; rotation không phá connection mới ngoài cửa sổ định nghĩa.

Evidence: openssl s_client -servername, certificate fields/fingerprints, server logs và client verify output (không lưu private key).

Lab 08 · Production-style intermittent latency

Mục tiêu: fixture client→proxy→hai backends; một backend inject delay/loss theo chu kỳ.

Inject: DNS trả nhiều IP hoặc proxy round-robin, backend chậm 20% request; bật retry có giới hạn rồi thử cấu hình retry nguy hiểm.

Pass criteria: khoanh vùng theo backend/phase, chứng minh retry amplification, đưa mitigation reversible và verify user-facing SLO.

Evidence: request IDs, phase timings (DNS/connect/TLS/TTFB), proxy/backend logs, socket/capture sample, error/latency/load deltas.

Rubric chung

MứcTiêu chí
FoundationReproduce, rollback sạch, mô tả symptom đúng.
OperationalPrediction trước test; evidence ở ít nhất hai layer; exact failing hop/state.
SeniorĐịnh lượng impact, safe mitigation, trade-off và verification chống regression.

Mẫu evidence cho mỗi lab

Trạng thái ban đầu: chưa thực thi. Đây là mẫu ghi bằng chứng; không phải chứng nhận lab đã chạy.

Quy tắc evidence

Lab NN - Tên

← Câu hỏiChecklist →