정책 기반 라우팅을 위한 IP 경로 및 IP 규칙 구성 유지(iproute2)

정책 기반 라우팅을 위한 IP 경로 및 IP 규칙 구성 유지(iproute2)

현재 Fedora Server 23에서 실행 중이며 다음과 같은 명령을 저장하는 올바른 방법을 찾고 있습니다.

ip route add default via 10.0.2.1 dev ens32 table EXAMPLE_TABLE
ip rule add from 10.1.2.50 lookup EXAMPLE_TABLE prio 1000

nmcli를 통해 (이상적으로) 또는 기타 유사한 수단을 통해합리적인방법.

비슷한 예를 본 적이 있어요노선명파일에 있지만 기본 규칙이 올바르게 적용되지 않는 것 같습니다.

재부팅 후 실행 하면 ip route show table EXAMPLE_TABLE적어도 내 경험상으로는 달라붙지 않는다는 것을 알게 될 것입니다.

이에 대한 통찰력은 흥미로울 것입니다. 감사합니다.

답변1

내가 아는 한, 기본 경로를 유지하는 가장 쉬운 방법은 기본 경로 대상을 /etc/sysconfig/network-scripts/ifcfg-<device>GATEWAY 값으로 파일에 추가하는 것입니다. 이 기본 경로는 인터페이스가 시작될 때마다 생성되며 다른 경로는 route-<device>동일한 디렉터리의 파일을 통해 유지됩니다.

답변2

보존할 항목은 rules다음 위치에 보관해야 합니다.

/etc/sysconfig/network-scripts/rule-lo

보존할 항목은 routes다음 위치에 보관해야 합니다.

/etc/sysconfig/network-scripts/route-lo

규칙을 사용하는 것이 좋습니다.루오그리고 경로-루오해당 구성을 저장하는 장치에 관계없이 파일은 루프백 인터페이스에 대한 규칙 및 경로인 것처럼 저장됩니다. 얼마 전 CentOS 7.8에서 아마도 여기서 관찰한 것과 동일한 문제를 관찰했습니다. 여기서 각각의 올바른 장치 파일에 저장된 PBR 규칙은 무시되었지만 *-에 저장된 모든 규칙은 다음과 같습니다.루오존경합니다. 이 문제의 원인을 더 밝혀내고 싶었지만 당시에는 더 이상 조사하지 않았습니다. 일부 로그는 NetworkManager 스케줄러가 담당하고 있음을 나타냅니다.

완전한 답변을 위해 라우팅 테이블은 테이블 번호로 식별됩니다. 이름으로 라우팅 테이블을 참조하려면 이름 맵을 생성해야 합니다. 예를 들어 "EXAMPLE_TABLE"이라는 이름으로 테이블 번호 100을 참조합니다.

echo '100 EXAMPLE_TABLE' | sudo tee -a /etc/iproute2/rt_tables

관련 정보