Lệnh ip trong Linux là công cụ quản trị mạng hiện đại dùng để xem và cấu hình interface mạng, địa chỉ IP, định tuyến và bảng ARP, thuộc gói iproute2 và thay thế cho ifconfig cũ. Trong bài viết dưới đây, mình sẽ hướng dẫn bạn cách sử dụng lệnh ip Linux hiệu quả và chi tiết để quản lý mạng hiệu quả.
Những điểm chính
- Khái niệm lệnh ip Linux: Nắm vững công cụ quản trị mạng hiện đại thuộc bộ
iproute2dùng để thay thế hoàn toàn cho lệnhifconfigđã lỗi thời. - Các tùy chọn phổ biến: Biết cách sử dụng các tùy chọn quan trọng để hiển thị thông tin mạng gọn gàng, trực quan và dễ đọc hơn.
- Hướng dẫn sử dụng chi tiết: Thành thạo kỹ năng xem địa chỉ IP, kiểm tra bảng định tuyến và xác định chính xác interface đang kết nối Internet.
- So sánh ip và ifconfig: Nhận diện những ưu điểm vượt trội của lệnh
ipvề tốc độ xử lý, hiệu năng và khả năng tương thích với các công nghệ mạng mới. - Ví dụ sử dụng thực tế: Áp dụng lệnh để tra cứu nhanh IP Server, kiểm tra IP Public và giám sát trạng thái hoạt động của các card mạng.
- Kỹ thuật nâng cao: Làm chủ bộ lệnh quản lý hợp nhất và cách tối ưu hóa hiệu suất làm việc bằng phương pháp thiết lập
alias. - Lưu ý quan trọng khi vận hành: Nắm vững các quy tắc an toàn để tránh mất kết nối máy chủ khi thao tác từ xa và hiểu rõ bản chất tạm thời của các lệnh cấu hình trực tiếp.
- Câu hỏi thường gặp: Giải đáp các thắc mắc thường gặp liên quan đến lệnh ip Linux.
Lệnh ip Linux là gì?
Lệnh ip Linux là công cụ quản trị mạng hiện đại được sử dụng để cấu hình và hiển thị thông tin về các giao diện mạng, định tuyến và các thiết bị mạng. Lệnh này là một phần của gói phần mềm iproute2 và được sử dụng để thay thế cho lệnh ifconfig cũ đã ngưng phát triển và không còn được cài sẵn trên nhiều bản Linux mới. Điểm đặc biệt của ip là lệnh này hoạt động dựa trên các đối tượng (objects) với cú pháp chung như sau:
ip [OPTION]... OBJECT COMMANDTrong đó:
- OBJECT: Là kiểu thành phần mạng mà bạn muốn thao tác, chẳng hạn như card mạng, địa chỉ IP hay bảng route.
- COMMAND: Thao tác áp dụng lên OBJECT, ví dụ như tạo mới, xóa bỏ hoặc xem thông tin.
- [OPTION]: Các tham số tùy chọn giúp tinh chỉnh cách lệnh ip hoạt động; dấu … cho biết bạn có thể kết hợp nhiều tùy chọn trong cùng một câu lệnh.

Các tùy chọn phổ biến của lệnh ip Linux
Để giúp kết quả đầu ra dễ đọc và tập trung vào thông tin cần thiết, bạn có thể kèm theo các tùy chọn sau:
| Tùy chọn | Chức năng chi tiết |
|---|---|
-br (hoặc -brief) | Chỉ hiển thị các thông tin cốt lõi nhất trên một dòng cho mỗi giao diện, loại bỏ các chi tiết kỹ thuật rườm rà. |
-h (hoặc -human) | Chuyển đổi các con số thô sang các đơn vị đo lường tự nhiên để người dùng dễ hình dung dung lượng. |
-4 | Chỉ hiển thị các thông tin liên quan đến giao thức IPv4. |
-6 | Chỉ hiển thị các thông tin liên quan đến giao thức IPv6. |
-V | Xuất ra thông tin version hiện tại của tiện ích ip đang cài trên máy. |
Một số lưu ý:
- Phân biệt chữ hoa/thường: Trong Linux, các ký tự tùy chọn có phân biệt chữ hoa và chứ thường.
- Tài liệu đầy đủ: Để khám phá toàn bộ sức mạnh của công cụ này, bạn có thể tra cứu tài liệu hướng dẫn chi tiết ngay trên máy bằng lệnh dưới đây:
man ipCách sử dụng lệnh ip Linux chi tiết
1. Xem nhanh địa chỉ ip
Để xem nhanh địa chỉ IP trên Linux, bạn hãy sử dụng lệnh sau:
ip addr
Hoặc bạn có thể dùng cú pháp viết tắt gọn hơn:
ip aLệnh này sẽ hiển thị tất cả interface mạng cùng với địa chỉ IP tương ứng. Đây là lệnh chuẩn hiện đại, thay thế hoàn toàn cho lệnh ifconfig cũ trước đây.

