Tôi có nên bỏ sử dụng Ifconfig?


171

Với các máy chủ gắn thẻ Infiniband, khi tôi sử dụng ifconfiglệnh, tôi nhận được cảnh báo này:

Ifconfig uses the ioctl access method to get the full address 
information, which limits hardware addresses to 8 bytes.
Because Infiniband address has 20 bytes, only the first 8 bytes 
are displayed correctly.
Ifconfig is obsolete! For replacement check ip.

Tôi có nên bỏ sử dụng ifconfig? Là nó không được ủng hộ của iplệnh? Hay nó sẽ được cập nhật trong tương lai gần?

Lưu ý: Câu hỏi và câu trả lời này liên quan đến các bản phân phối "chính" của GNU / Linux . Không nên giả định rằng thông tin áp dụng cho tất cả các bản phân phối và đặc biệt là các hệ điều hành khác.


23
Càng chuyển đổi sớm, càng tốt. Tôi đã mất nhiều tháng để thay thế bộ nhớ cơ bắp ifconfig. Nó làm cho các hoạt động trên Windows thậm chí còn thú vị hơn. " ip add-Không, đợi đã, không phải thế, ifcon-NO, argh ipconfig"
Charles

7
Có lẽ một bí danh sẽ giúp : alias ipconfig='echo ipconfig is deprecated, use ip instead'. Tất nhiên bạn thiết lập các bí danh có ý nghĩa hơn.
ott--

98
ifconfigbị phản đối? Tôi phải là người sống trong một hang động
wim

26
Tôi thấy tò mò rằng một lệnh gọi là "ip" có khả năng thực hiện các hoạt động ở cấp độ liên kết.
James O'Gorman

12
Nó chỉ không dùng nữa trên các hệ điều hành nhất định. Nếu bạn sử dụng những thứ bên ngoài Linux, tôi tin rằng ifconfig vẫn đang được sử dụng. Tôi thấy không có cảnh báo như vậy trên FreeBSD, ví dụ.
Stefan Lasiewski

Câu trả lời:


154

Trích dẫn trang web của Thomas Pircher ( cc-by-sa ):

ifconfig vs ip

Lệnh /bin/ipđã được một thời gian. Nhưng mọi người vẫn tiếp tục sử dụng lệnh cũ /sbin/ifconfig. Hãy rõ ràng: ifconfigsẽ không nhanh chóng biến mất, nhưng phiên bản mới hơn của nó ip, mạnh hơn và cuối cùng sẽ thay thế nó.

Trang man của ban đầu ipcó thể trông đáng sợ, nhưng một khi bạn đã quen với cú pháp lệnh, thì đây là một trang dễ đọc. Trang này sẽ không giới thiệu các tính năng mới của ip. Nó khá có tính năng so sánh song song nếu ifconfigipđể có được cái nhìn tổng quan nhanh về cú pháp lệnh.

Hiển thị các thiết bị và cấu hình mạng

ifconfig

ip addr show
ip link show

Kích hoạt giao diện mạng

ifconfig eth0 up
ip link set eth0 up

Giao diện mạng bị vô hiệu hóa theo cách tương tự:

ifconfig eth0 down
ip link set eth0 down

50
Điều thú vị là trong mọi trường hợp sử dụng, bạn đã đề cập đến lệnh ip dài hơn và phức tạp hơn. Có lẽ sẽ là một lý do chính khiến người ta vẫn sử dụngifconfig
TheLQ

22
@TheLQ: ipcung cấp nhiều, nhiều tính năng hơn. Tất nhiên là phức tạp hơn. Dù sao, nhiều lệnh có thể được rút ngắn. ví dụ như ip addr showcó thể được rút ngắn xuống còn ip a, ip link showđể ip l, ip link set eth0 upđến ip l set eth0 upvà vân vân. Điều này mang ipngang hàng với ifconfig.
BatchyX

