11 ví dụ về lệnh ip cho Linux

Tác giả sysadmin, T.M.Hai 27, 2022, 03:18:42 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

11 ví dụ về lệnh ip cho Linux


Lệnh 'ip' được sử dụng để in ra các thông tin mạng khác nhau trong Linux. Nó thay thế lệnh 'ifconfig' không dùng nữa, thậm chí không được cài đặt theo mặc định trong CentOS 7.

Lệnh ip là một phần của gói iproute, được cài đặt mặc định trong hầu hết các bản phân phối Linux hiện đại.

Trong các ví dụ ở đây, bạn sẽ thấy cách sử dụng lệnh ip để hiển thị cấu hình mạng chẳng hạn như thông tin liên kết, địa chỉ IP và định tuyến.

1. Hiển thị địa chỉ IP

Chúng ta có thể hiển thị thông tin địa chỉ IP cho tất cả các giao diện bằng cách chạy 'ip address show' như hình bên dưới.

Mã nguồn [Chọn]
[root@centos7 ~]# ip address show
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dd:cd:6a brd ff:ff:ff:ff:ff:ff
    inet 192.168.220.135/24 brd 192.168.220.255 scope global dynamic eno16777736
       valid_lft 1576sec preferred_lft 1576sec
    inet6 fe80::20c:29ff:fedd:cd6a/64 scope link
       valid_lft forever preferred_lft forever
             
Trong ví dụ này, chúng ta thấy thông tin về giao diện loopback cũng như eno16777736. Cũng lưu ý rằng với các lệnh ip, chúng ta có thể rút ngắn chúng miễn là các thành phần được cung cấp vẫn là duy nhất, vì vậy, ví dụ: 'ip address show' có thể được rút ngắn thành 'ip a' sẽ hiển thị cùng thông tin và nhập nhanh hơn.

2. Hiển thị liên kết IP

Thông tin liên kết có thể được hiển thị với 'ip link show', có thể được rút ngắn thành 'ip l'.

Mã nguồn [Chọn]
[root@centos7 ~]# ip l
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno16777736:  mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:dd:cd:6a brd ff:ff:ff:ff:ff:ff

3. Hiển thị bảng định tuyến IP

Chúng ta có thể in thông tin định tuyến bằng lệnh 'ip route show', lệnh này có thể rút gọn thành 'ip r'.

Mã nguồn [Chọn]
[root@centos7 ~]# ip r
default via 192.168.220.2 dev eno16777736  proto static  metric 100
192.168.220.0/24 dev eno16777736  proto kernel  scope link  src 192.168.220.135  metric 100

4. Xem Thống kê

Chúng ta có thể chạy nhiều lệnh ip với tùy chọn -s để hiển thị các số liệu thống kê khác nhau. Trong ví dụ dưới đây, chúng tôi sử dụng -s với 'ip address show' hiển thị số liệu thống kê bổ sung.

Mã nguồn [Chọn]
[root@centos7 ~]# ip -s a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast
    666        6        0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    666        6        0       0       0       0
2: eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dd:cd:6a brd ff:ff:ff:ff:ff:ff
    inet 192.168.220.135/24 brd 192.168.220.255 scope global dynamic eno16777736
       valid_lft 1431sec preferred_lft 1431sec
    inet6 fe80::20c:29ff:fedd:cd6a/64 scope link
       valid_lft forever preferred_lft forever
    RX: bytes  packets  errors  dropped overrun mcast
    495701     5144     0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    2262117    4096     0       0       0       0

5. Chỉ in IPv4

Với tùy chọn -4, chúng tôi chỉ có thể in ra thông tin liên quan đến IPv4.

Mã nguồn [Chọn]
[root@centos7 ~]# ip -4 a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 192.168.220.135/24 brd 192.168.220.255 scope global dynamic eno16777736
       valid_lft 1267sec preferred_lft 1267sec

6. Chỉ in IPv6

Tương tự như vậy, chúng ta có thể sử dụng tùy chọn -6 để chỉ in ra thông tin liên quan đến IPv6.

Mã nguồn [Chọn]
[root@centos7 ~]# ip -6 a
1: lo:  mtu 65536
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno16777736:  mtu 1500 qlen 1000
    inet6 fe80::20c:29ff:fedd:cd6a/64 scope link
       valid_lft forever preferred_lft forever
             
7. Đầu ra một dòng

Chúng ta có thể in đầu ra thành một dòng với tùy chọn -o, bằng cách này, đầu ra được in sẽ không chiếm nhiều dòng.

