Tôi đã làm việc với các bảng định tuyến tùy chỉnh trên Linux và tôi hơi bối rối bởi một số tài liệu và hành vi của lệnh "ip route". Có vẻ như các giá trị hợp lệ duy nhất phải là 0-255 cộng với các tên được xác định trong / etc / iproute2 / rt_tables:
255 local
254 main
253 default
0 unspec
Điều này sẽ để lại 1-252 cho các bảng tùy chỉnh. Cố gắng sử dụng tên bảng không xác định sẽ gây ra lỗi:
$ ip route show table kermit
Error: argument "kermit" is wrong: table id value is invalid
Tuy nhiên, dường như tôi có thể sử dụng các số cao hơn 255 mà không gặp lỗi:
$ 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
Tại một số điểm, mọi thứ thậm chí còn kỳ lạ hơn. Ngay tại maxint (2 ^ 31), nó "tràn" vào bảng cục bộ (255):
$ ip route show table 2147483647
[no output]
$ ip route show table 2147483648
[exact output of table 255 (local)]
Bất cứ ai có thể giải thích những gì đang xảy ra? Có thực sự có bảng định tuyến tùy chỉnh maxint có thể được sử dụng?