こんにちは、利用可能なIPセットから特定のIPを削除しようとしています。どうすればいいですか?たとえば、次のようなIP(同じ順序)があるとします。 1.2.3.4 1.2.3.5 1.2.3.6 x = 4,5,6の場合は、「ifconfig etho:x 1.2.3.x up」を使用してこれを行います。さて、最初のIPである1.2.3.4だけをダウンさせようとしています。 「ifconfig eth0:4 down」で試しました。問題は、これが目的のIPだけでなく、その下のすべてのIPもダウンすることです。私はLinux RedHatで働いています。事前にありがとう...
答え1
ip addr del 1.2.3.4/24 dev eth0:4
これはeth0:n
実際にはインターフェイスではなく、ラベル(またはエイリアス)と呼ばれます。同じインターフェイスに複数のアドレスを割り当てることができるため、ラベルはIPの目的を区別するのに役立ちます。これはまた、ラベルを設定するときに実際にeth0と話すので、他のすべてが従う理由も説明します。
答え2
ほとんどのオペレーティングシステムでは、IPエイリアスまたは論理ネットワークインターフェイスと呼ばれる単一のインターフェイスに複数のIPアドレスを割り当てることができます。複数のIPアドレスを特定のラベル/エイリアスに関連付けることができます。エイリアスは私たち自身の便宜のためです。
次の例では、ラベルはeth0:1
IPアドレスに関連付けられています。192.168.1.1 to 192.168.1.3
そしてeth0:2
ラベルはに関連付けられています192.168.1.4 to 192.168.1.6
。
# ip addr add 192.168.1.1/24 dev eth0 label eth0:1
# ip addr add 192.168.1.2/24 dev eth0 label eth0:1
# ip addr add 192.168.1.3/24 dev eth0 label eth0:1
# ip addr add 192.168.1.4/24 dev eth0 label eth0:2
# ip addr add 192.168.1.5/24 dev eth0 label eth0:2
# ip addr add 192.168.1.6/24 dev eth0 label eth0:2
$ ip addr ls dev eth0
inet 192.168.1.1/24 scope global eth0:1
inet 192.168.1.2/24 scope global secondary eth0:1
inet 192.168.1.3/24 scope global secondary eth0:1
inet 192.168.1.4/24 scope global secondary eth0:2
inet 192.168.1.5/24 scope global secondary eth0:2
inet 192.168.1.6/24 scope global secondary eth0:2
特定のIPアドレスをインターフェイスに接続したり、複数のIPアドレスをエイリアスに接続したりできます。
次のコマンドは、ラベルに関連付けられているすべてのIPアドレスを一覧表示しますeth0:1
。
$ ip addr ls label eth0:1
inet 192.168.1.1/24 scope global eth0:1
inet 192.168.1.2/24 scope global secondary eth0:1
inet 192.168.1.3/24 scope global secondary eth0:1
特定のIPアドレスを削除できます。
$ sudo ip addr del 192.168.1.3/24 dev eth0
$ sudo ip addr ls label eth0:1
inet 192.168.1.1/24 scope global eth0:1
inet 192.168.1.2/24 scope global secondary eth0:1