Mã nguồn [Chọn]
[root@centos7 ~]# ip -o a
1: lo    inet 127.0.0.1/8 scope host lo\       valid_lft forever preferred_lft forever
1: lo    inet6 ::1/128 scope host \       valid_lft forever preferred_lft forever
2: eno16777736    inet 192.168.220.135/24 brd 192.168.220.255 scope global dynamic eno16777736\       valid_lft 1128sec preferred_lft 1128sec
2: eno16777736    inet6 fe80::20c:29ff:fedd:cd6a/64 scope link \       valid_lft forever preferred_lft forever

Đây chỉ là một cách khác để định dạng cùng một thông tin.

8. Sửa đổi giao diện tạm thời

Mặc dù lệnh ip có thể được sử dụng để chỉnh sửa cấu hình mạng của giao diện, nhưng nó thường không được khuyến nghị vì đây không phải là thay đổi liên tục, nghĩa là nó sẽ không tồn tại khi khởi động lại. Tuy nhiên, mặc dù vậy, có thể đôi khi bạn muốn tạm thời đặt địa chỉ IP cho phiên hiện tại, điều này có thể được thực hiện bằng lệnh ip.

Mã nguồn [Chọn]
[root@centos7 ~]# ip address add 192.168.220.200 dev eno16777736
Thao tác này đã thêm địa chỉ IP thứ hai 192.168.220.200 vào thiết bị eno16777736.

Mã nguồn [Chọn]
[root@centos7 ~]# ip -o -4 addr show dev eno16777736
2: eno16777736    inet 192.168.220.135/24 brd 192.168.220.255 scope global dynamic eno16777736\       valid_lft 1720sec preferred_lft 1720sec
2: eno16777736    inet 192.168.220.200/32 scope global eno16777736\       valid_lft forever preferred_lft forever

Thay đổi cấu hình này sẽ bị mất sau khi khởi động lại hệ thống.

Để biết thêm thông tin về vấn đề này, bạn chỉ cần gõ 'ip addr add help' nó sẽ hiển thị cho bạn cú pháp sử dụng và những gì khác mà bạn có thể sửa đổi. Để sửa đổi định tuyến, hãy xem 'trợ giúp thêm tuyến ip'.

9. Đưa giao diện lên hoặc xuống

Chúng ta có thể sử dụng lệnh ip để gỡ một liên kết mạng xuống hoặc khôi phục nó, như hình bên dưới.

Mã nguồn [Chọn]
ip link set eno16777736 down
ip link set eno16777736 up

Thao tác này sẽ gỡ xuống eno16777736 rồi khôi phục lại. Lưu ý rằng điều này nên được chạy từ bảng điều khiển thay vì thông qua phiên SSH, vì bạn sẽ mất kết nối mạng ngay lập tức sau khi liên kết bị gỡ xuống.

10. Đọc lệnh từ tệp

Thay vì chỉ định các tùy chọn hoặc đối tượng như một phần của lệnh ip mỗi lần, chúng ta có thể đọc từ một tệp bó với tùy chọn -b theo sau là đường dẫn đến tệp.

Trong ví dụ dưới đây, chúng ta có thể thấy tệp batch.txt chứa hai lệnh ip, khi chạy với -b, chúng ta nhận được đầu ra của cả hai 'ip addr show' theo sau trực tiếp là 'ip route show'.

Mã nguồn [Chọn]
[root@centos7 ~]# cat batch.txt
addr show
route show

[root@centos7 ~]# ip -b batch.txt
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:dd:cd:6a brd ff:ff:ff:ff:ff:ff
    inet 192.168.220.135/24 brd 192.168.220.255 scope global dynamic eno16777736
       valid_lft 1667sec preferred_lft 1667sec
    inet6 fe80::20c:29ff:fedd:cd6a/64 scope link
       valid_lft forever preferred_lft forever
default via 192.168.220.2 dev eno16777736  proto static  metric 100
192.168.220.0/24 dev eno16777736  proto kernel  scope link  src 192.168.220.135  metric 100

11. Hiển thị phiên bản

Chúng tôi có thể hiển thị thông tin phiên bản cho công cụ ip với tùy chọn -V.

Mã nguồn [Chọn]
[root@centos7 ~]# ip -V
ip utility, iproute2-ss130716

Chúng ta đã thấy cách lệnh ip có thể được sử dụng để hiển thị và sửa đổi cấu hình mạng trong Linux.

Về sau, chúng tôi khuyên bạn nên sử dụng lệnh ip trên ifconfig vì lệnh này nhằm mục đích thay thế lệnh này, do đó, rất đáng để học và biết cách sử dụng lệnh ip.