IP転送を設定する方法

IP転送を設定する方法

ネットワーク構造

DEV1通信するデバイスがありますが、DEV3途中で何かがありますDEV2

私が理解したことは、IP転送を使用してDEV2ルーティングテーブルを編集する必要があることです。DEV1DEV3

DEV2IP転送を有効にしたため:

-> sysctl net.ipv4.ip_forward

net.ipv4.ip_forward = 1

残りの項目を設定できません。動作させるにはどうすればよいですか?

ベストアンサー1

両方のルータが両方の側ですべての接続を通過できるようにするため、最も簡単な方法はDEV2の両方のインターフェイスに新しいIPアドレスを追加することです。これにより、DEV2が送信されたパケットと通過するパケットを簡単に区別できます。

ip addr add 192.168.2.3/24 dev INTERFACE2
ip addr add 10.12.0.218/24 dev INTERFACE3

(INTERFACE2 / 3を実際のインターフェース名に置き換えて、このアドレスが正しいことを確認してください。いいえ受け取って、それだけping-c 192.168.2.3たとえば、応答を受け取ったことを確認してください。また、これら2つのマスクは/ 24であると推測されます。それ以外の場合は、適切に調整してください。)192.168.2.3から10.12.0.218までのすべての項目がDEV1 / 3に適用され、192.168.2.1から10.12.0.217のすべての項目がDEV2に適用されます。

今、私たちは次の2つの新しいアドレスに到着するすべてを渡します。

iptables -A FORWARD -j ACCEPT
iptables -A PREROUTING -t nat -d 192.168.2.3 -j DNAT --to 10.10.3.154
iptables -A PREROUTING -t nat -d 10.12.0.218 -j DNAT --to 192.168.2.2
iptables -t nat -A POSTROUTING -j MASQUERADE

最初のルールは、パケットをあるインターフェイスから別のインターフェイスに移行することを許可します(ルールnet.ipv4.ip_forward = 1必要ですが十分ではありません)、最後のルールは、応答がDEV2を介して再ルーティングされるように発信インターフェイスから来るように、すべてのパケットヘッダを書き換えます。中間の2つのルールは、パケットがDEV1からDEV3になるようにパケットヘッダを書き換えます(ルールn.2)、DEV3からDEV1に(ルールn.3)。

この設定の利点は、きちんとしたことです。不要な複雑さを追加することなく、すべてのプロトコルとすべてのポートが同時にルーティングされます。

警告する:DEV1のインターフェイス1とDEV2のインターフェイス2は同じサブネットに属します。二つがルータに分かれていると言われたので変です。定義によると、ルータは2つを接続します。明らかにサブネット。したがって、router1はいいえルータ(そうであれば)は、両方が同じネットワークに囲まれているため、誤って設定されています。私は前者ではなく後者ではないかと思います。

おすすめ記事