CentOS マルチ NIC とポリシー ルーティング?

CentOS マルチ NIC とポリシー ルーティング?

私は CentOS に詳しくないので、このルーティングを行うには助けが必要です。私は 3 つの NIC を備えた CentOS ボックスを持っています。

eth0      Link encap:Ethernet  
          inet addr:10.50.121.16  Bcast:10.50.121.255  Mask:255.255.255.0


eth1      Link encap:Ethernet  
          inet addr:10.50.128.134  Bcast:10.50.128.255  Mask:255.255.255.0

eth2      Link encap:Ethernet  
          inet addr:10.50.140.97  Bcast:10.50.140.255  Mask:255.255.255.0

eth0 は既存のインターフェイスで、デフォルト ルートがあります。eth1 と eth2 を追加しました。eth1 セグメントと eth2 セグメントにはゲートウェイがあります (両方とも .1 アドレス)。テストを行うには、eth1 NIC と eth2 NIC 間に (それぞれのゲートウェイを介して) ネットワーク フローが必要です。そのため、ポリシー ルーティングを設定する必要があると思いますか?

編集: 明確にして申し訳ありませんが、2 つの新しいインターフェイス間でパケットをルーティングしようとしているわけではありません。 eth1 の IP から eth2 の IP に、何らかのインフラストラクチャを介してパケットを送信する必要があります (つまり、eth1 の VLAN と eth2 の VLAN 間の会話をシミュレートします)。 そのため、eth1 -> eth1-vlan-router -> ??? -> eth2-vlan-router-> eth2 を実行し、逆ルートを使用して応答できるようにしたいと考えています。 ここで完全に明確にしておらず、申し訳ありません。

答え1

/etc/sysctl.confIPv4 ルーティングを変更して有効にします。

net.ipv4.ip_forward = 1

次に実行してsysctl -p設定を適用します。

の現在の値を表示するにはnet.ipv4.ip_forward、次を使用します:

sysctl net.ipv4.ip_forward

答え2

標準のネットワーク API を使用してこれを実行することはできません。

Linuxネットワークスタックは、いわゆる弱いホストモデルこれは特に、ローカル インターフェイスに割り当てられたアドレスはすべてローカルとみなされることを意味します。パケットをローカル インターフェイスに送信しようとすると、パケットはローカルでループされ、ネットワークに到達することはありません。

おそらく、raw ソケットを使用して何かをハックすることは可能ですが、最善の解決策は、おそらく仮想マシンとして実装された 2 番目のホストを使用することです。

関連情報