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 eth0, lo, sit0, 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”.