Linux 커널 3.2.0-23-generic의 라우팅 테이블 "220"

Linux 커널 3.2.0-23-generic의 라우팅 테이블 "220"

커널이 포함된 Linux 시스템이 있습니다.3.2.0-23-일반그리고 RPDB에는 "220"이라는 라우팅 테이블을 가리키는 우선순위 220의 규칙이 있습니다.

T42:~# ip rule show
0:      from all lookup local 
220:    from all lookup 220 
220:    from all lookup 220 
32766:  from all lookup main 
32767:  from all lookup default 
T42:~# ip route show table 220
T42:~# 

이 규칙이 어디서 나오는지 알 수 있나요? 빈 라우팅 테이블의 요점은 무엇입니까? 마지막으로, 동일한 우선순위를 가진 여러 규칙이 어떻게 존재할 수 있습니까?

답변1

이는 라우팅 테이블일 수 있습니다.강한 백조:

Linux에서 StrongSwan은 기본적으로 라우팅 테이블 220에 경로를 설치하므로 커널이 정책 기반 라우팅을 지원해야 합니다.

원천:https://wiki.strongswan.org/projects/strongswan/wiki/IntroductionTostrongSwan

답변2

이 규칙이 어디서 나오는지 알 수 있나요?

"이 규칙의 출처를 어디서 찾을 수 있는가"라는 의미가 아닙니다. 이 문제를 조사하는 방법에는 여러 가지가 있습니다. 가장 확실한 방법은 grep시스템의 모든 시작 스크립트를 살펴 보고 ip rule정확히 어떤 용도로 사용되는지 확인한 다음 읽기 시작하는 것입니다. 또는 단일 사용자 모드에서 시스템을 부팅하고 를 사용할 strace수 있습니다. 또는 bashinit(커널 명령줄:)을 사용하여 시스템을 부팅 init=/bin/bash한 다음 을 /sbin/init사용하여 실제 작업을 수행 할 수 있습니다 strace. 이는 시작 활동을 추적하는 상당히 진보된 방법이며 실행할 스크립트를 아는 것이 간단하지 않을 수 있습니다.

시스템에 존재하는 스크립트가 아닌 관리자나 해커가 수동으로 규칙을 입력하는 경우 특정 규칙이 어디서 왔는지 알 수 없습니다.

빈 라우팅 테이블의 요점은 무엇입니까?

아무것도 없습니다. 누군가가 테이블을 채우기 시작할 때까지입니다. 이는 처음에 자체 테이블에 대한 규칙을 입력한 다음 자체 라우팅 테이블의 내용을 동적으로 변경하는 데몬일 수 있습니다.

동일한 우선순위를 가진 여러 규칙을 갖는 것이 어떻게 가능합니까?

IPROUTE2 유틸리티 키트 작동 가이드

PREFERENCE --- 이 규칙의 우선순위입니다. 각 규칙에는 명확하게 설정된 고유한 우선순위 값이 있어야 합니다. 우선순위는 부호 없는 32비트 숫자이므로 4294967296개의 가능한 규칙이 있습니다.

경고하다!

역사적인 이유로 IP 규칙 추가에는 우선순위 값이 필요하지 않으며 우선순위 값이 고유하지 않은 것을 허용합니다. 사용자가 우선순위 값을 제공하지 않으면 커널이 우선순위 값을 할당합니다. 사용자가 이미 존재하는 우선순위 값을 사용하여 규칙 생성을 요청하는 경우 커널은 요청을 거부하지 않고 해당 규칙에 대한 이전 규칙 앞에 새 규칙을 추가합니다. 우선순위가 동일합니다. 이것은 현재 디자인의 버그일 뿐, 그 이상은 아닙니다. 이 내용을 읽을 때쯤에는 문제가 해결될 것이므로 이 기능에 의존하지 마십시오. 규칙을 만들 때는 항상 명확한 우선순위를 사용하세요.

관련 정보