Linux 로컬 테이블

Linux 로컬 테이블

다음 명령을 사용하여 표시된 "로컬 테이블"("기본 경로 테이블"이 아님)이 실제로 사용되는 용도를 이해하는 데 도움을 주시겠습니까?

기본 라우팅에 대한 나의 이해는 주어진 대상에 대해 커널이 대상 IP 주소(패킷 소스가 로컬인지 Ipv4_forward를 통한 비로컬인지 여부)를 기반으로 나가는 패킷에 대한 최상의 인터페이스를 찾는다는 것입니다
. 인터페이스는 또한 정적 경로(특정 또는 기본)이며 이 프로세스는 인터페이스별로 수행되기보다는 커널에 대해 전역적으로 수행됩니다.

(저 자신은 CCIE로서 VRF를 제외하면 Cisco 라우터처럼 작동해야 한다고 생각합니다.)

기본 경로 테이블 대신 이 하위 경로 테이블을 사용해야 하는 실제적인 상황은 없습니다. 염두에 두어야 할 유일한 상황은 각 로컬 테이블에 서로 다른 기본 게이트웨이가 구성된 동일한 서브넷에 두 개의 Linux 인터페이스가 있는 경우입니다. 그런 다음 하나의 게이트웨이 또는 다른 게이트웨이를 사용하여 패킷을 보내고 싶고 대상을 하나의 인터페이스 또는 다른 인터페이스로 강제해야 합니다. 그러나 동일한 서브넷에 두 개의 인터페이스가 있으면 커널 내부에 혼란이 발생할 수 있다는 점도 이해합니다. (Eno1=192.168.0.1 및 eno2=192.168.0.2를 예로 들어 보겠습니다. 192.168.0.3으로 향하는 패킷을 어느 인터페이스에서 다시 보내야 합니까?)

아무튼 저는 리눅스를 많이 사용하고, 마스터 테이블만 사용하는데, 리눅스에서 이 "인터페이스별"/로컬 라우팅 테이블 옵션에 대한 실제 사용 사례를 알고 싶습니다.

답변1

로컬 테이블에는 로컬 호스트에 대한 경로가 포함되어 있습니다. 예를 들어 대상이 ::1또는 인 경우 로컬 테이블이 사용됩니다 127.0.0.1. 로컬 테이블에는 호스트 IP 주소에 대한 항목도 포함되어 있어 자체 IP 주소로 향하는 패킷이 유선을 통해 나가는 것을 방지합니다. 이러한 경로는 기본적으로 명령을 통해 표시되지 않지만 를 ip route통해 볼 수 있습니다 ip route show table local. 로컬 라우팅 테이블은 "인터페이스별" 라우팅 테이블이 아닙니다.

일반적으로 여러 라우팅 테이블(마스터 및 로컬 테이블 이상을 가질 수 있음)은 소스 주소, ToS 등과 같은 대상 주소 이상의 라우팅 결정을 내릴 수 있습니다. man ip-rule"Linux 정책 라우팅"을 보거나 검색하십시오.

관련 정보