デュアルネットワークインタフェースのLinuxルーティング

デュアルネットワークインタフェースのLinuxルーティング

1つのサーバーに2つのVLANと2つの対応するネットワークインターフェイスを持つシステムを設定しようとしています。サービスを特定のインターフェイスにバインドして、そのIPからのみトラフィックを受信できるようにしたいです。現在の設定は次のとおりです。

(ifconfig)
  enp28s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9000
        inet A.B.1.171  netmask 255.255.255.0  broadcast A.B.1.255
        inet6 [.....]  prefixlen 64  scopeid 0x20<link>
        ether [.....]  txqueuelen 1000  (Ethernet)
        RX packets 37262  bytes 6954634 (6.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 28457  bytes 5529921 (5.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  enp28s0f1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9000
        inet C.D.1.112  netmask 255.255.255.0  broadcast C.D.1.255
        inet6 [.....]  prefixlen 64  scopeid 0x20<link>
        ether [.....]  txqueuelen 1000  (Ethernet)
        RX packets 2314778  bytes 212155740 (202.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5446  bytes 604308 (590.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 6600  bytes 420545 (410.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6600  bytes 420545 (410.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

(netstat -rn)
  Kernel IP routing table
  Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
  0.0.0.0         A.B.1.1      0.0.0.0         UG        0 0          0 enp28s0f0
  0.0.0.0         C.D.1.1      0.0.0.0         UG        0 0          0 enp28s0f1
  A.B.1.0      0.0.0.0         255.255.255.0   U         0 0          0 enp28s0f0
  C.D.1.0      0.0.0.0         255.255.255.0   U         0 0          0 enp28s0f1

(ip route)
  default via A.B.1.1 dev enp28s0f0 proto static metric 100 
  default via C.D.1.1 dev enp28s0f1 proto static metric 101 
  A.B.1.0/24 dev enp28s0f0 proto kernel scope link src A.B.1.171 metric 100 
  C.D.1.0/24 dev enp28s0f1 proto kernel scope link src C.D.1.112 metric 101

(機密情報はA、B、C、Dに置き換えました)

現在、すべての着信トラフィックはを介してルーティングされますenp28s0f0。サービスAをenp28s0f0インターフェイスIPにバインドA.B.1.171し、正常にトラフィックを受信できます。インターフェイス IP を介してenp28s0f1サービス A に要求すると、C.D.1.112期待どおりにサービス A に送信されません。

しかし、サービスBをインターフェイスIPにバインドすると、enp28s0f1トラフィックはまったく受信されません(およびにリクエストを送信しよA.B.1.171うとしましたC.D.1.112)。私はこれが0.0.0.0同じゲートウェイを使用する2つのインターフェイスサブネットに関連していると思いますが、完全にはわかりません。

また、役に立つのは、現在1つのルーティングテーブル(デフォルトのルーティングテーブル)のみを使用しているため、影響を与える可能性がありますがわからないことです。

サーバーがRHEL 7.9を実行しています。助けやご案内をお願いします!

ベストアンサー1

共有されたルーティングテーブルの出力によると、デフォルトゲートウェイが2つあります。これは問題です。デフォルトゲートウェイのみが必要で、残りは特定の宛先ネットワークである必要があります。

おすすめ記事