ゲートウェイ経由のルーティング

ゲートウェイ経由のルーティング

今、ルーティングの問題に関する非常に基本的な質問があります。

したがって、私のネットワークのip 10.0.0.1の中央サーバーはip net 10.0.0.0/25のルーターです。クライアント10.0.0.100には、IPネットワーク172.20.10.0/25を提供するアクセスポイントへのWiFi接続があります。

10.0.0.0./25のすべてのクライアントが172.20.10.0/25に到達できるように10.0.0.1にパスを追加するにはどうすればよいですか?


これまでにテストしたもの(ipv4配信とiptables迷彩が処理されました):

たとえば、10.0.0.1にパスを追加します。

route add -net 172.20.10.0 netmask 255.255.255.128 dev br0

10.0.0.1を172.20.10.0/25ネットワークに接続できますが、それ以上ではありません。他のクライアントのTracerouteは、要求が10.0.0.1で輻輳し、すべてのクライアントが個別に同じパスを構成するまで、他のネットワークに接続できないことを示しています。しかし、これは10.0.0.1がゲートウェイであるという考えと矛盾しています。

上記のコマンドを使用した後、10.0.0.1のルーティングテーブルは次のようになります。

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         <WANIP IS HERE> 0.0.0.0         UG        0 0          0 eth0
10.0.0.0        0.0.0.0         255.255.255.128 U         0 0          0 br0
<WANIP IS HERE> 0.0.0.0         255.255.255.252 U         0 0          0 eth0
172.20.10.0     10.0.0.100      255.255.255.128 UG        0 0          0 br0

私がここで何を見逃しているのでしょうか?

時間をかけておそらくとても愚かな質問に答えてくれてありがとう!

ベストアンサー1

通常、ゲートウェイ(この場合は10.0.0.1システム)に同じネットワーク(たとえば10.0.0.100)の他のホストを介して目的のネットワークへのパスがある場合は、ICMPリダイレクトメッセージを送信してクライアントを別のゲートウェイに送信します。 。

ただし、これを行うには、内部ネットワークから内部ネットワークへの転送を許可するiptablesルールを追加する必要があります。これは非論理的に聞こえるかもしれませんが、実際には内部ネットワークから内部ネットワークにトラフィックを効果的に送信するためです。

次のルールを追加します。

iptables -A FORWARD -i br0 -o br0 -j ACCEPT

10.0.0.0/25ネットワーク上のクライアントホストが172.20.10.xにアクセスしようとすると、ホストはデフォルトゲートウェイ10.0.0.1にパケットを送信します。デフォルトゲートウェイは、172.20.10.0/25へのパスが10.0.0.100を通過することを知っているので、ICMP redirect 172.20.10.x to host 10.0.0.100パケットをクライアントホストに送信します。クライアントホストは、ターゲットホストに一時パスを追加し、そのホストのゲートウェイとして10.0.0.100を使用します。

クライアントホストは、これらのICMPリダイレクトを許可するように設定する必要があります。これらのリダイレクトは、悪意のあるリダイレクトがトラフィックを偽のゲートウェイに移行するときにセキュリティ上の問題を示す可能性がありますが、これはLinuxのデフォルトであり、Windowsでもこれを許可します。 Linuxでは、net.ipv4.conf.default.accept_redirectssysctl設定を使用して制御できます。

おすすめ記事