2. Xem IP chi tiết
Để hiển thị đầy đủ thông tin về các địa chỉ IP trên hệ thống, bạn dùng lệnh dưới đây:
ip addr show
Nếu bạn chỉ muốn lọc và xem riêng địa chỉ IPv4, hãy dùng lệnh:
ip -4 addr
Hoặc để kiểm tra thông tin của một interface cụ thể, ví dụ eth0, bạn sử dụng lệnh:
ip addr show eth0
3. Xem route
Để kiểm tra bảng định tuyến và xác định gateway của hệ thống, bạn sử dụng lệnh:
ip routeVí dụ output: 14.225.206.0/23 dev eth0

Dòng cấu hình mặc định trong kết quả sẽ cho bạn biết Gateway là gì và interface nào đang được dùng để kết nối ra Internet.
4. Xác định IP đang dùng để ra Internet
Để biết chính xác địa chỉ IP nguồn và interface nào đang được sử dụng để kết nối tới một đích cụ thể, ví dụ như Google DNS, bạn chạy lệnh sau:
ip route get 8.8.8.8Lệnh này hữu ích khi server của bạn có nhiều card mạng (NIC), giúp bạn biết chính xác IP source và interface nào đang active.

So sánh lệnh ip với lệnh ifconfig
Dưới đây là bảng so sánh chi tiết giữa lệnh ip và ifconfig, giúp bạn hiểu rõ lý do tại sao các bản phân phối Linux hiện đại đều khuyến nghị chuyển sang dùng ip:
| Tiêu chí | Lệnh ifconfig | Lệnh ip |
|---|---|---|
| Gói cài đặt | net-tools. | iproute2. |
| Phạm vi chức năng | Hạn chế, chỉ quản lý Interface, cần kết hợp thêm route, arp. | Quản lý Interface, Routing, ARP, Tunnel, QoS,… |
| Hiệu năng | Giao tiếp qua ioctl nên cũ và chậm hơn khi xử lý nhiều interface. | Giao tiếp qua Netlink socket, nhanh và phản hồi tốt hơn. |
| Quản lý IP phụ | Phải tạo giao diện ảo (Alias) như eth0:1. | Gán trực tiếp nhiều IP trên một giao diện vật lý. |
| Tính năng nâng cao | Không hỗ trợ các công nghệ mới. | Hỗ trợ VLAN, Bridge, Network Namespaces dùng cho Docker, VXLAN. |
Mặc dù ifconfig vẫn được nhưng đã lỗi thời và thiếu hụt nhiều tính năng quan trọng để quản trị các hệ thống mạng phức tạp ngày nay như ảo hóa, container, cloud. Nếu bạn đang bắt đầu học hoặc quản trị Linux chuyên nghiệp, hãy ưu tiên sử dụng lệnh ip để có khả năng kiểm soát hệ thống tốt nhất.

Các ví dụ sử dụng lệnh ip Linux thực tế
1. Kiểm tra nhanh IP server
Khi SSH vào một server mới, để xem nhanh IP và lọc bỏ các thông tin không cần thiết, bạn có thể dùng lệnh dưới đây:
ip a | grep inet
2. Kiểm tra IP public
Để xác định địa chỉ IP Public thực tế mà server đang sử dụng để giao tiếp với Internet, bạn dùng lệnh:
curl ifconfig.me
Hoặc một lựa chọn khác là:
curl ipinfo.io/ip
Việc so sánh kết quả này với lệnh ip addr sẽ giúp bạn phân biệt rõ ràng giữa IP Public và IP Private.
3. Kiểm tra interface đang UP
Để xem trạng thái hoạt động của các card mạng, bạn sử dụng lệnh sau:
ip linkNếu kết quả trả về state UP nghĩa là interface đang hoạt động, ngược lại state DOWN nghĩa là không dùng được.

