web-dev-qa-db-ja.com

ip addr showは、1つのインターフェースで2つのIPアドレスを表示しています

奇妙な方法で、1つのインターフェイスに2つのIPアドレスが表示されています。これはifconfig -aの私の出力です

eth0      Link encap:Ethernet  HWaddr b8:27:eb:26:b1:c8  
          inet addr:10.0.0.22  Bcast:10.255.255.255  Mask:255.0.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:456 errors:0 dropped:0 overruns:0 frame:0
          TX packets:519 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:63643 (62.1 KiB)  TX bytes:111910 (109.2 KiB)

これは私の/ etc/network/interfacesファイル出力です

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
        address 10.0.0.22
        subnet  255.255.255.0
        gateway 10.0.0.1

auto eth1
allow-hotplug eth1
iface eth1 inet static
#       address 0
#       subnet  255.255.255.0
#       gateway 192.168.0.2

そして、これはSudo ip addr showの私の出力です

1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether b8:27:eb:26:b1:c8 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.22/8 brd 10.255.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 10.0.0.100/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master ovs-system state UP qlen 1000
    link/ether 00:00:00:00:6c:f8 brd ff:ff:ff:ff:ff:ff
    inet 169.254.78.64/16 brd 169.254.255.255 scope global eth1
       valid_lft forever preferred_lft forever

ここでわかるように、ethには2つのIPアドレスがあり、ipコマンドでのみ表示され、ifconfigまたは/ etc/network/interfacesファイルでは表示されません。これがどこから来ているのか、2番目のIPを永久に無効にする方法を理解できません。 2番目のIPアドレスを永久に削除したいと思います。

また、システムの起動時にこのIPが1秒ほど後に来ることに気付きました。 dmesgを実行すると、これらが最後の数行であることがわかります。

[   15.270464] device eth1 entered promiscuous mode
[   15.576206] asix 1-1.4:1.0 eth1: link up, 100Mbps, full-duplex, lpa 0xCDE1
6
The Prenx

同じ問題がありました。

最後に、私のディストリビューション(debian jessie)では、静的IPがファイル/ etc/dhcpcd.confに設定され、次のようになっていることがわかりました。

 ...
 39 # A hook script is provided to lookup the hostname if not set by the DHCP
 40 # server, but it should not be run by default.
 41 nohook lookup-hostname
 42 ## interface eth0
 43   static ip_address=192.168.1.2/24
 44   static routers=192.168.1.254
 45   static domain_name_servers=192.168.1.254
 46 ## interface eth0
 47   static ip_address=192.168.0.3/24
 48   static routers=192.168.0.1
 49   static domain_name_servers=192.168.0.1

そのため、そのファイルから追加のレコードを削除し、その問題を永久に修正しました。

それが誰かを助けることを願っています...

2
Drew

私が知っている古いスレッドが、

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether b8:27:eb:26:b1:c8 brd ff:ff:ff:ff:ff:ff
    **inet 10.0.0.22/8** brd 10.255.255.255 scope global eth0
       valid_lft forever preferred_lft forever

    **inet 10.0.0.100/24** brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever

リクエストは、「「10.0.0.100/24」アドレスを削除するにはどうすればよいですか」でした。

これはそれを取り除きます

ip address del 10.0.0.100/24 dev eth0

これは元に戻します

ip address add 10.0.0.100/24 dev eth0

これらは両方とも「非永続的」なので、より良い質問は、そのアドレスをインターフェイスに配置し続ける理由です。

1
Don