ifconfig không hiển thị tất cả IP bị ràng buộc với máy


11

Tôi đã cấu hình nhiều địa chỉ IP trên hộp ubfox, nhưng khi tôi chạy, ifconfignó chỉ hiển thị một trong số chúng. Tuy nhiên, tôi có thể ping tất cả các địa chỉ khác được gán cho máy này.

/etc/network/interface nội dung:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
     address 192.168.202.11
     netmask 255.255.255.0
     network 192.168.202.0
     broadcast 192.168.202.255
     gateway 192.168.202.1

# dns-* options are implemented by the resolvconf package, if installed   
dns-search idil.dz1.da

auto eth0:1    
iface eth0:1 inet static
     address 192.168.202.12   
     netmask 255.255.255.0

auto eth0:2
iface eth0:2 inet static
     address 192.168.202.13
     netmask 255.255.255.0

auto eth0:3
iface eth0:3 inet static
     address 192.168.202.14
     netmask 255.255.255.0

auto eth0:4
iface eth0:4 inet static
     address 192.168.202.15
     netmask 255.255.255.0

auto eth0:5
iface eth0:5 inet static
     address 192.168.202.16   
     netmask 255.255.255.0

Tuy nhiên, đầu ra của ifconfigchỉ là:

192.168.202.11


ifconfig -a hiển thị mọi thứ?
Alex R

nó chỉ hiển thị địa chỉ IP eth0 .. :(
pankaj sharma

1
Bản phát hành Ubuntu nào bạn đang chạy? Vui lòng thêm thông tin của bạn vào lỗi # 921280.
jdthood

1
ip addr showhoạt động
xinthose

Câu trả lời:


20

ifconfigvề cơ bản là không được chấp nhận, mặc dù không có kế hoạch nào mà tôi biết để loại bỏ nó. Sự thay thế là iplệnh. Tương đương hiện đại của ifconfigchính nó là ip address list.

Tại sao đã ifconfigđược thay thế bằng ip? Nhiều chức năng mới đã được thêm vào mạng Linux trong những thập kỷ kể từ khi ifconfigđược viết. Điều này liên quan đến một API hoàn toàn mới (netlink) để công cụ không gian người dùng nói chuyện với kernel để cấu hình mạng. Thực tế hơn nhiều khi viết một công cụ mới để ánh xạ chức năng mới tốt hơn thông qua API netlink và xuống dòng lệnh, hơn là thử và điều chỉnh ifconfigcông cụ cũ . Kiểm tra trang web ip (8) cho tất cả những thứ mới tuyệt vời mà bạn có thể làm bây giờ.

API kernel được sử dụng bởi ifconfigifconfigbản thân công cụ vẫn có khả năng tương thích ngược, nhưng giao diện này bị mù với bất kỳ thứ gì không dễ dàng ánh xạ tới mô hình cũ.

Lý do mà ifconfigkhông hiển thị cho bạn những bí danh IP là nó trông giống như họ đang được thêm vào bằng cách của Debian ifupdown(gói mà xử lý /etc/network/interfaces) sử dụng một cơ chế khác nhau mà không gắn nhãn :1, :2vv Vì vậy, các ifconfigcông cụ là mù quáng đối với họ, do API cũ bắt buộc các nhãn này và do đó, các địa chỉ bổ sung không ánh xạ tới API cũ. Từ trang man-address (8) :

          Each address may be tagged with a label string.  In order to
          preserve compatibility with Linux-2.0 net aliases, this string
          must coincide with the name of the device or must be prefixed
          with the device name followed by colon.

Các lỗi được liên kết trong câu trả lời của maggotbrain dường như được tập trung vào việc thêm hỗ trợ ifconfigđể đọc địa chỉ mà không có nhãn. Một cách tiếp cận khác có thể là sắp xếp ifupdownđể tạo các địa chỉ bằng nhãn, như vậy ifconfigsẽ có thể nhìn thấy chúng mà không cần sửa đổi.


0

Đây rất có thể là một lỗi trong gói công cụ mạng và ifconfigcụ thể.

Xem các lỗi launchpad ở đâyở đây để biết thêm thông tin.

Nếu bạn nhập giao diện của mình theo cách thủ công, từ dòng lệnh sử dụng ifconfignhư thế này (theo cấu hình trên của bạn):

sudo ifconfig eth0:1 192.168.202.12 netmask 255.255.255.0
sudo ifconfig eth0:2 192.168.202.13 netmask 255.255.255.0
sudo ifconfig eth0:3 192.168.202.14 netmask 255.255.255.0
sudo ifconfig eth0:4 192.168.202.15 netmask 255.255.255.0
sudo ifconfig eth0:5 192.168.202.16 netmask 255.255.255.0

Bạn sẽ có những giao diện đó hiển thị, như mong đợi, khi chạy ifconfig.

Những thay đổi này sẽ không hiển thị trong của bạn /etc/network/interfaces, tuy nhiên. Vì vậy, bạn sẽ cần thêm chúng ở cả hai nơi.

Lưu ý: Điều này cũng không liên tục trên các thiết lập lại giao diện, vì vậy bạn sẽ cần chạy lại các lệnh khi khởi động lại giao diện / máy.

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.