Ho lavorato con tabelle di instradamento personalizzate su Linux e sono un po 'confuso da parte della documentazione e del comportamento del comando "ip route". Sembra che gli unici valori validi dovrebbero essere 0-255 più i nomi definiti in / etc / iproute2 / rt_tables:
255 local
254 main
253 default
0 unspec
Ciò lascerebbe 1-252 per le tabelle personalizzate. Il tentativo di utilizzare un nome di tabella non definito genera un errore:
$ ip route show table kermit
Error: argument "kermit" is wrong: table id value is invalid
Tuttavia, sembra che posso usare numeri molto più alti di 255 senza errori:
$ 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
Ad un certo punto, le cose diventano ancora più strane. Proprio su maxint (2 ^ 31), "trabocca" nella tabella locale (255):
$ ip route show table 2147483647
[no output]
$ ip route show table 2147483648
[exact output of table 255 (local)]
Qualcuno può spiegare cosa sta succedendo? Esistono effettivamente tabelle di routing personalizzate maxint che possono essere utilizzate?