ifconfig不显示绑定到计算机的所有IP


11

我在ubuntu机器上配置了多个IP地址,但运行ifconfig时只显示其中一个。但是,我能够ping通分配给这台机器的所有其他地址。

/etc/network/interface 内容:

# 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

但是,的输出ifconfig仅为:

192.168.202.11


ifconfig -a显示所有内容?
亚历克斯R

它仅显示eth0 ip地址。.:(
pankaj sharma

1
您正在运行哪个Ubuntu版本?请将您的信息也添加到错误#921280中。
jdthood 2012年

1
ip addr show作品
xinthose

Answers:


20

ifconfig本质上已弃用,尽管我没有知道要摆脱它的计划。替换是ip命令。的现代等效项ifconfigip address list

为什么ifconfig被替换为ip?自ifconfig编写以来的几十年中,Linux网络已添加了许多新功能。这涉及用于用户空间工具的全新API(网络链接),以与内核对话以配置网络。编写新工具以更好地通过netlink API并将新功能映射到命令行,比尝试适应旧ifconfig工具要实用得多。请查看ip(8)联机帮助页,以获取您现在可以做的所有很酷的新操作。

该工具ifconfigifconfig工具本身使用的内核API 仍然是为了向后兼容,但是此接口对任何无法轻松映射到旧模型的对象都是盲目的。

其原因ifconfig不显示你的IP别名是,它看起来像正在被Debian的加入,他们ifupdown(的包,手柄/etc/network/interfaces)使用不同的机制,它不添加标签:1:2等于是ifconfig工具是盲目的给他们,由于旧API要求使用这些标签,因此多余的地址不会映射到旧API。从ip-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.

maggotbrain的答案中链接的错误似乎集中在增加对ifconfig不带标签的地址读取的支持上。另一种方法可能是安排ifupdown创建带有标签的地址,ifconfig以便无需修改即可看到它们。


0

这很可能是net-tools程序包中的一个bug,ifconfig尤其是。

有关其他信息,请在此处此处查看启动板错误。

如果您手动输入界面,请使用ifconfig类似以下命令的命令行(遵循上述配置):

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

运行时,将按预期显示那些界面ifconfig

但是,这些更改不会显示在您的/etc/network/interfaces中。因此,您将需要在两个地方都添加它们。

注意:这在接口重置期间也不是持久的,因此您将需要在重新启动接口/计算机后重新运行命令。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.