`route`がCIDR形式のターゲットパラメータを受け入れないのはなぜですか?

`route`がCIDR形式のターゲットパラメータを受け入れないのはなぜですか?

これら2つのコマンド形式は異なる結果を提供することがわかりました。

$ sudo route -v add -net <IP> netmask 255.255.255.255 gw <gateway>
# succeeds without outputting text

$ sudo route -v add -net <IP>/32 gw <gateway>
SIOCADDRT: Invalid argument

manファイルにはrouteCIDR形式が有効でなければならないと指定されています。

パス [-v] [-A ファミリ] を追加 [-net|-host] ターゲット [netmaskNm] [gw Gw]...

[...]

宛先:宛先ネットワークまたはホスト。ドットで区切られた10進表記で、IPアドレスまたはホスト/ネットワーク名を指定できます。

それでは、私が何を見逃しているのでしょうか?

注:さらに詳細情報を表示するオプションは、このコマンドには役に立たないようです。

答え1

違いは、ルーティングコマンドによって実行されたパラメータ分析にある必要があります。最初のコマンドの結果は、ホストへのパスを設定し、そのホストをネットワークへのパスとして指定しようとするため、不適切な可能性がある2番目のコマンドのエラーではないようです。

-net を -host に置き換えると、2 番目のコマンドが許可されます。

$ route -v add -host <IP>/32 gw <gateway>

とにかく、以下を介してパスを追加できるipコマンドを使用することをお勧めします。

$ ip route add <IP>/32 via <gateway>

または

$ ip route add <IP> via <gateway>

答え2

混乱した点があると思います。

ドットで区切られた10進数のIPアドレスまたはホスト/ネットワーク名を指定できます。

host/network名前がそんなようですCIDRが、書くべきだと思います。ホスト名またはネットワーク名一つは知っているでしょう/etc/hosts and /etc/networks

関連情報