2つの同じネットワーク間で渡されるiptablesチェーン

2つの同じネットワーク間で渡されるiptablesチェーン

2つの同じネットワークがあり、それぞれTCPサーバーとTCPクライアントで構成されている2台のコンピューター間でトラフィックを転送したいと思います。 2つのネットワークに接続されているコンピュータを使用してiptablesを使用してこのデータを渡したいと思います。クライアントからフォワーダとしてTCP接続を開始し、サーバーとの接続を確立したいと思います。

たとえば、TCPクライアント(1.1.1.155)はフォワーダ(1.1.1.55)との接続を確立し、内部で要求をサーバー(1.1.1.155)に転送して接続を完了します。下の図を参照してください。

基本的なネットワーク図

IPv4転送を有効にしました。

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

iptables設定をクリアしました

iptables -F

私が試したiptablesの設定は次のとおりです。

iptables -A FORWARD -i eth2 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth2 -j DNAT --to-destination 1.1.1.155
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

答え1

現在のデザインはあなたに合わないかもしれません。現在の問題は、ローカルサブネットがリモートサブネットと同じVPNを思い出させます。設計に戻ると、フォワーダはVPNサーバーになります。これを行うには、次のようにします。

LAN-A subnet will remain unchanged
LAN-B subnet will remain unchanged
eth1 and eth2 on forwarder must belong to two unique subnets, without conflicting with each other or with LAN-A and LAN-B.

これらの条件が満たされたら、ファイアウォールルールでNATを使用する必要があります。リピータはゲートウェイとして機能することを覚えておいてください。前述のように、ゲートウェイが正しく機能するには、異なるサブネットに複数のネットワークインターフェイスが必要です。

関連情報