23 ví dụ về lệnh IP trên Centos / Ubuntu / Debian / Fedora
Lệnh ip là một công cụ dòng lệnh mạng mới được sử dụng để gán địa chỉ IP cho một giao diện mạng hoặc cấu hình và cập nhật các biến mạng hữu ích trên hệ thống Linux. So với lệnh "ifconfig" trước đây, lệnh "ip" có tính năng và khả năng mạnh mẽ hơn.
Cấu hình địa chỉ IP tĩnh vĩnh viễn trên Linux
Để cấu hình một địa chỉ IP tĩnh vĩnh viễn trên Linux, bạn cần cập nhật hoặc chỉnh sửa tệp cấu hình mạng để gán một địa chỉ IP tĩnh cho hệ thống. Bạn phải là một người dùng super user và sử dụng lệnh su (chuyển đổi người dùng) từ cửa sổ terminal hoặc command prompt.
Cấu hình địa chỉ IP tĩnh trên hệ thống RHEL
Mở và chỉnh sửa tệp cấu hình mạng cho giao diện eth0 hoặc eth1 bằng trình soạn thảo văn bản yêu thích của bạn. Ví dụ, để gán địa chỉ IP cho giao diện eth0 trên các bản phân phối dựa trên RHEL, làm như sau:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
Cấu hình địa chỉ IP tĩnh trên hệ thống Debian
Để cấu hình địa chỉ IP tĩnh vĩnh viễn, bạn cần chỉnh sửa tệp cấu hình giao diện mạng trong /etc/network/interfaces như trên các bản phân phối dựa trên Debian. Sau khi nhập đầy đủ thông tin, khởi động lại dịch vụ mạng bằng lệnh sau:
$ sudo nano /etc/network/interfaces [On Debian, Ubuntu and Mint]
Khởi động lại dịch vụ mạng để áp dụng cấu hình mới:
$ sudo systemctl restart networking
Cấu hình tạm thời địa chỉ IP tĩnh trên Linux.
Đối với cấu hình mạng tạm thời, bạn có thể sử dụng lệnh ip để gán địa chỉ IP cho một giao diện cụ thể (eth2) ngay lập tức.
# ip addr add 172.19.1.10/24 dev eth2 OR $ sudo ip addr add 172.19.1.10/24 dev eth2
Lưu ý: Tất cả các cài đặt này sẽ bị mất sau khi khởi động lại hệ thống.
Hiển thị tất cả các giao diện mạng
Trong lệnh ip, đối tượng "link" đại diện cho giao diện mạng. Chúng ta có thể sử dụng lệnh "show" kèm theo đối tượng này để hiển thị tất cả các giao diện mạng. Để hiển thị tất cả các giao diện mạng, sử dụng lệnh sau:
$ ip link show
Đầu ra sẽ hiển thị chi tiết về các giao diện mạng, bao gồm tên giao diện, cờ, trạng thái, địa chỉ liên kết, địa chỉ phát sóng,...
Kiểm tra địa chỉ IP của một giao diện mạng cụ thể.
Để lấy thông tin chi tiết về giao diện mạng cá nhân, bao gồm địa chỉ IP và địa chỉ MAC, sử dụng lệnh sau:
$ ip link show eth2
Cho đến nay, chúng ta đã sử dụng đối tượng "link" để hiển thị thông tin chi tiết về các giao diện mạng. Tuy nhiên, đối tượng này không hiển thị địa chỉ IP được liên kết với giao diện mạng. Để khắc phục giới hạn này, chúng ta có thể sử dụng đối tượng "addr" cùng với lệnh ip. Chi tiết hơn với ví dụ sau:
$ ip addr show
Để hiển thị địa chỉ IP của một giao diện mạng cụ thể, chỉ cần cung cấp tên giao diện mạng như một đối số cho lệnh.
$ ip addr show eth2
Hiển thị địa chỉ IP trong đầu ra có màu sắc
Lệnh ip cung cấp thông tin chi tiết về các đối tượng mạng. Để tạo đầu ra có màu sắc để dễ nhìn, chúng ta có thể sử dụng tùy chọn --color của lệnh. Tùy chọn này sẽ làm nổi bật các chi tiết quan trọng bằng các màu sắc khác nhau.
$ ip --color addr show eth2
Hiển thị địa chỉ IP trong định dạng JSON
Để thuận tiện cho việc phân tích đầu ra và tự động hóa, chúng ta có thể yêu cầu lệnh ip tạo ra đầu ra trong định dạng JSON. Để làm điều này, chúng ta sử dụng tùy chọn -j kết hợp với lệnh. Đầu ra sẽ được hiển thị dưới dạng JSON, giúp dễ dàng trích xuất thông tin theo cấu trúc đã định.
$ ip -j addr show
Làm cho đầu ra JSON dễ đọc hơn
Mặc định, đầu ra JSON của lệnh ip là gọn nhẹ, nhưng không dễ đọc do thiếu thụt lề. Để làm cho đầu ra dễ đọc hơn bằng cách thụt lề, chúng ta có thể sử dụng tùy chọn -p.
$ ip -j -p link show eth2
Điều này sẽ tạo ra đầu ra JSON với định dạng dễ đọc hơn, với thụt lề giữa các cấu trúc dữ liệu.
Cách xóa địa chỉ IP khỏi giao diện mạng
Trong ví dụ trước, chúng ta đã sử dụng lệnh con "add" để gán một địa chỉ IP. Tương tự, chúng ta có thể sử dụng lệnh con "del" để xóa một địa chỉ IP cụ thể. Lệnh sau sẽ xóa địa chỉ IP đã được gán khỏi giao diện cụ thể (eth2).
# ip addr del 172.19.1.10/24 dev eth2 OR $ sudo ip addr del 172.19.1.10/24 dev eth2
Bây giờ, chúng ta hãy kiểm tra xem địa chỉ IP đã được xóa chưa.
$ ip -j -p addr show eth2
Cách kích hoạt giao diện mạng
Cờ "up" kèm theo tên giao diện (eth2) sẽ kích hoạt một giao diện mạng. Ví dụ, lệnh sau sẽ kích hoạt giao diện mạng eth2.
# ip link set eth2 up OR $ sudo ip link set dev eth2 up
Kiểm tra tình trạng cập nhật:
$ ip -j -p link show eth2 | grep operstate
Cách vô hiệu hóa giao diện mạng
Cờ "down" kèm theo tên giao diện (eth2) sẽ vô hiệu hóa một giao diện mạng. Ví dụ, lệnh sau sẽ vô hiệu hóa giao diện mạng eth2.
# ip link set eth2 down OR $ sudo ip link set eth2 down
Kiểm tra tình trạng của giao diện mạng:
$ ip -j -p link show eth2 | grep operstate
Cách xóa danh sách địa chỉ IP của giao diện mạng
Trong ví dụ trước, chúng ta đã thấy cách sử dụng lệnh con "del" để xóa một địa chỉ IP. Tuy nhiên, đôi khi chúng ta cần xóa tất cả các địa chỉ IP của một giao diện mạng cụ thể. Trong trường hợp đó, chúng ta có thể sử dụng lệnh con "flush". Trước tiên, sử dụng lệnh con "flush" để xóa tất cả các địa chỉ IP của giao diện mạng eth2.
$ sudo ip addr flush eth2
Bây giờ, hãy kiểm tra xem tất cả các địa chỉ IP của giao diện mạng eth2 đã được xóa chưa.
$ ip -j -p addr show eth2
Trong đầu ra trên, trường "addr_info" hiển thị một mảng JSON trống. Điều này cho thấy không có địa chỉ IP nào được liên kết với giao diện mạng eth2.
Cách kiểm tra bảng định tuyến
Bảng định tuyến lưu trữ thông tin cần thiết để chuyển tiếp gói tin mạng đến đích đúng. Chúng ta có thể sử dụng đối tượng "route" của lệnh ip để hiển thị các quy tắc định tuyến. Hãy sử dụng lệnh dưới đây để liệt kê tất cả các quy tắc của bảng định tuyến.
$ ip route show
Trong đầu ra trên, cột đầu tiên đại diện cho đích đến trong khi cột cuối cùng đại diện cho địa chỉ IP nguồn.
Cách thêm tuyến đường tĩnh mới
Tại sao bạn cần thêm các tuyến tĩnh hoặc tuyến thủ công, vì lưu lượng không được thông qua cổng mặc định? Chúng ta cần thêm các tuyến tĩnh để lưu lượng đi qua con đường tốt nhất để đến đích.
$ sudo ip route add 172.19.1.0/24 dev eth2 proto kernel scope link src 172.19.1.2
Bây giờ, hãy kiểm tra xem mục đã được thêm thành công hay chưa:
$ ip route show
Cách xóa tuyến tĩnh
Lệnh con del xóa một mục cụ thể khỏi bảng định tuyến. Ví dụ, lệnh dưới đây xóa mục của tuyến thiết bị eth2:
$ sudo ip route del 172.19.1.0/24
Bây giờ, hãy kiểm tra xem mục đã được xóa thành công hay chưa:
$ ip route show
Cách thêm tuyến tĩnh vĩnh viễn
Tất cả các tuyến trên sẽ bị mất sau khi khởi động lại hệ thống. Để thêm một tuyến tĩnh vĩnh viễn, chỉnh sửa tệp /etc/sysconfig/network-scripts/route-eth2 (chúng ta lưu tuyến tĩnh cho (eth2). Mặc định, tệp route-eth2 sẽ không tồn tại và cần được tạo ra.
Đặt tuyến tĩnh vĩnh viễn trong RHEL Systems
#vi /etc/sysconfig/network-scripts/route-eth2
và thêm các dòng sau đây và lưu và thoát.
172.19.1.0/24 via 172.19.1.2 dev eth2
Đặt tuyến tĩnh vĩnh viễn trong Debian Systems
Mở tệp /etc/network/interfaces và thêm các tuyến tĩnh bền vững vào cuối. Địa chỉ IP có thể khác nhau trong môi trường của bạn.
$ sudo vi /etc/network/interfaces auto eth2 iface eth2 inet static address 172.19.50.2 netmask 255.255.255.0 gateway 172.19.50.100 #########{Static Route}########### up ip route add 172.19.1.0/24 via 172.19.1.2 dev eth2
Tiếp theo, khởi động lại dịch vụ mạng sau khi nhập tất cả các chi tiết bằng lệnh sau.
$ sudo systemctl restart networking
Cách thêm cổng mặc định
Trong mạng, cổng mặc định đóng vai trò quan trọng. Nó được sử dụng khi bảng định tuyến không chứa thông tin về đích. Mặc định, cổng mặc định có thể được chỉ định toàn cục hoặc cho các tệp cấu hình cụ thể của giao diện. Lợi ích của cổng mặc định là chúng ta có nhiều hơn một NIC trong hệ thống. Bạn có thể thêm cổng mặc định ngay lập tức như được hiển thị bên dưới.
Đầu tiên, hãy thêm một giao diện mạng eth0 làm cổng mặc định:
$ sudo ip route add default via 172.17.0.1
Bây giờ, hãy xác minh cài đặt cổng mặc định bằng lệnh sau:
$ ip route show
Xin lưu ý rằng chúng tôi đã thực hiện lệnh này trên một máy thử nghiệm. Hãy Cẩn thận khi sử dụng lệnh này trong môi trường sản xuất.
Cách xóa cổng mặc định
Chúng ta có thể sử dụng lệnh sau để xóa cổng mặc định:
$ sudo ip route del default
Bây giờ, hãy liệt kê bảng định tuyến để xác minh cổng mặc định đã bị xóa:
$ ip route show
Cách hiển thị bộ nhớ cache ARP
ARP là viết tắt của Address Resolution Protocol, được sử dụng để tìm địa chỉ MAC liên kết với địa chỉ IP cụ thể. Chúng ta có thể sử dụng đối tượng neigh với lệnh ip để hiển thị bộ nhớ cache ARP:
$ ip neigh show
Trong lệnh trên, neigh đại diện cho các đối tượng hàng xóm.
Cách thêm mục ARP
Để tạo một mục ARP mới, chúng ta có thể sử dụng lệnh con add với đối tượng neigh.
$ sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2
Bây giờ, hãy liệt kê các mục cache ARP:
$ ip neigh show
Trong đầu ra trên, chúng ta có thể thấy mục mới cho giao diện mạng eth2.
Cách xóa mục ARP
Tương tự như các đối tượng mạng khác, chúng ta có thể sử dụng lệnh con del để xóa mục ARP. Ví dụ, lệnh dưới đây sẽ xóa mục ARP của giao diện mạng eth2:
$ sudo ip neigh del 172.19.1.0 dev eth2
Bây giờ, hãy xác minh rằng mục đã được xóa bằng cách liệt kê bộ nhớ cache ARP:
$ ip neigh show
Cách xóa tất cả các mục ARP
Chúng ta có thể sử dụng lệnh con flush để xóa nhiều mục ARP cùng một lúc. Để hiểu điều này, trước tiên hãy thêm một số mục ARP với trạng thái STALE:
$ sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2 nud stale $ sudo ip neigh add 172.19.2.0 lladdr 02:42:e3:40:a6:b2 dev eth2 nud stale $ sudo ip neigh add 172.19.3.0 lladdr 02:42:e3:40:a6:b3 dev eth2 nud stale
Tiếp theo, xác minh rằng các mục mới đã được thêm thành công:
$ ip neigh show
Sau đó, xóa tất cả các mục bằng lệnh sau:
$ sudo ip neigh flush all
Cuối cùng, xác minh rằng tất cả các mục đã bị xóa:
$ ip neigh show
Cách đặt MTU cho giao diện mạng
MTU viết tắt của Maximum Transmission Unit, đại diện cho kích thước gói tin lớn nhất có thể truyền trong một giao dịch duy nhất. Chúng ta có thể điều chỉnh kích thước MTU theo yêu cầu hiệu suất của chúng ta. Trước tiên, hãy tìm MTU của giao diện mạng eth2:
$ ip -j -p link show eth2 | grep mtu
Tiếp theo, cập nhật kích thước MTU của giao diện mạng eth2 thành 3000:
$ sudo ip link set mtu 3000 dev eth2
Cuối cùng, xác minh rằng MTU đã được cập nhật thành công:
$ ip -j -p link show eth2 | grep mtu
Cách thay đổi địa chỉ MAC của mạng
Lệnh ip cho phép chúng ta thay đổi địa chỉ MAC của giao diện mạng. Để làm điều này, chúng ta có thể sử dụng lệnh con set với đối tượng link:
Trước tiên, liệt kê địa chỉ MAC hiện tại của giao diện mạng eth2:
$ ip -j -p link show eth2 | grep address
Tiếp theo, thay đổi địa chỉ MAC của giao diện mạng bằng lệnh sau:
$ sudo ip link set dev eth2 address 02:42:ac:13:01:03
Cuối cùng, xác minh rằng địa chỉ MAC đã được thay đổi:
$ ip -j -p
Mọi người cũng tìm kiếm: linux show ip, show ip linux, ví dụ về địa chỉ ip, arp -a linux, đổi ip ubuntu, centos show ip, ubuntu ip