16
Chỉ cần nhớ rằng, toàn bộ thế giới không phải là một máy Linux. Solaris, AIX, HP-UX, tất cả các BSD và SCO (không phải ai cũng quan tâm đến chúng ) đều sử dụng ifconfig. Nếu bạn muốn trở thành một quản trị viên unix (không chỉ là quản trị viên Linux ), bạn nên đảm bảo rằng bạn ít nhất quen thuộc với ifconfig và cú pháp cơ bản của nó ...
voretaq7

9
Ví dụ đầu tiên của bạn trả lời nó. Tại sao chạy 2 lệnh khi 1 không?
ott--

6
@ott ip addr showkhá nhiều bao gồm đầu ra của ip link show.
nyuszika7h

40

Có, ifconfigkhông được ủng hộ iproute2 ( iplệnh) trên Linux .

Tương tự, các arp, routenetstatlệnh cũng không được tán thành.

Tuy nhiên, iproute2 là dành riêng cho Linux, khi một số Unix khác sử dụng ifconfig, do đó, có thể giúp biết / ghi nhớ cách thức hoạt động của nó nếu bạn sẽ sử dụng Unix khác ...

Để tìm hiểu "cách mới", tôi khuyên bạn nên xem 3 liên kết sau:

Theo liên kết cuối cùng, ifconfigđã không được duy trì trong hơn 15 năm :

Ngoại trừ khối lượng bản vá mà Debian tích lũy, gói công cụ mạng đã không thấy bất kỳ sự phát triển ngược dòng nào sau phiên bản 1.60, được phát hành vào khoảng ngày 15 tháng 4 năm 2001.


9
ifconfigđược phát triển bởi BSD trở lại trong ngày. Linux về cơ bản đã sử dụng ngăn xếp IP của BSD (cũng như Windows và các thời đại khác, tại sao ipconfigvẫn tương tự như vậy ifconfig). Trong 2.4 Kernel Linux bắt đầu chuyển hướng mạnh mẽ từ ngăn xếp của BSD, đó là đầu năm 2001. Điều đó không xảy ra ifconfigkhi Linux không được duy trì tốt kể từ đó.
Chris S

3
10 năm!? Thời gian để khởi động một dự án "save ifconfig" trên GitHub, tôi đoán vậy.
kenchilada

20

ifconfig đã bị từ chối trong nhiều năm nay, đã đến lúc chuyển đổi, đặc biệt là trong trường hợp như của bạn.


1
Tôi cũng thích rút ngắn lệnh cisco-esque của nó. "ip a" = "hiển thị địa chỉ ip"
Coops

5
ồ Có đủ tập lệnh và các công cụ khác xung quanh được xây dựng trên ifconfig, mà tôi không cảm thấy cần phải chuyển đổi cho đến khi nó biến mất ...
Jason Antman

10
Tôi chưa bao giờ nghe nói về ip. Tôi vừa thử nó trên một máy chủ FreeBSD và nó nói ip: Command not found.. Có lẽ ifconfigchỉ bị phản đối trên Linux.
ctype.h

2
@ ctype.h: Thật vậy, nó chỉ bị phản đối trên linux. Bản phát hành của ifconfig nhắm mục tiêu linux có từ năm 1999. ipđã là lựa chọn được đề xuất cho 2,4 nhân.
BatchyX

5

ipđã được thay thế trong ifconfigmột thời gian, có thể một lúc nào đó ifconfigsẽ cập nhật, tuy nhiên tôi sẽ không chờ đợi nó và học cách làm việc cùng ip. Nó được hỗ trợ trên tất cả các distri của linux


8
ip đã được thay thế cho ifconfig trên Linux , như một sự lựa chọn của một số distro.
Kaz

Dường như ifconfig có thể được làm tương thích hoàn toàn với linux. các lệnh như ifconfig eth0 192.168.0.7/24không có nghĩa rõ ràng: vd. nếu eth0đã có 2 địa chỉ IP trên đó (hai địa chỉ trên đó, không phải là một bí danh như eth0: 1).
Jasen 16/03/18
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.