Cách sử dụng lệnh ip Linux nâng cao
Bộ lệnh ip trong quản trị mạng
Tập lệnh ip đóng vai trò như một bộ công cụ hợp nhất cho quản lý hạ tầng mạng trên Linux:
- ip addr: Quản lý và giám sát các địa chỉ IP gán trên giao diện mạng.
- ip link: Quản lý trạng thái và thuộc tính của các interface mạng.
- ip route: Quản lý bảng định tuyến và đường đi của lưu lượng mạng.
Chỉ với nhóm lệnh này, bạn có thể kiểm soát gần như toàn bộ cấu hình và vận hành hệ thống networking trên Linux một cách tập trung.
Tối ưu thao tác với alias
Để rút ngắn thời gian thao tác trong môi trường dòng lệnh, có thể định nghĩa các alias như sau:
alias ipa='ip -4 addr'
alias ipr='ip route'Việc chuẩn hóa các alias này giúp tối ưu hiệu suất làm việc, giảm thao tác lặp lại và tăng tính linh hoạt khi thực hiện các tác vụ giám sát, kiểm tra và cấu hình mạng.
Những lưu ý khi dùng lệnh ip Linux
Dưới đây là những lưu ý quan trọng và thực tế khi sử dụng lệnh ip để quản trị mạng trên Linux, giúp bạn tránh các sai lầm phổ biến có thể gây mất kết nối server:
- Cấu hình chỉ mang tính chất tạm thời: Mọi thay đổi thực hiện bằng lệnh ip sẽ biến mất khi bạn khởi động lại máy chủ. Để thay đổi vĩnh viễn, bạn bắt buộc phải chỉnh sửa các file cấu hình mạng.
- Cẩn trọng khi đang kết nối từ xa: Nếu bạn đang SSH vào server và dùng lệnh ip để thay đổi địa chỉ IP hoặc tắt card mạng của chính giao diện bạn đang dùng để kết nối, bạn sẽ bị mất kết nối ngay lập tức và không thể truy cập lại được. Do đó bạn hãy luôn có phương án dự phòng như console VNC hoặc IPMI trước khi thao tác.
- Lưu ý về Subnet Mask: Lệnh ip sử dụng ký hiệu tiền tố như /24, /16 thay vì gõ subnet mask dài dòng 255.255.255.0. Nếu bạn quên nhập số này, Linux thường sẽ mặc định hiểu là /32, khiến máy không thể giao tiếp với các máy khác trong cùng mạng LAN.
- Cơ chế cộng dồn thay vì ghi đè: Lệnh ip addr add sẽ thêm một IP mới vào card mạng mà không xóa IP cũ. Nếu bạn chạy lệnh này 2 lần, card mạng sẽ có 2 IP. Nếu muốn đổi IP, bạn nên xóa IP cũ trước hoặc dùng cẩn thận để tránh xung đột.
- Tên giao diện mạng: Trên các hệ thống Linux mới, tên card mạng thường không còn là
eth0,eth1đơn giản nữa mà có dạng phức tạp hơn nhưenp3s0,ens33. Vì vậy bạn hãy luôn chạyip link showtrước để copy chính xác tên thiết bị. - Cẩn thận với lệnh flush: Lệnh
ip addr flush dev eth0sẽ xóa sạch tất cả các địa chỉ IP đang có trên card mạng đó nên bạn cần dùng cẩn thận để tránh mất cấu hình mạng ngoài ý muốn.

Câu hỏi thường gặp
Làm thế nào để phân biệt đâu là IP Private và IP Public trong kết quả lệnh?
Trong kết quả của lệnh ip addr:
– IP Private: Thường bắt đầu bằng các dải 192.168.x.x, 10.x.x.x hoặc 172.16.x.x đến 172.31.x.x.
– IP Public: Nếu server kết nối trực tiếp Internet như VPS, bạn sẽ thấy các IP khác dải trên. Tuy nhiên, nếu server nằm sau NAT, lệnh ip addr chỉ hiện IP Private. Lúc này, bạn bắt buộc phải dùng lệnh curl ifconfig.me để xem IP Public.
Tôi có thể dùng lệnh ip để đổi địa chỉ IP tĩnh (Static IP) không?
Bạn có thể dùng lệnh ip addr add [IP/mask] dev [interface] để thêm IP, nhưng thay đổi này chỉ là tạm thời và sẽ mất đi khi bạn khởi động lại máy). Để đặt IP tĩnh vĩnh viễn, bạn cần chỉnh sửa các file cấu hình mạng như Netplan trên Ubuntu hoặc NetworkManager trên CentOS.
Tại sao tên card mạng là ens33 hoặc enp3s0 chứ không phải eth0?
Đây là do cơ chế đặt tên mới “Predictable Network Interface Names” của systemd trên Linux hiện đại. Cơ chế này đặt tên dựa trên vị trí vật lý của card mạng để đảm bảo tên gọi không bị thay đổi ngẫu nhiên mỗi khi khởi động lại máy, giúp quản trị hệ thống ổn định hơn so với cách đặt tên eth0, eth1 cũ.
Tóm lại, lệnh ip Linux là công cụ quản trị mạng hiện đại, hợp nhất và linh hoạt, cho phép bạn kiểm soát toàn diện địa chỉ IP, interface và định tuyến chỉ với một bộ lệnh thống nhất. Nếu bạn đang hoặc sẽ quản trị hệ thống Linux chuyên nghiệp, hãy ưu tiên chuẩn hóa thao tác với ip thay cho ifconfig để đảm bảo hiệu năng, độ ổn định và khả năng mở rộng cho hạ tầng mạng.




