IP 규칙은 IP 경로를 이길 수 없습니다

IP 규칙은 IP 경로를 이길 수 없습니다

저는 CentOS를 실행 중이며 라우팅에 ip route및를 사용하고 있습니다.ip rule

나는 현재ip rule

from 10.8.23.0/28 table 1234

그리고ip route

default via 10.8.23.254 eth1
10.10.10.10 via 10.10.10.1 eth1
10.0.0.0/14 dev test-interface table 1234

ip rule의 두 번째 줄에서 성공한 것 같습니다 . 따라서 대상 IP가 10.10.10.10인 경우에도 소스 IP가 이면 ip route내 패킷은 계속 전송됩니다 .test-interface10.8.23.0/28

10.10.10.10 via 10.10.10.1 eth1소스 IP가 규칙과 일치하는 경우에도 이것이 'p 규칙'을 무시하는지 어떻게 확인할 수 있나요 ? 의미가 있기를 바랍니다 :)

테스트 ip route get 10.10.10.10결과:

10.10.10.10 via 10.10.10.1 dev eth1  src 10.8.23.1

하지만 ip route get 10.10.10.10 src 10.0.0.13나에게 다음을 제공합니다 :

10.10.10.10 via 10.10.10.254 dev test-interface  src 10.8.23.1

따라서 src IP대상 IP보다 우선순위가 높습니다.

답변1

ip rule단순히 기본 라우팅 테이블이 아닌 더 많은 IP 라우팅 테이블을 생성/보유하는 방법이라고 생각할 수 있습니다 .

ip rule문제를 해결하려면 특정 경로 사례를 처리하기 위한 다른 항목을 추가해야 합니다 . 예를 들어 다음 명령을 사용할 수 있습니다.

$ sudo ip rule add to 10.10.10.10/32 lookup 123 priority 10

10여기서는 가 첫 번째가 될 만큼 작다고 가정합니다 ip rule. 이는 의 출력에 따라 다릅니다 ip rule ls. 우선순위에 따라 모든 규칙이 표시됩니다. 값이 작을수록 우선순위가 높으며 먼저 표시됩니다.

에서 소스 및 대상 확인을 결합해야 하는 경우 다음을 ip rule사용할 수 있습니다.

$ sudo ip rule add from 10.8.23.0/28 to 10.10.10.10/32 lookup 123 priority 10

테이블에는 123다음과 같은 올바른 경로가 포함되어야 합니다.

$ sudo ip route add 10.10.10.10/32 via 10.10.10.1 table 123

관련 정보