これら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ファイルにはroute
CIDR形式が有効でなければならないと指定されています。
パス [-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
。