Saya telah bekerja dengan tabel rute kustom di Linux, dan saya agak bingung dengan beberapa dokumentasi dan perilaku perintah "ip route". Tampaknya satu-satunya nilai yang valid adalah 0-255 plus nama-nama yang didefinisikan di / etc / iproute2 / rt_tables:
255 local
254 main
253 default
0 unspec
Ini akan meninggalkan 1-252 untuk tabel khusus. Mencoba menggunakan nama tabel yang tidak ditentukan memberikan kesalahan:
$ ip route show table kermit
Error: argument "kermit" is wrong: table id value is invalid
Namun, tampaknya saya dapat menggunakan angka yang jauh lebih tinggi dari 255 tanpa kesalahan:
$ 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
Pada titik tertentu, segalanya menjadi lebih aneh. Tepat pada maksint (2 ^ 31), "meluap" ke tabel lokal (255):
$ ip route show table 2147483647
[no output]
$ ip route show table 2147483648
[exact output of table 255 (local)]
Adakah yang bisa menjelaskan apa yang terjadi? Apakah sebenarnya ada tabel perutean kustom maksint yang dapat digunakan?
$ ip -V
ip utility, iproute2-ss180813
$ ip route list table 4294967296
Error: argument "4294967296" is wrong: table id value is invalid
$ ip route list table 4294967295
(tidak ada output). Perilaku sebelumnya mungkin menunjukkan tabel "unspec" 0 (bukan 255), tetapi 0 akan mencakup 255 (dan apa saja) meja lainnya)