複数のサブネット間のルーティング

複数のサブネット間のルーティング

4 つのサブネットを持つ内部ネットワークを作成するとします。中央のルーターやスイッチはありません。4 つのサブネット (192.168.0.0/24) すべてにあるゲートウェイをリンクするために使用できる「管理サブネット」があります。一般的な図は次のようになります。

10.0.1.0/24 <-> 10.0.2.0/24 <-> 10.0.3.0/24 <-> 10.0.4.0/24

言い換えると、各サブネットに 1 つの Linux ボックスを 2 つのインターフェイス (10.0.x.1 と 192.168.0.x) で構成します。これらは各サブネットのゲートウェイ デバイスとして機能します。各 10.x/24 サブネットには複数のホストがあります。他のホストには 10.0.xx として利用できるインターフェイスが 1 つだけあります。

各ホストが他のサブネット上のホストに ping を実行できるようにしたいと考えています。まず、これが可能かどうかが疑問です。次に、可能であれば、iptables やルートの設定について支援が必要です。このことについて実験していますが、一方向の ping を許可するソリューションしか思いつきません (icmp パケットは単なる例です。最終的には、ホスト間の完全なネットワーク機能 (ssh、telnet、ftp など) が必要です)。

答え1

さて、5 つのネットワーク10.0.1.0/24、、、およびがあり、それらの間をルーティングする 4 つのボックスがあるとします。ルーティング ボックスのアドレスが、、、およびで10.0.2.0/24あるとします。10.0.3.0/2410.0.4.0/24192.168.0.0/2410.0.1.1/192.168.0.110.0.2.1/192.168.0.210.0.3.1/192.168.0.310.0.4.1/192.168.0.4

10.0.x.0/24次のようなコマンドを使用して、各ルーター ボックス上の他のネットワークに静的ルートを追加する必要があります(編集済み!)。

# on the 10.0.1.1 box
ip route add 10.0.2.0/24 via 192.168.0.2
ip route add 10.0.3.0/24 via 192.168.0.3
ip route add 10.0.4.0/24 via 192.168.0.4

および他のルータ ボックス上の対応するルートを設定します。インターフェイスが 1 つしかない非ルーティング ボックスでは、デフォルト ルートを に設定するように10.0.x.1します。もちろん、すべてのインターフェイスに静的アドレスとネットマスクも追加する必要があります。

また、Linux はデフォルトではルーターとして機能しないので、次のコマンドでパケット転送を有効にする必要があります。

echo 1 > /proc/sys/net/ipv4/ip_forward

上記のコマンドipでは設定が永続化されません。その方法はディストリビューションによって異なります。

前述したように、私はこれをテストしていないので、何かを忘れている可能性があります。

答え2

これまで受け入れられてきた回答では、4 つのホストそれぞれにインターフェースが 2 つしかない場合、中央のルーターまたはスイッチがなければ、直接接続できるのは 2 つのネットワークだけであるという事実が無視されています。

これら 2 つのインターフェースのいずれかを使用して自身のサブネット上のクライアントに接続する場合、他の 3 つのホストに接続するためのインターフェースは 1 つだけになります。

したがって、これら 4 つのホスト間を接続する中央ルーターまたはスイッチが必要になるか、各ホストにさらに多くのインターフェースが必要になります。

関連情報