4つのイーサネットポート(eth0、eth1、eth2、およびeth3)を持つデバイスがあります。いくつかのポートを設定しましたが、結果はifconfig
次のとおりです。
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:90:0B:68:D9:ED
inet addr:192.168.0.81 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: 2601:1c0:5200:e950:290:bff:fe68:d9ed/64 Scope:Global
inet6 addr: fe80::290:bff:fe68:d9ed/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:3382 errors:0 dropped:1 overruns:0 frame:0
TX packets:9717 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:363791 (355.2 KiB) TX bytes:13339318 (12.7 MiB)
Memory:dfe60000-dfe7ffff
eth1 Link encap:Ethernet HWaddr 00:90:0B:68:D9:EE
inet addr:192.168.0.90 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:44 errors:0 dropped:1 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2919 (2.8 KiB) TX bytes:438 (438.0 b)
Memory:dfe40000-dfe5ffff
eth3 Link encap:Ethernet HWaddr 00:90:0B:68:D9:F0
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::290:bff:fe68:d9f0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:308 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:20454 (19.9 KiB) TX bytes:618 (618.0 b)
Memory:dfe00000-dfe1ffff
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:11986 errors:0 dropped:0 overruns:0 frame:0
TX packets:11986 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:14067159 (13.4 MiB) TX bytes:14067159 (13.4 MiB)
したがって、私の問題は、イーサネットケーブルをeth0に接続したときにのみ各IPアドレス(eth0、eth1、eth3に接続されているアドレス)にアクセスできることです。ケーブルがeth0に接続されると、3つのデバイスすべてにpingを送信できます。 eth1とeth3に接続すると、どちらもpingできません。 eth1とeth3に接続するとリンクインジケータが点灯します。
私が実行するethtool eth3
と言われますLink detected: yes
。
誰でもどんなアイデアがありますか?
ありがとうございます!
ベストアンサー1
この質問は、次の質問に関連しています。非対称ルーティング- あるインターフェイスで受信したパケットは別のインターフェイスに応答を送信するため、ネットワーク外部から特定のIPアドレスにアクセスできません。
この場合、受信したICMP ping要求は要求eth1,2,3
に再ルーティングされeth0
(ネットワークに物理的に接続されていない場合)、担当者は応答できませんeth1,2,3
。解決策は、rp_filter
すべてのインターフェイスが互いに独立して応答するように、リバースパスフィルタカーネルパラメータのデフォルト値を1から2に変更することです。
/etc/sysctl.conf
含めるように編集されました。$ grep '.rp_filter' /etc/sysctl.conf net.ipv4.conf.default.rp_filter = 2 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.eth0.rp_filter = 2 net.ipv4.conf.eth1.rp_filter = 2 net.ipv4.conf.eth2.rp_filter = 2 net.ipv4.conf.eth3.rp_filter = 2
構成の再読み込み:
$ sysctl -p