15 ifconfig command hữu ích để định cấu hình giao diện mạng Linux

ifconfig command được sử dụng để hiển thị thông tin cấu hình mạng hiện tại, thiết lập một địa chỉ IP, netmask hoặc địa chỉ broadcast cho một giao diện mạng, tạo một bí danh cho giao diện mạng, thiết lập địa chỉ phần cứng và kích hoạt hoặc vô hiệu hóa giao diện mạng. ifconfig là một tiện ích “cấu hình giao diện” ngắn gọn dùng cho quản trị hệ thống/mạng trong các hệ điều hành Unix/Linux để cấu hình, quản lý và truy vấn các tham số giao diện mạng thông qua giao diện dòng lệnh hoặc trong tập lệnh cấu hình hệ thống.

Bài viết này trình bày 15 lệnh ifconfig hữu ích kèm ví dụ thực tế của chúng, điều này có thể rất hữu ích cho bạn trong việc quản lý và cấu hình giao diện mạng trong các hệ thống Linux.

1. Liệt kê giao diện mạng trong Linux

Lệnh “ifconfig” không có đối số sẽ hiển thị tất cả các chi tiết về cấu hình giao diện mạng hoạt động, bao gồm các địa chỉ IP, netmask và thông tin liên quan khác.

$ ifconfig

Kết quả mẫu:

