
RHEL ボックス上にサブインターフェースを作成しeth0:1
、eth0
構成をコピーして、すべての設定を反映するように変更しeth0:1
、IP アドレスを変更しました。ただし、発行するとifup eth0:1
次のエラーが発生します。
[root@server-1 ~]# ifup eth0:1
Error, some other host already uses address 192.168.0.2.
[root@server-1 ~]# ping -c 1 192.168.0.2
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
--- 192.168.0.2 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 10000ms
ただし、次のコマンドを発行すると、ifconfig eth0:1 192.168.0.2 up
コマンドは機能し、エラーは発生しません。後者のコマンドを使用するのですが、これを使用すると、プライマリeth0
インターフェイスに干渉し、サブインターフェイスと同じサブネット上にあるため、DNS トラフィックのルーティングが混乱しますeth0:1
。DNS の問題については、別の投稿をします。
これらはインターフェースの設定です
[root@server-1 network-scripts]# cat ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:50:56:AF:0C:06"
IPADDR="192.168.0.1"
IPV6INIT="yes"
NETMASK="255.255.255.0"
ONBOOT="yes"
TYPE="Ethernet"
DNS1="192.168.2.10"
DNS2="192.168.3.10"
[root@server-1 network-scripts]# cat ifcfg-eth0:1
DEVICE="eth0:1"
BOOTPROTO="static"
HWADDR="00:50:56:AF:0C:06"
IPADDR="192.168.0.2"
IPV6INIT="yes"
NETMASK="255.255.255.0"
ONBOOT="no"
TYPE="Ethernet"
DNS1="192.168.2.10"
DNS2="192.168.3.10"
ip addr show
[root@server-1 network-scripts]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:AF:0c:06 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.1/24 brd 192.168.0..255 scope global eth0
inet 192.168.2.1/30 brd 192.168.2.3 scope global eth0:2
inet 192.168.2.5/30 brd 192.168.2.7 scope global eth0:3
inet6 fe80::250:56ff:fe97:c06/64 scope link
valid_lft forever preferred_lft forever
答え1
このメッセージは、ネットワーク インターフェイスを構成するための構成ファイルを処理するか、またはによって/etc/sysconfig/network-scripts/ifup-eth
生成されます。/etc/sysconfig/network-scripts/ifup-aliases
ifcfg-ethX
スクリプトをさらに注意深く確認すると、ファイルに指定された IP アドレスがネットワーク内で一意であるarping
かどうかを確認しようとするコマンドの後にこのエラーが表示されることがわかります。ifcfg-ethX
スクリプトは、ネットワーク内の重複した構成を回避しようとします。Ifconfig
気にせず、インターフェイスに IP アドレスを追加するだけです。 IP アドレスが重複している可能性があるため、構成ファイルを 2 回確認してください。
最後に、このチェックを無効にするためのARPCHECK=no
ディレクティブをファイルに記述できることを述べておきます。ifcfg-ethX
答え2
私は dsmsk80 の回答を読み、ifup-eth スクリプトを調べてこれを解決しました。重要な行は次のとおりです。
/sbin/arping -c 2 -w 3 -D -I <INTERFACE> <VLAN>
したがって、OP の例では次のようになります。
/sbin/arping -c 2 -w 3 -D -I eth0:1 192.168.0.2
最近これを使用したところ、次の結果が返されました:
> /sbin/arping -c 2 -w 3 -D -I eth0.1508 192.168.8.1
ARPING 192.168.8.1 from 0.0.0.0 eth0.1508
Unicast reply from 192.168.8.1 [00:1C:C4:A1:D8:39] 0.605ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
次に、この MAC (00:1C:C4:A1:D8:39) を取得して、スイッチの動的アドレス セクションで検索します。これにより、その IP をすでに使用しているインターフェイスの VLAN とポート番号がわかります。