web-dev-qa-db-ja.com

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

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ボックスを10.0.x.1と192.168.0.xの2つのインターフェイスを持つ各サブネットに構成します。これらは、各サブネットのゲートウェイデバイスとして機能します。 10.x/24サブネットごとに複数のホストがあります。他のホストでは、10.0.x.xとして使用できるインターフェイスは1つだけです。

各ホストが他のサブネット上の他のホストにpingできるようにしたい。私の質問は最初です:これは可能ですか?そして第二に、もしそうなら、私はiptablesやルートを設定する助けが必要です。私はこれを実験してきましたが、一方向のpingを可能にするソリューションしか思い付くことができません(icmpパケットは一例にすぎません。最終的には、ssh、telnet、ftpなどのホスト間の完全なネットワーク機能が好きです) 。

10
greyline

さて、5つのネットワーク10.0.1.0/2410.0.2.0/2410.0.3.0/2410.0.4.0/24192.168.0.0/24、およびそれらの間をルーティングする4つのボックスがあります。ルーティングボックスのアドレスが10.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コマンドは設定を永続化しません。その方法はディストリビューションによって異なります。

私が言ったように、私はこれをテストしておらず、何かを忘れているかもしれません。

8
Johan Myréen