eth0      Link encap:Ethernet  HWaddr 00:0B:CD:1C:18:5A
          inet addr:172.16.25.126  Bcast:172.16.25.63  Mask:255.255.255.224
          inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2341604 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2217673 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:293460932 (279.8 MiB)  TX bytes:1042006549 (993.7 MiB)
          Interrupt:185 Memory:f7fe0000-f7ff0000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5019066 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5019066 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2174522634 (2.0 GiB)  TX bytes:2174522634 (2.0 GiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.1.1.1  P-t-P:10.1.1.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

2. Hiển thị thông tin về tất cả giao diện mạng

Lệnh ifconfig kèm đối số -a sẽ hiển thị thông tin về tất cả các giao diện mạng hoạt động hoặc không hoạt động trên máy chủ. Nó hiển thị kết quả cho các giao diện eth0losit0, và tun0.

# ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:0B:CD:1C:18:5A
          inet addr:172.16.25.126  Bcast:172.16.25.63  Mask:255.255.255.224
          inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2344927 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2220777 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:293839516 (280.2 MiB)  TX bytes:1043722206 (995.3 MiB)
          Interrupt:185 Memory:f7fe0000-f7ff0000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5022927 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5022927 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2175739488 (2.0 GiB)  TX bytes:2175739488 (2.0 GiB)

sit0      Link encap:IPv6-in-IPv4
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.1.1.1  P-t-P:10.1.1.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

3. Xem cài đặt mạng của giao diện cụ thể

Sử dụng tên giao diện (eth0) làm đối số với lệnh “ifconfig” sẽ hiển thị chi tiết của giao diện mạng cụ thể.

# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0B:CD:1C:18:5A
          inet addr:172.16.25.126  Bcast:172.16.25.63  Mask:255.255.255.224
          inet6 addr: fe80::20b:cdff:fe1c:185a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2345583 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2221421 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:293912265 (280.2 MiB)  TX bytes:1044100408 (995.7 MiB)
          Interrupt:185 Memory:f7fe0000-f7ff0000

4. Cách kích hoạt một giao diện mạng

Tham số “up” hoặc “ifup” kèm tên giao diện (eth0) kích hoạt một giao diện mạng nếu nó không ở trạng thái không hoạt động và cho phép gửi và nhận thông tin.

Ví dụ, “ifconfig eth0 up” hoặc “ifup eth0” sẽ kích hoạt giao diện eth0.

# ifconfig eth0 up
OR
# ifup eth0

5. Cách vô hiệu hóa một giao diện mạng

Tham số “down” hoặc “ifdown” kèm tên giao diện (eth0) vô hiệu hóa giao diện mạng được chỉ định. Ví dụ, lệnh “ifconfig eth0 down” hoặc “ifdown eth0” vô hiệu hóa giao diện eth0 nếu nó không ở trạng thái không hoạt động.

# ifconfig eth0 down
OR
# ifdown eth0

6. Cách gán địa chỉ IP cho giao diện mạng

Để gán một địa chỉ IP cho một giao diện cụ thể, sử dụng lệnh sau với tên giao diện (eth0) và địa chỉ IP bạn muốn cài đặt. Ví dụ, “ifconfig eth0 172.16.25.125” sẽ gán địa chỉ IP cho giao diện eth0.

# ifconfig eth0 172.16.25.125

7. Cách gán Netmask cho giao diện mạng

Sử dụng lệnh “ifconfig” với đối số “netmask” và tên giao diện là (eth0) cho phép bạn định nghĩa một netmask cho một giao diện đã cho. Ví dụ, “ifconfig eth0 netmask 255.255.255.224” sẽ đặt netmask cho giao diện cụ thể eth0.

[root@tecmint ~]# ifconfig eth0 netmask 255.255.255.224

8. Cách gán địa chỉ Broadcast cho giao diện mạng

Sử dụng tham số “broadcast” với tên giao diện sẽ đặt địa chỉ broadcast cho giao diện đã cho. Ví dụ, lệnh “ifconfig eth0 broadcast 172.16.25.63” đặt địa chỉ broadcast cho giao diện eth0.

# ifconfig eth0 broadcast 172.16.25.63

9. Cách gán IP, Netmask và Broadcast cho giao diện mạng

Để gán một địa chỉ IP, địa chỉ Netmask và địa chỉ Broadcast cùng một lúc, sử dụng lệnh “ifconfig” với tất cả các đối số như dưới đây.

# ifconfig eth0 172.16.25.125 netmask 255.255.255.224 broadcast 172.16.25.63

10. Cách thay đổi MTU cho một giao diện mạng

Tham số “mtu” đặt đơn vị truyền tải tối đa cho một giao diện. MTU cho phép bạn đặt giới hạn kích thước gói tin được truyền trên một giao diện. MTU có thể xử lý một số lượng tối đa octet cho một giao diện trong một giao dịch duy nhất.

Ví dụ, “ifconfig eth0 mtu 1000” sẽ đặt đơn vị truyền tải tối đa cho một tập hợp đã cho (tức là 1000). Không phải tất cả các giao diện mạng đều hỗ trợ cài đặt MTU.

# ifconfig eth0 mtu 1000

11. Cách kích hoạt chế độ Promiscuous

Trong chế độ bình thường, khi một gói tin được nhận bởi một thẻ mạng, nó xác minh rằng nó thuộc về chính mình. Nếu không phải, nó sẽ bỏ gói tin theo cách thông thường, nhưng trong chế độ chế độ promiscuous được sử dụng để chấp nhận tất cả các gói tin chảy qua thẻ mạng.

Công cụ mạng hiện nay sử dụng chế độ promiscuous để bắt và phân tích các gói tin chảy qua giao diện mạng. Để thiết lập chế độ promiscuous, sử dụng lệnh sau.

# ifconfig eth0 promisc

12. Cách vô hiệu hóa chế độ Promiscuous

Để vô hiệu hóa chế độ promiscuous, sử dụng công cụ “-promisc” để trả lại giao diện mạng về chế độ bình thường.

# ifconfig eth0 -promisc

13. Cách thêm bí danh mới cho giao diện mạng

Trình diễn giao diện ifconfig cho phép bạn cấu hình các giao diện mạng bổ sung bằng cách sử dụng tính năng alias. Để thêm bí danh giao diện mạng của eth0, sử dụng lệnh sau. Lưu ý rằng địa chỉ mạng của bí danh phải nằm trong cùng một subnet mask. Ví dụ, nếu địa chỉ IP mạng của eth0 là 172.16.25.125, thì địa chỉ IP bí danh phải là 172.16.25.127.

# ifconfig eth0:0 172.16.25.127

Tiếp theo, xác minh địa chỉ giao diện mạng bí danh mới đã tạo bằng cách sử dụng lệnh “ifconfig eth0:0”.

# ifconfig eth0:0

eth0:0    Link encap:Ethernet  HWaddr 00:01:6C:99:14:68
          inet addr:172.16.25.123  Bcast:172.16.25.63  Mask:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:17

14. Cách xóa bí danh của giao diện mạng

Nếu bạn không cần giao diện mạng bí danh hoặc bạn đã cấu hình không đúng, bạn có thể xóa bằng cách sử dụng lệnh sau.

# ifconfig eth0:0 down

15. Cách thay đổi địa chỉ MAC của giao diện mạng

Để thay đổi địa chỉ MAC (Media Access Control) của một giao diện mạng eth0, sử dụng lệnh sau với đối số “hw ether“. Ví dụ, xem bên dưới.

# ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF

Đây là các lệnh hữu ích nhất để cấu hình giao diện mạng trong Linux, để biết thêm thông tin và sử dụng của lệnh ifconfig hãy sử dụng trang man như “man ifconfig” trong cửa sổ terminal. Kiểm tra một số tiện ích mạng khác dưới đây.

Tiện ích mạng khác:

  • nmcli – một khách hàng dòng lệnh được sử dụng để điều khiển NetworkManager và báo cáo thông tin mạng.
  • Tcmpdump – là một công cụ phân tích và chụp gói tin dòng lệnh để giám sát lưu lượng mạng.
  • Netstat – là một công cụ giám sát mạng dòng lệnh mã nguồn mở theo dõi lưu lượng gói tin mạng đến và đi.
  • ss (socket statistics) – là một công cụ in thông tin liên quan tới socket mạng trên hệ thống Linux.
  • Wireshark – là một phân tích giao thức mạng mã nguồn mở được sử dụng để khắc phục sự cố liên quan đến mạng.
  • Munin – là một ứng dụng giám sát mạng và hệ thống dựa trên web được sử dụng để hiển thị kết quả bằng đồ thị bằng cách sử dụng rrdtool.
  • Cacti – là một ứng dụng giám sát và vẽ biểu đồ toàn diện dựa trên web cho giám sát mạng.

Để có thêm thông tin và tùy chọn cho bất kỳ công cụ nào ở trên, hãy xem các trang man bằng cách nhập “man toolname” trong dấu nhắc lệnh. Ví dụ, để lấy thông tin cho công cụ “netstat”, sử dụng lệnh “man netstat”.