Oracle Linux: nmcli를 사용하여 동일한 호스트의 공용 주소가 있는 2개의 인터페이스에서 경로를 얻는 방법은 무엇입니까?

Oracle Linux: nmcli를 사용하여 동일한 호스트의 공용 주소가 있는 2개의 인터페이스에서 경로를 얻는 방법은 무엇입니까?

이 예제 구성과 유사한 두 개의 공용 주소가 있는 Oracle Linux 8 시스템이 있습니다(예에서는 개인 주소).

ens224: connected to ens224
        [...]
        ip4 default
        inet4 10.1.1.94/30
        route4 10.1.1.92/30 metric 104
        route4 default via 10.1.1.93 metric 104

ens256: connected to ens256
        [...]
        inet4 10.1.1.98/30
        route4 10.1.1.96/30 metric 102

문제는 10.1.1.98(ens256)로 들어가는 트래픽이 기본 게이트웨이이기 때문에 10.1.1.93(ens224)을 통해 응답을 라우팅한다는 것입니다. 내 경우에는 다른 공급자의 별도 공개 주소이기 때문에 작동하지 않습니다.

10.1.1.94에 대한 요청은 해당 인터페이스를 통해 응답해야 하지만 10.1.1.98에 대한 요청은 10.1.1.97을 통해 응답해야 합니다. 트래픽이 올바른 나가는 게이트웨이를 선택하도록 하려면 일종의 소스 라우팅이 필요한 것 같습니다.

저는 OL의 인터페이스 관리에 대한 최신 모범 사례를 준수하기 위해 "nmcli"를 사용하여 이를 달성하려고 합니다. 하지만 지금까지 내 요구 사항을 정확히 충족하는 구성을 얻을 수 없었습니다.

답변1

댓글에 AB가 제공한 참고 자료를 바탕으로 이것이 제가 생각해낸 해결책입니다. 이는 이중 라우팅의 주요 문제를 해결하는 것처럼 보이지만 작업을 완료하기 위해 nmcli를 사용하지 않습니다.

echo "10 public1" >> /etc/iproute2/rt_tables
echo "20 public2" >> /etc/iproute2/rt_tables

ip route add 10.0.0.92/30 dev ens224 src 10.0.0.94 table public1
ip route add default via 10.0.0.93 table public1
ip route add 10.0.0.96/30 dev ens256 src 10.0.0.98 table public2
ip route add default via 10.0.0.97 table public2
  
ip route add 10.0.0.92/30 dev ens224 src 10.0.0.94
ip route add 10.0.0.96/30 dev ens256 src 10.0.0.98

ip rule add from 10.0.0.94 table public1
ip rule add from 10.0.0.98 table public2

rt_tables 부분을 제외하고는 재부팅 후에도 지속되지 않습니다. 네트워크가 시작된 후 "ip" 명령을 실행하는 사용자 정의 서비스를 생성하여 이 문제를 해결했지만 이는 이 질문의 범위를 벗어난 것 같습니다.

nmcli를 사용하여 동일한 결과를 얻는 방법을 아는 사람이 있다면 여전히 감사하겠습니다.

관련 정보