저는 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-interface
10.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