CentOS 7には、異なるメトリックを持つ2つのデフォルトゲートウェイがあります。どうすればいいですか?

CentOS 7には、異なるメトリックを持つ2つのデフォルトゲートウェイがあります。どうすればいいですか?

私は助けを求めるためにここに来ました。簡単に見える問題を解決する方法を見つけるために数時間を費やしました。

2つの異なるネットワークに2つのネットワークインターフェイスを持つCentOS 7.6ホストでインターフェイスの1つをサポートするためにメトリックが設定されている2つのデフォルトゲートウェイをどのように持つことができますか?できません。髪がなくなる前に私が何を逃しているのか教えてくれる人はいますか?

  • METRIC=xxxまず、オンラインで見つけたいくつかのアドバイスに基づいてファイルの設定を試しました。/etc/sysconfig/network-scripts-/ifcfg-<interface>明らかに一度サポートされても、もはやサポートされません。次へ。

  • その後、オンラインで見つけることができる広範な文書に従ってポリシーベースのルーティングを試しました。残念ながら、指標の追加について言及している人はほとんどいません。

詳細は次のとおりです(長さが長くて申し訳ありませんが、スキップしたくありませんでした)。

  • マシンには2つのアクティブなインターフェイスenp10s4f0(IP 10.149.247.23、prefix /24)とenp2s0f0(IP 10.149.160.21、prefix /24)があります。

  • 2つのゲートウェイがあります:10.149.247.25410.149.160.254。私は10.149.160.254「最高の」ゲートウェイになりたいので、指標が低いです。また、非対称ルーティングを避けたい。

  • ルートを入力して、ゲートウェイでさまざまな指標を持つ目標を達成できます。

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

    しかし、私はそれが持続することを願っています。

  • そのため、次の場所に2つのルーティングテーブルを作成しました/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

[わかりました。 3番目のインターフェイスがありますが、enp10s4f1このインターフェイスはドキュメントにないため、DEFROUTE=noこれまで言及していません。GATEWAY=ifcfg

願いより?

  • オンラインには110メートル法はありませんdefault via 10.149.247.254 dev enp10s4f0...
  • 結果は私が達成したいことと正反対です。enp10s4f0デフォルトゲートウェイのメトリックは、enp2s0f0以下より低くなります。

これら2つのネットワーク外のホストへのパスを追跡してそれを確認でき、パケットは通過します。10.149.247.254

私はこの時点で詰まった。それを把握できません。可能であれば助けてください。

答え1

次へ追加

IPV4_ROUTE_METRIC=xxx 

ファイルから。/etc/sysconfig/network-scripts-/ifcfg-interface

Centos 7システムでも同じ問題が発生しました。インターネットを検索した後、この設定を見つけて再起動して機能させました。

関連情報