Я працював зі спеціальними таблицями маршрутів в 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)]
Хтось може пояснити, що відбувається? Чи є насправді максимальні спеціальні таблиці маршрутизації, які можна використовувати?