私はLinuxでカスタムルートテーブルを使用してきましたが、「ip route」コマンドのドキュメントと動作の一部に少し混乱しています。有効な値は0〜255に加えて/ etc / iproute2 / rt_tablesで定義されている名前のみであるようです。
255 local
254 main
253 default
0 unspec
これにより、カスタムテーブルの1-252が残ります。未定義のテーブル名を使用しようとすると、エラーが発生します。
$ ip route show table kermit
Error: argument "kermit" is wrong: table id value is invalid
ただし、エラーなしで255をはるかに超える数値を使用できるようです。
$ ip route show table 1000
[no output]
$ ip route add 10.10.10.0/24 dev eth0 table 1000
[no output]
$ ip route show table 1000
10.10.10.0/24 dev eth0 scope link
ある時点で、事態はさらに奇妙になります。maxint(2 ^ 31)で、ローカルテーブル(255)に「オーバーフロー」します。
$ ip route show table 2147483647
[no output]
$ ip route show table 2147483648
[exact output of table 255 (local)]
誰が何が起こっているのか説明できますか?実際に使用できるmaxintカスタムルーティングテーブルはありますか?