Liên hệProfile
Danh mục

Mục Lục

    Top 11 lệnh khắc phục sự cố mạng trong Linux hiệu quả

    Nguyễn Hưng

    Ngày đăng:

    09/02/2026

    Cập nhật lần cuối:

    09/02/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    09/02/2026

    Cập nhật lần cuối:

    09/02/2026

    Mục lục

    Trong hệ thống Linux, sự cố mạng có thể xuất hiện ở mọi tầng, từ dây cáp vật lý, card mạng, cấu hình IP đến DNS và định tuyến, khiến dịch vụ và trải nghiệm người dùng bị gián đoạn. Trong bài viết này, mình sẽ giới thiệu 11 lệnh khắc phục sự cố mạng trong Linux thiết yếu, giúp bạn nhanh chóng xác định điểm nghẽn và đưa hệ thống trở lại trạng thái ổn định.

    Những điểm chính

    • Các trường hợp cần sử dụng lệnh: Biết được các tình huống thực tế cần dùng đến các lệnh khắc phục sự cố mạng, từ việc mất kết nối, mạng chậm đến lỗi phân giải tên miền.
    • Cách sử dụng các lệnh khắc phục sự cố: Nắm vững công dụng và cách thực thi của 11 lệnh thiết yếu, từ các lệnh cơ bản (ping, nslookup, traceroute) đến các công cụ chuyên sâu (netstat, ethtool, dig).
    • Khắc phục sự cố: Biết cách kiểm tra mạng theo trình tự khoa học từ giao diện vật lý, bảng định tuyến đến tường lửa giúp khoanh vùng và sửa lỗi chính xác nhất.
    • Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các vấn đề nâng cao như cách kết hợp các lệnh để phân biệt nguyên nhân gây nghẽn, cách giám sát theo thời gian và tích hợp vào các hệ thống cảnh báo tự động.

    Khi nào cần sử dụng các lệnh khắc phục sự cố mạng?

    Người dùng nên sử dụng các lệnh khắc phục sự cố mạng trên Linux khi gặp phải các tình trạng sau:

    • Mất kết nối hoàn toàn: Khi máy tính của bạn không thể truy cập Internet hoặc không kết nối được với máy chủ từ xa.
    • Mạng chậm: Khi bạn nhận thấy kết nối vẫn còn nhưng tốc độ tải rất chậm, độ trễ cao hoặc tín hiệu không ổn định.
    • Lỗi phân giải tên miền: Khi bạn có thể truy cập website/server bằng địa chỉ IP nhưng lại thất bại khi nhập tên miền.
    • Dịch vụ không phản hồi: Khi máy chủ của bạn vẫn hoạt động nhưng người dùng không thể truy cập vào các ứng dụng cụ thể như Website, Email hay SSH.
    • Xung đột mạng nội bộ: Khi có thông báo trùng lặp địa chỉ IP hoặc kết nối trong mạng LAN bị gián đoạn bất thường.
    • Nghi ngờ lỗi vật lý: Khi bạn cần xác định xem dây cáp mạng có bị đứt, lỏng hoặc Card mạng (NIC) có đang bị lỗi phần cứng hay không.
    • Sai lệch định tuyến: Khi gói tin đi sai đường hoặc không thể tìm thấy đường đi đến đích.
    Các trường hợp cần sử dụng lệnh khắc phục sự cố mạng
    Các trường hợp cần sử dụng lệnh khắc phục sự cố mạng

    1. Lệnh ping

    ping là công cụ chẩn đoán cơ bản hoạt động dựa trên giao thức ICMP, gửi các gói tin “Echo Request” đến máy đích và đo thời gian chờ gói tin “Echo Reply” trả về.

    Công dụng chính:

    • Xác định tính khả dụng: Kiểm tra xem máy chủ đích có đang hoạt động và phản hồi hay không.
    • Đo lường chất lượng mạng: Thông số time= (latency) cho biết độ trễ mạng. Nếu chỉ số này cao hoặc dao động mạnh có nghĩa là mạng đang bị nghẽn.
    • Phát hiện mất gói tin: Tỷ lệ packet loss cho biết độ ổn định của đường truyền và nguyên nhân gây mất gói tin thường do nhiễu tín hiệu hoặc thiết bị mạng quá tải.

    Lệnh thực hiện:

    ping google.com
    ping 8.8.8.8
    Kết quả sau khi thực thi lệnh ping
    Kết quả sau khi thực thi lệnh ping

    2. Lệnh nslookup

    Khi bạn truy cập được server bằng IP nhưng thất bại khi dùng tên miền, vấn đề có thể nằm ở DNS. nslookup sẽ giúp bạn kiểm tra quá trình này.

    Vai trò chính:

    • Kiểm tra DNS Server: Xác định xem DNS Server mặc định của máy bạn có đang hoạt động hay không.
    • Phân giải xuôi (Forward Lookup): Tìm địa chỉ IP tương ứng với một tên miền.
    • Phân giải Ngược (Reverse Lookup): Tìm tên miền gắn liền với một địa chỉ IP cụ thể.

    Lệnh thực hiện:

    nslookup facebook.com
    Kết quả sau khi chạy lệnh nslookup
    Kết quả sau khi chạy lệnh nslookup

    3. Lệnh traceroute

    Lệnh traceroute cho biết gói tin bị chặn ở đâu bằng cách liệt kê từng trạm dừng (hop) mà gói tin đi qua để đến đích.

    Công dụng chính:

    • Khoanh vùng sự cố: Giúp xác định lỗi nằm trong mạng nội bộ (LAN), nhà cung cấp dịch vụ (ISP) hay tại máy chủ đích.
    • Phát hiện điểm nghẽn: Nhìn vào thời gian phản hồi tại từng hop, bạn có thể biết router nào đang xử lý chậm.
    • Kiểm tra định tuyến: Xác nhận xem gói tin có đi đúng lộ trình mong muốn hay không.

    Cài đặt:

    • Đối với Ubuntu/Debian:
    sudo apt-get install traceroute
    • Đối với CentOS/RHEL:
    yum install traceroute

    Lệnh thực hiện:

    traceroute www.google.com
    Lệnh traceroute cho biết gói tin bị chặn ở đâu
    Lệnh traceroute cho biết gói tin bị chặn ở đâu

    4. Lệnh host

    host là một tiện ích nhỏ gọn, cung cấp thông tin DNS súc tích hơn nslookup hay dig và thường được dùng trong các script tự động hóa hoặc khi cần kiểm tra nhanh.

    Công dụng chính:

    • Tra cứu nhanh: Trả về địa chỉ IPv4 (bản ghi A) và IPv6 (bản ghi AAAA) của tên miền.
    • Kiểm tra bản ghi ngược: Xác minh tính hợp lệ của IP máy chủ mail hoặc web server.

    Lệnh thực hiện:

    host google.com
    host 31.13.78.35
    Lệnh host cung cấp thông tin DNS
    Lệnh host cung cấp thông tin DNS

    5. Lệnh netstat

    netstat cho phép bạn nhìn thấy mọi kết nối ra/vào và các cổng đang mở.

    Công dụng chính:

    • Giám sát kết nối: Xem danh sách các kết nối TCP/UDP đang được thiết lập (ESTABLISHED), đang chờ (TIME_WAIT),…
    • Kiểm tra cổng dịch vụ: Xác định xem Web server (port 80), SSH (port 22) hay Database có đang lắng nghe (LISTENING) hay không.
    • Bảng định tuyến: Xem cách kernel định tuyến các gói tin.

    Lệnh thực hiện:

    netstat
    netstat -r

    Bạn có thể sử dụng netstat -tuln để liệt kê nhanh toàn bộ các cổng TCP/UDP đang mở dưới dạng số.

    Lệnh netstat -tuln để liệt kê nhanh toàn bộ các cổng TCP/UDP đang mở dưới dạng số
    Lệnh netstat -tuln để liệt kê nhanh toàn bộ các cổng TCP/UDP đang mở dưới dạng số

    6. Lệnh arp

    Trong mạng nội bộ (LAN), các thiết bị giao tiếp với nhau bằng địa chỉ MAC (Lớp 2), không phải IP (Lớp 3). Khi đó, giao thức ARP sẽ giúp ánh xạ giữa hai loại địa chỉ này.

    Công dụng chính:

    • Kiểm tra kết nối LAN: Xác nhận xem máy tính có nhìn thấy các thiết bị khác trong mạng nội bộ không.
    • Bảo mật mạng: Phát hiện tấn công ARP Spoofing hoặc xung đột IP.

    Lệnh thực hiện:

    arp
    arp -e
    Lệnh arp hiển thị bảng ánh xạ MAC/IP
    Lệnh arp hiển thị bảng ánh xạ MAC/IP

    7. Lệnh ifconfig

    ifconfig là công cụ cấu hình và kiểm tra trạng thái các card mạng (NIC) phổ biến, mạnh mẽ.

    Công dụng chính:

    • Thông tin cấu hình: Hiển thị IP, Subnet Mask, Broadcast Address và địa chỉ MAC.
    • Trạng thái hoạt động: Bật hoặc tắt giao diện mạng để reset kết nối.
    • Thống kê lưu lượng: Theo dõi số lượng gói tin đã gửi/nhận và số lượng gói tin bị lỗi để chẩn đoán lỗi phần cứng hoặc driver.

    Lệnh thực hiện:

    ifconfig
    Lệnh ifconfig giúp quản lý giao diện mạng
    Lệnh ifconfig giúp quản lý giao diện mạng

    8. Lệnh dig

    dig là công cụ yêu thích của các quản trị viên hệ thống vì tính linh hoạt và lượng thông tin chi tiết mà lệnh này cung cấp trực tiếp từ máy chủ DNS.

    Công dụng chính:

    • Troubleshoot DNS nâng cao: Cho phép truy vấn cụ thể từng loại bản ghi như A, MX, TXT, CNAME.
    • Kiểm tra đường đi của truy vấn: Hiển thị thời gian phản hồi của từng DNS server và cấu trúc cây phân giải tên miền.

    Lệnh thực hiện:

    dig A google.com
    Tra cứu bản ghi DNS nâng cao bằng lệnh dig
    Tra cứu bản ghi DNS nâng cao bằng lệnh dig

    9. Lệnh route

    Lệnh route quản lý bảng định tuyến IP của Kernel, quyết định gói tin sẽ đi ra cổng nào để đến được đích.

    Công dụng chính:

    • Kiểm tra Gateway mặc định: Xác định gói tin Internet đi qua router nào.
    • Cấu hình định tuyến tĩnh: Thêm các tuyến đường thủ công để kết nối đến các mạng con cụ thể như mạng VPN hoặc mạng nội bộ riêng biệt.

    Lệnh thực hiện:

    route
    sudo ip addr add 10.0.0.2/24 dev eth0 # Thêm tuyến đường mới
    sudo route add -net 14.225.254.0/24 gw 10.0.0.1
    Lệnh route cho phép hiển thị và chỉnh sửa bảng định tuyến
    Lệnh route cho phép hiển thị và chỉnh sửa bảng định tuyến

    10. Lệnh ethtool

    Khi nghi ngờ lỗi nằm ở lớp vật lý như dây cáp hỏng, cổng switch lỗi,… ethtool là công cụ giúp bạn giao tiếp trực tiếp với driver của card mạng.

    Công dụng chính:

    • Kiểm tra liên kết vật lý: Mục Link detected: yes cho biết dây cáp đã cắm chặt và có tín hiệu.
    • Kiểm tra tốc độ: Xác định tốc độ đàm phán (Speed: 1000Mb/s hay 100Mb/s) và chế độ song công (Duplex Full/Half).
    • Thống kê lỗi phần cứng: Đọc các chỉ số CRC Error để biết cáp mạng có bị nhiễu hay hỏng không.

    Lệnh thực hiện:

    ethtool eth0
    Lệnh ethtool hỗ trợ kiểm tra và thay đổi cấu hình NIC
    Lệnh ethtool hỗ trợ kiểm tra và thay đổi cấu hình NIC

    11. Lệnh hostname

    Hostname đóng vai trò quan trọng trong việc định danh thiết bị trên mạng, trong logs hệ thống và cấu hình mail server.

    Công dụng chính:

    • Xác định danh tính: Hiển thị tên máy hiện tại (FQDN).
    • Cấu hình hệ thống: Đổi tên máy để phù hợp với quy hoạch mạng hoặc xử lý lỗi khi hostname không phân giải được về IP 127.0.0.1.

    Lệnh thực hiện:

    hostname
    hostnamectl set-hostname mypc
    Lệnh hostname cho phép hiển thị hoặc thay đổi hostname
    Lệnh hostname cho phép hiển thị hoặc thay đổi hostname

    Để xử lý các vấn đề mất kết nối hoặc mạng không ổn định trên hệ điều hành Linux, người quản trị hệ thống cần thực hiện quy trình kiểm tra từng bước để khoanh vùng lỗi. Dưới đây là các bước chẩn đoán và khắc phục cụ thể:

    Kiểm tra trạng thái giao diện mạng

    Bước đầu tiên là xác định xem phần cứng hoặc giao diện mạng ảo có đang hoạt động hay không. Bạn hãy sử dụng lệnh ip link show, ip a hoặc ifconfig -a để liệt kê các giao diện.

    Trong kết quả lệnh, bạn cần chú ý trạng thái của thiết bị (ví dụ: eth0 hoặc wlan0):

    • Nếu trạng thái hiển thị là UP, giao diện đang hoạt động.
    • Nếu là DOWN, bạn cần kích hoạt lại bằng lệnh sudo ifup <tên_giao_diện> hoặc khởi động lại với ifdown/ifup.

    Kiểm tra kết nối địa chỉ IP

    Sau khi xác nhận interface đã hoạt động, bạn cần kiểm tra khả năng truyền gói tin. Hệ thống cần phải có một địa chỉ IP hợp lệ để tham gia vào mạng.

    • Kiểm tra IP: Bạn hãy chạy lệnh ip addr show để xem máy đã nhận được địa chỉ IP (IPv4/IPv6) chưa.
    • Kiểm tra kết nối LAN: Người dùng có thể thử lệnh ping [địa_chỉ_gateway] để xác nhận kết nối tới router.
    • Kiểm tra kết nối Internet: Bạn hãy thử lệnh ping 8.8.8.8 (DNS của Google) để kiểm tra xem máy có thể kết nối ra ngoài Internet hay không.
    Kiểm tra kết nối địa chỉ IP
    Kiểm tra kết nối địa chỉ IP (Nguồn: Internet)

    Kiểm tra tuyến đường và bảng định tuyến

    Dữ liệu có thể không biết đi đường nào nếu bảng định tuyến bị cấu hình sai. Bạn chạy lệnh sau để đảm bảo gateway mặc định đã được cấu hình đúng:

    ip route 

    Hoặc:

    route -n

    Bảng định tuyến phải có dòng default via [địa_chỉ_gateway]. Nếu thiếu dòng này, máy tính sẽ không thể truy cập Internet.

    Kiểm tra phân giải tên miền

    Nếu bạn có thể ping được IP (ví dụ: 8.8.8.8) nhưng không vào được trang web bằng tên miền (ví dụ: google.com), thì sự cố nằm ở máy chủ DNS.

    Bạn hãy thử lệnh nslookup google.com hoặc dig google.com. Sau đó, bạn kiểm tra và cập nhật file cấu hình /etc/resolv.conf để đảm bảo máy chủ DNS (nameserver) được khai báo đúng.

    Kiểm tra phân giải tên miền
    Kiểm tra phân giải tên miền (nguồn: Internet)

    Kiểm tra tường lửa

    Đôi khi các quy tắc tường lửa có thể đang chặn các cổng hoặc giao thức kết nối quan trọng. Do đó bạn cần kiểm tra trạng thái các quy tắc chặn/cho phép.

    • Với iptables: Sử dụng lệnh sudo iptables -L.
    • Với ufw (trên Ubuntu/Debian): Sử dụng lệnh sudo ufw status.
    • Với firewalld (trên CentOS/RHEL): Sử dụng lệnh sudo firewall-cmd --list-all.

    Kiểm tra trạng thái dịch vụ mạng

    Nhiều bản phân phối Linux hiện đại sử dụng NetworkManager để quản lý kết nối. Dịch vụ quản lý mạng cần phải ở trạng thái hoạt động ổn định. Bạn kiểm tra bằng lệnh:

    systemctl status NetworkManager

    Trạng thái hiển thị phải là active (running). Nếu dịch vụ bị treo, bạn hãy dùng lệnh sudo systemctl restart NetworkManager để khởi động lại.

    Kiểm tra chi tiết kết nối

    Để xem chi tiết các cổng đang mở hoặc các kết nối ngầm, bạn chạy lệnh dưới đây để liệt kê các cổng đang lắng nghe và tiến trình liên quan:

    ss -tulpn

    Hoặc:

    netstat -tulpn

    Các giải pháp xử lý nếu sự cố vẫn tiếp diễn

    Nếu các bước kiểm tra trên không giải quyết được vấn đề, bạn cần can thiệp sâu hơn vào các tệp tin cấu hình hệ thống. 

    • Trên hệ điều hành RHEL/CentOS: Kiểm tra các tệp tin cấu hình card mạng tại thư mục /etc/sysconfig/network-scripts/.
    • Trên hệ điều hành Debian/Ubuntu: Kiểm tra cấu hình tại tệp /etc/network/interfaces hoặc các tệp YAML trong thư mục /etc/netplan/.
    • Sử dụng công cụ theo dõi thời gian thực: Lệnh nmcli device monitor giúp bạn theo dõi các thay đổi của thiết bị mạng ngay khi chúng xảy ra.
    Sử dụng công cụ theo dõi thời gian thực
    Sử dụng công cụ theo dõi thời gian thực (nguồn: Internet)

    Câu hỏi thường gặp

    Kết hợp các lệnh ping, traceroute, mtr và netstat như thế nào để phân biệt nghẽn mạng do ISP, do firewall hay do ứng dụng?

    Ping/mtr giúp đo độ trễ và mất gói theo từng hop, nếu vấn đề nghẽn xuất hiện từ hop thuộc ISP thì nhiều khả năng vấn đề nằm ngoài hạ tầng của bạn. traceroute hỗ trợ xác định đoạn mạng cụ thể trong khi netstat/ss cho thấy số lượng kết nối và trạng thái socket, từ đó giúp bạn phân biệt được ứng dụng bị quá tải, bị firewall chặn hay thực sự là lỗi đường truyền.​

    Làm sao giám sát và log lại kết quả các lệnh netstat, route, hostname theo thời gian để phân tích xu hướng sự cố mạng lặp lại?

    Bạn có thể chạy các lệnh này định kỳ bằng cron hoặc systemd timer, ghi kết quả vào file log kèm timestamp và xoay vòng log bằng logrotate. Với hệ thống lớn, bạn nên tích hợp vào stack giám sát như Prometheus, ELK hoặc Zabbix để dễ dàng vẽ biểu đồ số kết nối, thay đổi route và thống kê theo thời gian.

    Các lệnh trong bài có thể tích hợp vào script hoặc công cụ giám sát tự động như thế nào để cảnh báo sớm sự cố mạng?

    Bạn có thể viết shell script chạy ping, dig, traceroute, ethtool, sau đó parse kết quả và trả mã thoát phù hợp để Zabbix/Nagios hiểu đó là trạng thái OK/WARNING/CRITICAL. Với Prometheus, bạn có thể dùng exporter hoặc script xuất số liệu dạng /metrics, ví dụ latency trung bình hay số kết nối ESTABLISHED, để thiết lập rule cảnh báo khi vượt ngưỡng.

    Linux cung cấp cho người dùng một hệ thống công cụ toàn diện để kiểm tra và xử lý sự cố mạng một cách hiệu quả. Việc nắm vững các lệnh từ kiểm tra kết nối cơ bản như ping, phân tích đường đi với traceroute cho đến thao tác sâu ở tầng phần cứng với ethtool giúp quá trình tìm kiếm nguyên nhân và khắc phục lỗi diễn ra nhanh chóng, góp phần duy trì tính ổn định cho hệ thống.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Dùng lệnh chmod trên Linux để quản lý quyền truy cập file và thư mục hiệu quả
    Dùng lệnh chmod trên Linux để quản lý quyền truy cập file và thư mục hiệu quả

    Lệnh chmod trong Linux là công cụ dùng để thiết lập và thay đổi quyền truy cập đối với file và thư mục trong hệ thống. Việc cấu hình quyền đúng cách giúp kiểm soát truy cập, tăng cường bảo mật và hạn chế các lỗi phát sinh khi vận hành ứng dụng. Trong bài…

    10/02/2026

    Sử dụng lệnh passwd trên Linux quản lý mật khẩu người dùng an toàn và hiệu quả
    Sử dụng lệnh passwd trên Linux quản lý mật khẩu người dùng an toàn và hiệu quả

    Lệnh passwd trong Linux là công cụ dòng lệnh dùng để thiết lập, thay đổi và quản lý mật khẩu của tài khoản người dùng trên hệ thống. Việc sử dụng passwd đúng cách giúp tăng cường bảo mật, kiểm soát quyền truy cập và hạn chế rủi ro liên quan đến tài khoản người…

    10/02/2026

    Lệnh zcat trong Linux là gì? Cách sử dụng lệnh zcat kèm ví dụ dễ hiểu
    Lệnh zcat trong Linux là gì? Cách sử dụng lệnh zcat kèm ví dụ dễ hiểu

    Lệnh zcat trong Linux là công cụ dòng lệnh dùng để xem và xử lý nội dung của các file nén định dạng .gz mà không cần giải nén. Với zcat, bạn có thể nhanh chóng đọc dữ liệu, kết hợp cùng các lệnh như grep, less, head để phân tích file nén một cách…

    10/02/2026

    Hướng dẫn sử dụng lệnh groupdel trên Linux để xoá nhóm người dùng
    Hướng dẫn sử dụng lệnh groupdel trên Linux để xoá nhóm người dùng

    Lệnh groupdel trong Linux là công cụ dòng lệnh dùng để xóa nhóm người dùng khỏi hệ thống. Việc sử dụng groupdel đúng cách giúp hệ thống gọn gàng hơn, hạn chế rủi ro phân quyền sai và tăng tính bảo mật trong quá trình quản trị. Trong bài viết này, mình sẽ cùng bạn…

    09/02/2026

    linux

    lenh

    text