Linux Network Diagnostics & Troubleshooting: Bí Kíp Chẩn Đoán Mạng Máy Chủ
Mạng máy chủ (Linux Networking) là xương sống của mọi hệ thống phân tán. Khi xảy ra tình trạng "kết nối chập chờn", "packet loss", hay "port connection refused", một kỹ sư DevOps...
Linux Network Diagnostics & Troubleshooting: Bí Kíp Chẩn Đoán Mạng Máy Chủ
Mạng máy chủ (Linux Networking) là xương sống của mọi hệ thống phân tán. Khi xảy ra tình trạng "kết nối chập chờn", "packet loss", hay "port connection refused", một kỹ sư DevOps giỏi không bao giờ đổ lỗi chung chung cho "mạng chậm", mà phải dùng các công cụ kernel để định vị chính xác vị trí tắc nghẽn.
1. Kiểm tra Socket & Cổng kết nối với ss (Thay thế hoàn toàn netstat lỗi thời)
ss (Socket Statistics) giao tiếp trực tiếp với Linux Kernel qua Netlink subsystem, nhanh hơn netstat gấp nhiều lần khi server có hàng vạn kết nối.
# Liệt kê tất cả các cổng TCP đang lắng nghe kèm PID tiến trình sở hữu
sudo ss -tulpn
# Đếm số lượng kết nối TCP theo từng trạng thái (ESTAB, TIME-WAIT, CLOSE-WAIT)
ss -ant | awk '{print $1}' | sort | uniq -c
Cảnh báo trạng thái Socket:
TIME_WAITquá cao (> 10,000): Ứng dụng tạo quá nhiều kết nối ngắn hạn (short-lived connection) mà không tái sử dụng connection pool.CLOSE_WAITtăng cao: Ứng dụng phía backend không chịu gọi hàmclose()sau khi client đã ngắt kết nối — dấu hiệu rõ ràng của Socket Leak trong code!
2. Bắt gói tin thực chiến với tcpdump
Khi cần bằng chứng không thể chối cãi xem gói tin có thực sự tới được máy chủ hay không:
# Bắt gói tin trên cổng 80 hoặc 443 và in ra dạng ASCII dễ đọc
sudo tcpdump -nnvv -i eth0 port 80 or port 443 -c 50
# Bắt các gói tin liên quan đến DNS query (port 53)
sudo tcpdump -nn -i any port 53
3. Kiểm tra định tuyến (Routing) và MTU
# Xem bảng định tuyến IP
ip route show
# Kiểm tra cổng mạng vật lý có bị drop packet ở tầng phần cứng không
ip -s link show eth0
# Đo lường MTU để tránh phân mảnh gói tin (Packet Fragmentation)
ping -M do -s 1472 -c 3 8.8.8.8
💡 Mẹo lưu trữ & sử dụng trong đội ngũ
Bạn có thể tải bản PDF vector về lưu trữ trong kho tài liệu nội bộ của team (Notion, Confluence) hoặc in khổ A4 dán tại bàn làm việc để tra cứu nhanh khi gặp sự cố lúc nửa đêm.
Video Bóc Tách: Port Trong Mạng Máy Tính Là Gì? Tại Sao Cần Port Binding Trong Docker?
Xem video mô phỏng động trực quan đi kèm với cheatsheet này để hiểu sâu sắc cơ chế hoạt động chỉ trong 60 giây.

