私のCentOS 7システムには2つのネットワークカードがありますeth0
。eth1
NICは別のサブネットにあります。各サブネットには異なるDHCPがあるため、各NICは異なるIPアドレスと異なるゲートウェイ設定を持ちます。
私の質問は次のとおりです
コマンドを使用して両方のNICを有効にすると、 nmtui
各ネットワークは一度に1つのNICにのみアクセスできます。
たとえば、
192.168.0.1
ping 192.168.0.2
(eth0
CentOSの最初のネットワークカード)はできますが
(CentOSの2番目のネットワークカード)はpingできません
。192.168.10.1
192.168.10.2
eth1
無効にすると(CentOSの2番目のネットワークカード)でeth0
pingできます。192.168.10.1
192.168.10.2
eth1
ルーティングの問題ですか?それとも他のものが欠けていますか?
答え1
これはルーティングの問題であり、rp_filterの問題(結合)です。
標準ルーティングはかなり愚かです。どのインターフェイスを介して接続が開くかは関係ありませんが、通常は各IPアドレスに対して1つのネクストホップ(通常はデフォルトゲートウェイ)を定義します。
次の設定を確認してください。sysctl -a | grep -F .rp_filter
そのインターフェイスの値が 0 より大きい場合、パケットはファイアウォールに到達する前に破棄されます。
0に設定すると、システムは正しく応答できますが、システムとターゲットの間のファイアウォールが誤った方向から来るため、応答が欠落する可能性があります。
良い解決策は、各インターフェイスに対して個別に着信接続にタグを付け(iptables
モジュールmark
と使用connmark
)、これらのタグでポリシールーティング()を使用することですip rule
。