CentOS 7에는 서로 다른 메트릭을 가진 두 개의 기본 게이트웨이가 있습니다. 어떻게 해야 합니까?

CentOS 7에는 서로 다른 메트릭을 가진 두 개의 기본 게이트웨이가 있습니다. 어떻게 해야 합니까?

나는 도움을 요청하기 위해 여기에 왔습니다. 간단해 보이는 문제를 해결하는 방법을 알아내느라 몇 시간을 보냈습니다.

두 개의 서로 다른 네트워크에 두 개의 네트워크 인터페이스가 있는 CentOS 7.6 호스트에서 인터페이스 중 하나를 지원하기 위해 메트릭이 설정된 두 개의 기본 게이트웨이를 어떻게 가질 수 있습니까? 할 수 없습니다. 머리카락이 없어지기 전에 내가 무엇을 놓치고 있는지 말해 줄 수 있는 사람이 있나요?

  • METRIC=xxx먼저 온라인에서 찾은 몇 가지 조언을 바탕으로 파일의 설정을 사용해 보았습니다 . /etc/sysconfig/network-scripts-/ifcfg-<interface>분명히 한 번 지원되더라도 더 이상 지원되지 않습니다. 다음.

  • 그런 다음 온라인에서 찾을 수 있는 광범위한 문서에 따라 정책 기반 라우팅을 사용해 보았습니다. 불행히도 측정 항목 추가에 대해 언급하는 사람은 거의 없습니다.

자세한 내용은 다음과 같습니다(길이가 길어서 죄송하지만 건너뛰고 싶지 않았습니다).

  • 머신에는 두 개의 활성 인터페이스 enp10s4f0(IP 10.149.247.23, prefix /24) 및 enp2s0f0(IP 10.149.160.21, prefix /24)가 있습니다.

  • 두 개의 게이트웨이가 있습니다: 10.149.247.25410.149.160.254. 나는 10.149.160.254"최고의" 게이트웨이가 되고 싶기 때문에 지표가 낮습니다. 또한 비대칭 라우팅을 피하고 싶습니다.

  • 경로를 입력하여 게이트웨이에서 다양한 측정항목을 갖는 목표를 달성할 수 있습니다.

    ip route add default ... dev ... metric
    

    그러나 나는 그것이 지속되기를 바랍니다.

  • 그래서 다음 위치에 두 개의 라우팅 테이블을 만들었습니다 /etc/iproute2/rt_tables.

    247 enp10s4f0table  
    160 enp2s0f0table
    

    다음 규칙과 경로 파일을 만들었습니다 /etc/sysconfig/network-scripts.

    route-enp10s4f0:  
    10.149.247.0/24 dev enp10s4f0 src 10.149.247.23 table enp10s4f0table  
    default via 10.149.247.254 dev enp10s4f0 metric 110 table enp10s4f0table  
    
    rule-enp10s4f0:  
    from 10.149.247.23/32 table enp10s4f0table
    to 10.149.247.23 table enp10s4f0table  
    
    route-enp2s0f0:  
    10.149.160.0/24 dev enp2s0f0 src 10.149.160.21 table enp2s0f0table  
    default via 10.149.160.254 dev enp2s0f0 table enp2s0f0table  
    
    rule-enp2s0f0:  
    from 10.149.160.21/32 table enp2s0f0table
    to 10.149.160.21 table enp2s0f0table  
    
  • 그런 다음 올바른 주문을 사용했습니다.
    yum install NetworkManager-config-routing-rules  
    systemctl enable NetworkManager-dispatcher.service  
    systemctl start NetworkManager-dispatcher.service  
    
    ...그리고 재부팅하세요.

분명히 구성은 올바르게 읽고 처리되었지만 측정항목은아니요게이트웨이 에 적용됩니다 10.149.247.254:

# ip route show table enp10s4f0table
default via 10.149.247.254 dev enp10s4f0 metric 110
10.149.247.0/24 dev enp10s4f0 scope link src 10.149.247.23  
# ip route show table enp2s0f0table
default via 10.149.160.254 dev enp2s0f0  
# ip rule show
0: from all lookup local
32762: from all to 10.149.160.21 lookup enp2s0f0table
32763: from 10.149.160.21 lookup enp2s0f0table
32764: from all to 10.149.247.23 lookup enp10s4f0table
32765: from 10.149.247.23 lookup enp10s4f0table
32766: from all lookup main
32767: from all lookup default  

하지만:

# ip route show
default via 10.149.247.254 dev enp10s4f0 proto static metric 100
default via 10.149.160.254 dev enp2s0f0 proto static metric 102
10.149.160.0/24 dev enp2s0f0 proto kernel scope link src 
10.149.160.21 metric 102
10.149.247.0/24 dev enp10s4f0 proto kernel scope link src 
10.149.247.23 metric 100
192.168.2.0/24 dev enp10s4f1 proto kernel scope link src 
192.168.2.14 metric 101

[알겠습니다. 세 번째 인터페이스가 있지만 enp10s4f1이 인터페이스는 문서에 없으므로 DEFROUTE=no지금까지 언급하지 않았습니다.]GATEWAY=ifcfg

바라보다?

  • 온라인에는 110 미터법이 없습니다 default via 10.149.247.254 dev enp10s4f0....
  • 결과는 제가 달성하고자 하는 것과 정반대입니다. enp10s4f0기본 게이트웨이의 메트릭은 enp2s0f0다음보다 낮습니다.

이 두 네트워크 외부의 호스트에 대한 경로를 추적하여 이를 확인할 수 있으며 패킷은 통과합니다.10.149.247.254

나는이 시점에서 막혔다. 그것을 알아낼 수 없습니다. 가능하다면 도와주세요.

답변1

다음에 추가

IPV4_ROUTE_METRIC=xxx 

파일에서./etc/sysconfig/network-scripts-/ifcfg-interface

Centos 7 시스템에서도 동일한 문제가 발생했습니다. 인터넷 검색 후 이 설정을 찾아 재부팅한 후 작동하게 했습니다.

관련 정보