Liên hệProfile
Danh mục

Mục Lục

    Cách sử dụng nmcli để quản lý mạng trên Linux dòng lệnh

    Nguyễn Hưng

    Ngày đăng:

    13/01/2026

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

    13/01/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:

    13/01/2026

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

    13/01/2026

    Mục lục

    nmcli là công cụ giao diện dòng lệnh mạnh mẽ dùng để điều khiển NetworkManager, cho phép người dùng cấu hình và quản lý các kết nối mạng trực tiếp từ terminal thông qua các câu lệnh thực thi tức thì. Bài viết này sẽ hướng dẫn bạn cách sử dụng nmcli từ cơ bản đến nâng cao để làm chủ mọi thiết lập mạng trên Linux một cách chuyên nghiệp và hiệu quả nhất.

    Những điểm chính

    • Định nghĩa nmcli: Hiểu rõ định nghĩa, vai trò của nmcli để quản lý mạng trên Linux thông qua dòng lệnh.
    • Chức năng chính của nmcli: Nắm được các khả năng quan trọng như hiển thị trạng thái, quản lý kết nối, cấu hình chi tiết và tự động hóa tác vụ.
    • Cú pháp: Nắm được cấu trúc cú pháp cơ bản của nmcli.
    • Các trường hợp sử dụng tối ưu: Biết được khi nào nên dùng nmcli để phát huy tối đa hiệu quả, đặc biệt trong môi trường máy chủ và tự động hóa.
    • Lý do nên sử dụng nmcli: Thấy rõ ưu điểm vượt trội về hiệu suất, tính linh hoạt và khả năng kiểm soát chuyên sâu của nmcli so với các công cụ đồ họa.
    • Các câu lệnh kiểm tra mạng: Nắm vững các lệnh thực tế để cài đặt, kiểm tra trạng thái kết nối, bật/tắt và xem chi tiết thông tin card mạng.
    • Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các câu hỏi thường gặp, giúp bạn giải quyết nhanh các tình huống thực tế khi sử dụng nmcli.

    nmcli là gì?

    nmcli là một công cụ dòng lệnh mạnh mẽ dùng để quản lý và giám sát các kết nối mạng thông qua NetworkManager trên hệ điều hành Linux. Với nmcli, bạn có thể thay thế hoàn toàn cho các công cụ giao diện đồ họa như nm-applet để thực hiện các thao tác như tạo mới, hiển thị, chỉnh sửa, xóa, kích hoạt hoặc vô hiệu hóa các kết nối mạng. Ngoài ra, nmcli còn cho phép kiểm soát và xem trạng thái hoạt động của các thiết bị mạng vật lý và ảo trong hệ thống.

    nmcli được dùng để quản lý và giám sát các kết nối mạng thông qua NetworkManager trên hệ điều hành Linux
    nmcli được dùng để quản lý và giám sát các kết nối mạng thông qua NetworkManager trên hệ điều hành Linux

    Với giao diện dòng lệnh thân thiện cho script, nmcli đặc biệt hữu ích khi bạn cần tự động hóa quản lý mạng trên máy chủ, máy tính không có giao diện đồ họa hoặc trong các kịch bản shell. Bên cạnh đó, NetworkManager cũng hỗ trợ các script dispatcher để thực hiện tác vụ tùy chỉnh khi xảy ra sự kiện mạng.

    Chức năng chính của nmcli

    Về chức năng, nmcli cho phép người dùng thực hiện toàn bộ các tác vụ quản lý mạng, bao gồm:

    • Hiển thị trạng thái mạng hiện tại: Giúp nhanh chóng xem các giao diện mạng đang hoạt động, địa chỉ IP, trạng thái kết nối,…
    • Quản lý kết nối mạng: Kết nối, ngắt kết nối, kích hoạt hoặc vô hiệu hóa các kết nối Wi-Fi, Ethernet, VPN, hoặc di động.
    • Cấu hình mạng chi tiết: Cho phép thêm, xóa, chỉnh sửa các cài đặt của từng kết nối mạng, bao gồm địa chỉ IP tĩnh/động, DNS, gateway,…
    • Tự động hóa tác vụ: Vì là công cụ dòng lệnh, nmcli lý tưởng để sử dụng trong các cách viết script shell, giúp bạn tự động hóa việc cấu hình và quản lý mạng trên nhiều máy chủ.

    Với khả năng này, nmcli hoàn toàn có thể thay thế cho các ứng dụng giao diện đồ họa như nm-applet hay nmtui, mang lại quyền kiểm soát tối đa cho người dùng.

    Cú pháp của nmcli

    Cấu trúc lệnh nmcli như sau:

    nmcli [OPTIONS] OBJECT { COMMAND | help } [ARGUMENTS...]

    Trong đó, OBJECT là thành phần bạn muốn tác động với các đối tượng chính bao gồm:

    • general: Quản lý trạng thái chung và quyền hạn của NetworkManager.
    • networking: Kiểm soát trạng thái mạng tổng thể.
    • radio: Quản lý các công tắc không dây (Wi-Fi, WWAN).
    • connection (hoặc c): Thao tác với các hồ sơ kết nối.
    • device (hoặc d): Quản lý các giao diện mạng vật lý.

    Các trường hợp sử dụng nmcli tối ưu

    Sức mạnh của nmcli được thể hiện rõ nhất trong các môi trường đặc thù như sau:

    • Tự động hóa: Nhờ hỗ trợ định dạng đầu ra ngắn gọn, nmcli là lựa chọn lý tưởng để tích hợp vào các tập lệnh (scripts) quản trị hệ thống, giúp tự động hóa việc cấu hình mạng hàng loạt.
    • Môi trường không giao diện: Trên các máy chủ Linux không cài đặt giao diện đồ họa (GUI) hoặc khi làm việc từ xa qua SSH, nmcli là công cụ cần thiết để quản lý mạng một cách hiệu quả.
    nmcli tối ưu cho giao diện không đồ họa và tự động hóa
    nmcli tối ưu cho giao diện không đồ họa và tự động hóa (Nguồn: Internet)

    Tại sao nên sử dụng nmcli?

    nmcli là một công cụ quản lý mạng mạnh mẽ trên Linux, được ưu tiên sử dụng vì ba lý do chính:

    • Hiệu quả trên server: Là công cụ dòng lệnh, nmcli hoạt động lý tưởng trên các máy chủ không có giao diện đồ họa (headless servers), cho phép quản trị viên cấu hình mạng từ xa một cách nhanh chóng và hiệu quả.
    • Khả năng tự động hóa: nmcli có thể dễ dàng tích hợp vào các kịch bản (shell scripts) để tự động hóa hoàn toàn các tác vụ thiết lập hoặc thay đổi cấu hình mạng, giúp đảm bảo tính nhất quán và giảm thiểu sai sót.
    • Mạnh mẽ và linh hoạt: Công cụ này cung cấp quyền kiểm soát chi tiết và toàn diện hơn hẳn so với các giao diện đồ họa, cho phép người dùng tinh chỉnh các thông số mạng nâng cao một cách dễ dàng.

    1. Cài đặt nmcli

    Từ phiên bản CentOS 7 trở đi, NetworkManager đã trở thành công cụ quản lý mạng mặc định, hỗ trợ cả giao diện dòng lệnh (nmcli) và giao diện văn bản (nmtui). Đầu tiên, bạn hãy kiểm tra xem NetworkManager đã được cài đặt hay chưa bằng lệnh:

    $ nmcli  --version
    kiểm tra xem NetworkManager đã được cài đặt hay chưa
    kiểm tra xem NetworkManager đã được cài đặt hay chưa

    Nếu lệnh trả về phiên bản của NetworkManager, dịch vụ đã được cài đặt. Nếu không, bạn cần cài đặt bằng trình quản lý gói của hệ thống:

    • Trên Ubuntu/Debian:
    sudo apt update
    sudo apt install network-manager -y
    sudo system enable -now NetworkManager
    • Trên Centos/RHEL:
    sudo yum update
    sudo yum install NetworkManager
    sudo systemctl enable -now NetworkManager

    2. Kiểm tra các kết nối mạng

    Để liệt kê tất cả các hồ sơ kết nối, bạn chạy lệnh sau:

    nmcli connection show

    Sau đó, bạn sẽ thấy kết quả trả về như sau:

    Liệt kê tất cả các hồ sơ kết nối
    Liệt kê tất cả các hồ sơ kết nối

    Giải thích: 

    • NAME: Tên kết nối (do người dùng hoặc hệ thống đặt, ví dụ: Auto NhaTro, Wired connection 1).
    • UUID: Mã định danh duy nhất (Universal Unique ID) của kết nối, dùng để quản lý trong NetworkManager.
    • TYPE: loại kết nối (Wi-Fi, Ethernet, Loopback, VPN,…).
    • DEVICE: Thiết bị mạng vật lý đang sử dụng kết nối này (ví dụ: wlp0s20f3 là tên card WiFi, lo là loopback). Nếu là — nghĩa là kết nối tồn tại nhưng không được kích hoạt trên thiết bị nào.

    3. Bật/tắt card mạng bằng nmcli

    Lệnh dưới đây sẽ ngắt kết nối hiện tại và ngăn thiết bị tự động kết nối lại:

    $ nmcli device disconnect <DEVICE>

    Kết quả hiển thị sau khi chạy lệnh ngắt kết nối:

    Kết quả hiển thị khi chạy lệnh ngắt kết nối
    Kết quả hiển thị khi chạy lệnh ngắt kết nối

    Để kết nối với một thiết bị, bạn thực hiện lệnh sau:

    $ nmcli device connect <DEVICE>

    Kết quả hiển thị khi kết nối thành công:

    Kết quả hiển thị kết nối thành công
    Kết quả hiển thị kết nối thành công

    4. Kiểm tra trạng thái card mạng

    Để hiển thị thông tin chi tiết của một thiết bị, bạn chạy lệnh dưới đây:

    $ nmcli device show <DEVICE>

    Kết quả sẽ hiển thị thông tin chi tiết của thiết bị như sau:

    Kết quả hiển thị thông tin chi tiết của thiết bị
    Kết quả hiển thị thông tin chi tiết của thiết bị

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

    Kết nối trả về DEVICE là dấu “–” có nghĩa là gì?

    Nếu trường DEVICE là “–” nghĩa là kết nối tồn tại nhưng chưa được kích hoạt trên thiết bị mạng nào.

    Làm thế nào để bật hoặc tắt một card mạng qua nmcli?

    Bạn dùng câu lệnh nmcli device disconnect để ngắt kết nối, hoặc nmcli device connect để kết nối lại với thiết bị mạng chỉ định.

    Khi nào nên dùng nmcli thay vì công cụ quản lý mạng khác?

    nmcli lý tưởng khi bạn làm việc trên server, máy chủ không cài giao diện đồ họa hoặc khi cần tự động hóa cấu hình mạng thông qua script.

    Sử dụng nmcli với Python như thế nào?

    Bạn có thể sử dụng thư viện python-networkmanager hoặc dùng module subprocess trong Python để thực thi trực tiếp các lệnh nmcli từ script.

    Nmcli có hỗ trợ tạo Hotspot không?

    Có, bạn có thể biến card mạng thành điểm phát Wi-Fi bằng lệnh:
    nmcli device wifi hotspot ifname <tên_card> ssid <tên_mạng> password <mật_khẩu>.

    Việc nắm vững nmcli không chỉ giúp bạn giải quyết các vấn đề mạng tức thời mà còn trang bị cho bạn một kỹ năng quan trọng để quản lý hệ thống Linux một cách chuyên nghiệp hơn. Đây là cầu nối giữa sự mạnh mẽ của NetworkManager và sự tiện lợi của giao diện dòng lệnh, cho phép bạn kiểm soát mạng lưới của mình với độ chính xác và hiệu quả cao nhất. Mời bạn tham khảo các bài viết liên quan đến chủ đề Linux bên dưới đây:

    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

    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

    Hướng dẫn sử dụng lệnh groupadd Linux để thêm nhóm người dùng
    Hướng dẫn sử dụng lệnh groupadd Linux để thêm nhóm người dùng

    Lệnh groupadd Linux là tiện ích dòng lệnh dùng để tạo nhóm người dùng mới trên hệ thống, phục vụ cho việc phân quyền và quản lý user theo nhóm. Việc sử dụng group giúp quản trị viên kiểm soát quyền truy cập hiệu quả hơn, giảm rủi ro sai sót và đơn giản hóa…

    09/02/2026

    Hướng dẫn sử dụng lệnh usermod trên Linux để chỉnh sửa tài khoản người dùng
    Hướng dẫn sử dụng lệnh usermod trên Linux để chỉnh sửa tài khoản người dùng

    Lệnh usermod trong Linux là công cụ dùng để chỉnh sửa thông tin các tài khoản người dùng đã tồn tại, hỗ trợ quản trị viên cập nhật nhóm, UID, thư mục home, shell và trạng thái tài khoản một cách linh hoạt. Trong bài viết này, mình sẽ cùng bạn tìm hiểu chi tiết…

    09/02/2026

    Sử dụng lệnh userdel Linux để xóa tài khoản người dùng an toàn
    Sử dụng lệnh userdel Linux để xóa tài khoản người dùng an toàn

    Lệnh userdel Linux là công cụ dòng lệnh dùng để xóa tài khoản người dùng khỏi hệ thống và các nhóm liên quan. Công cụ này giúp loại bỏ user không còn sử dụng, góp phần đảm bảo tính gọn gàng và bảo mật cho hệ thống. Trong bài viết này, mình sẽ cùng bạn…

    09/02/2026

    linux

    lenh

    text