나는 리눅스에서 커스텀 라우트 테이블을 다루고 있는데 "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 사용자 지정 라우팅 테이블이 있습니까?