ifconfigがマシンにバインドされているすべてのIPを表示しない


11

ubuntuボックスで複数のIPアドレスを構成しましたが、実行ifconfigするとそのうちの1つしか表示されません。ただし、このマシンに割り当てられている他のすべてのアドレスに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すべて表示?
Alex R

eth0 IPアドレスのみが表示されています.. :(
pankaj sharma

1
どのUbuntuリリースを実行していますか?バグ#921280にも情報を追加してください。
jdthood

1
ip addr show作品
xinthose

回答:


20

ifconfigは本質的に非推奨ですが、私がそれを取り除く計画はありません。置き換えはipコマンドです。ifconfigそれ自体の現代版はip address listです。

なぜにifconfig置き換えられましたipか?ifconfigが書かれてから数十年で、Linuxネットワーキングに多くの新しい機能が追加されました。これには、ネットワークを構成するためにカーネルと通信するユーザースペースツール用のまったく新しいAPI(netlink)が含まれていました。古いifconfigツールを試して適応させるよりも、netlink APIを介してコマンドラインまで新しい機能をより適切にマッピングする新しいツールを作成する方がはるかに実用的でした。ip(8)のマンページをチェックして、今できる新しい機能をすべて確認してください。

が使用するカーネルAPI ifconfigifconfigツール自体は下位互換性を保つために残されていますが、このインターフェースは、古いモデルに簡単にマッピングできないものには影響されません。

理由はifconfigあなたのIPエイリアスを表示しませんが、彼らはDebianのによって追加されているように見えるということであるifupdown(パッケージハンドルという/etc/network/interfaces)別のメカニズムを使用して、ラベルを追加しないこと:1:2などだからifconfigツールはそれらに盲目です、古いAPIがこれらのラベルを義務付けていたため、追加のアドレスは古いAPIにマップされません。以下からのIPアドレス(8)のmanページ

          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パッケージのバグである可能性が高い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ただし、これらの変更はには表示されません。したがって、両方の場所に追加する必要があります。

注:これはインターフェースのリセット後も持続しないため、インターフェース/マシンの再起動時にコマンドを再実行する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.