iproute(ip ad)のより便利なバージョンがありますか?

iproute(ip ad)のより便利なバージョンがありますか?

iproute2プロトコルアドレスはコマンド ip address delete(または略語)を使用して削除できますip a d(参照:man ip address)

質問はip a d使用するのがやや不便で、タスクを適切に指定するために実際に必要なものよりも多くのパラメータが必要です。本当に?例:

user@box$> ip a s 

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 24:ee:9a:00:00:01 brd ff:ff:ff:ff:ff:ff
    inet 10.192.0.174/24 brd 10.192.0.255 scope global dynamic noprefixroute wlo1
       valid_lft 415283sec preferred_lft 415283sec

user@box$> ip a d 10.192.0.174

Not enough information: "dev" argument is required.

user@box$> ip  a d 10.192.0.174 dev wlo1

Warning: Executing wildcard deletion to stay compatible with old scripts.
     Explicitly specify the prefix length (172.22.52.254/32) to avoid this warning.
     This special behaviour is likely to disappear in further releases,
     fix your scripts!

iproute2たとえば、ほとんどの場合、割り当てられたIPアドレスは単一のネットワークデバイスにのみ割り当てられているので、ネットマスクとネットワークを無意味に複製するよりも、このデバイスが連携してIPアドレスを削除する方法を知りたいと思います。機器。

現在、複数のネットワークデバイスに同じIPを割り当てるか、異なるサブネットマスクを使用してIPアドレスを複数回割り当てるユースケースを見るのは難しいですが(しかしこれはiproute2私が望んでいない場合は間違いありません)、無視しています)場合も、以下iproute2で見つけることができると確信しています。本当にそのようなことが起こったら(意味、あいまいな場合のみ)。

ip a d無意味なことを減らす方法を見つけた人はいますか?

注/ボーナス:/より意味のないネットマスクをデフォルトに設定する方法はありますかip a a [ipadress](またはこれを選択した理由はありますか?)?/32255.255.255.255

答え1

まず、@Yurkoの答えに完全に同意します。ただし、ここに記載されている回答で問題を解決することもできます。

インターフェイスに関係なくアドレスを削除するには、ヘルプページで提案されているようにip address delbutを使用しないでください。ip address flush

      ip address {save|flush} [ dev IFNAME ] [ scope SCOPE-ID ]
                            [ to PREFIX ] [ FLAG-LIST ] [ label LABEL ] [up]

このサブコマンドは、アドレスを一括で削除するために使用されます。さまざまな方法で範囲を制限できます。一つの方法はですto PREFIX

したがって、あなたの場合は、次のように動作します。

ip address flush to 10.192.0.174

複数のインターフェイスに表示される複雑な設定では、アドレスを複数回削除することもできます。

そこでネットマスクを宣言すると、削除候補を検索するための全範囲が選択されるので、ネットマスクをそのままにしないことが最善です。delコマンドは異なる動作をするため、これは別の動作です。たとえば、ip address flush to 192.0.2.100/31192.0.2.100 または 192.0.2.101 で始まるプレフィックスは、独自のネットマスク (/32/24 など) に関係なく削除対象として選択されます。delete答えはそのような住所がないということです。

答え2

iproute2:はい、複数のインターフェイス、仮想インターフェイス、複雑なルーティング、結合されたインターフェイスなどを含むいくつかの理由があります。最後に、これは従来の問題であり、すべての* nixシステムで同じ動作を示します。

一度設定して忘れた場合、車輪を再構築する理由はありません。

これを何度も実行する必要がある場合、iproute2は数分でスクリプトを簡単に書いて忘れられるようにするための完全なツールセットを提供します。


ネットマスク255.255.255.255がデフォルトの理由は、各デバイスを独自のサブネットに配置して、他のデバイスに到達するようにルータを介して通信するように強制することです。したがって、ローカルネットワークネットマスクを入力しないと、->ローカルネットマスクネットワークはありません。しかし、繰り返しますが、エイリアスを作成してスクリプトを簡単に作成したり、簡単に変更することもできます。

関連情報