Lệnh ip trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh ip mạnh mẽ trong Linux để quản lý các giao diện mạng và khắc phục sự cố mạng. Lab này bao gồm cú pháp và các tùy chọn cơ bản của lệnh ip, cũng như các ví dụ thực tế về quản lý các giao diện mạng và sử dụng lệnh để chẩn đoán các vấn đề về mạng. Bạn sẽ khám phá các lệnh để hiển thị thông tin về các giao diện mạng, cấu hình địa chỉ IP và làm việc với các bảng định tuyến. Lab này được thiết kế để cung cấp cho bạn sự hiểu biết vững chắc về lệnh ip và các ứng dụng thực tế của nó trong quản trị mạng và khắc phục sự cố.

Tìm hiểu cú pháp và các tùy chọn của lệnh ip

Trong bước này, bạn sẽ tìm hiểu về cú pháp và các tùy chọn cơ bản của lệnh ip trong Linux. Lệnh ip là một công cụ mạnh mẽ để quản lý các giao diện mạng và cấu hình.

Đầu tiên, hãy khám phá cú pháp chung của lệnh ip:

ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]

Ở đây, OBJECT đại diện cho thực thể mạng bạn muốn quản lý, chẳng hạn như link cho các giao diện mạng, addr cho địa chỉ IP, route cho các bảng định tuyến, v.v. COMMAND là hành động cụ thể bạn muốn thực hiện trên đối tượng và ARGUMENTS là bất kỳ tham số bổ sung nào mà lệnh yêu cầu.

Một số tùy chọn phổ biến của lệnh ip bao gồm:

  • -c: Bật đầu ra màu
  • -f: Chỉ định họ địa chỉ (ví dụ: inet, inet6, link)
  • -h: Hiển thị menu trợ giúp
  • -s: Cung cấp đầu ra chi tiết, nhiều thông tin
  • -o: Xuất thông tin ở định dạng một dòng

Hãy thử một vài ví dụ để làm quen với lệnh ip:

## Hiển thị thông tin về tất cả các giao diện mạng
sudo ip link show

Example output:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff

Lệnh này hiển thị trạng thái và cấu hình của tất cả các giao diện mạng trên hệ thống.

## Hiển thị thông tin địa chỉ IP cho một giao diện cụ thể
sudo ip addr show eth0

Example output:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:2/64 scope link
       valid_lft forever preferred_lft forever

Lệnh này hiển thị địa chỉ IP và các chi tiết cấu hình khác cho giao diện eth0.

Quản lý giao diện mạng với lệnh ip

Trong bước này, bạn sẽ học cách quản lý các giao diện mạng bằng lệnh ip.

Đầu tiên, hãy tạo một giao diện mạng mới bằng lệnh ip link add:

sudo ip link add name myint type dummy

Lệnh này tạo một giao diện dummy mới có tên là myint. Bạn có thể xác minh giao diện đã được tạo bằng lệnh ip link show:

sudo ip link show

Example output:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
3: myint: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 3a:f9:b6:5a:4a:48 brd ff:ff:ff:ff:ff:ff

Tiếp theo, hãy đưa giao diện myint lên bằng lệnh ip link set:

sudo ip link set dev myint up

Bạn có thể xác minh giao diện hiện đang ở trạng thái UP:

sudo ip link show myint

Example output:
3: myint: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noop state UP mode DEFAULT group default qlen 1000
    link/ether 3a:f9:b6:5a:4a:48 brd ff:ff:ff:ff:ff:ff

Cuối cùng, hãy xóa giao diện myint bằng lệnh ip link delete:

sudo ip link delete dev myint

Xác minh giao diện đã bị xóa:

sudo ip link show

Example output:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff

Giao diện myint không còn xuất hiện trong đầu ra.

Khắc phục sự cố mạng bằng lệnh ip

Trong bước này, bạn sẽ học cách sử dụng lệnh ip để khắc phục sự cố mạng.

Hãy bắt đầu bằng cách kiểm tra bảng định tuyến bằng lệnh ip route:

sudo ip route show

Example output:
default via 172.17.0.1 dev eth0
172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.2

Điều này cho thấy tuyến đường mặc định và tuyến đường cho giao diện mạng cục bộ.

Tiếp theo, hãy mô phỏng sự cố mạng bằng cách tắt giao diện eth0:

sudo ip link set dev eth0 down

Bây giờ, hãy thử ping một máy chủ từ xa:

ping 8.8.8.8

Bạn sẽ thấy rằng ping không thành công, vì giao diện mạng đã tắt.

Để khắc phục sự cố sâu hơn, bạn có thể sử dụng lệnh ip addr để kiểm tra cấu hình địa chỉ IP:

sudo ip addr show eth0

Example output:
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:2/64 scope link
       valid_lft forever preferred_lft forever

Đầu ra cho thấy giao diện eth0 đang ở trạng thái DOWN.

Để đưa giao diện trở lại trạng thái hoạt động, hãy sử dụng lệnh ip link set:

sudo ip link set dev eth0 up

Xác minh giao diện hiện đang ở trạng thái UP:

sudo ip addr show eth0

Example output:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:2/64 scope link
       valid_lft forever preferred_lft forever

Bây giờ, hãy thử ping lại máy chủ từ xa và ping sẽ thành công.

Tóm tắt

Trong lab này, bạn đã học về cú pháp và các tùy chọn cơ bản của lệnh ip trong Linux, một công cụ mạnh mẽ để quản lý các giao diện và cấu hình mạng. Bạn đã khám phá cú pháp chung của lệnh ip, bao gồm việc sử dụng OBJECT, COMMANDARGUMENTS. Bạn cũng đã học về các tùy chọn phổ biến của lệnh ip, chẳng hạn như -c cho đầu ra màu, -f để chỉ định họ địa chỉ và -s cho đầu ra chi tiết, nhiều thông tin. Sau đó, bạn đã thực hành sử dụng lệnh ip để hiển thị thông tin về các giao diện mạng và địa chỉ IP, điều này có thể hữu ích cho việc khắc phục sự cố mạng.

400+ câu lệnh phổ biến trong Linux