ローカルクライアント/サーバー通信にTUNインターフェースを使用する

ローカルクライアント/サーバー通信にTUNインターフェースを使用する

TUNインターフェイスを使用してクライアントとサーバー間のローカル通信を確立したいと思います。

  1. クライアントプログラムは、IPアドレス@IP1を持っていると仮定するインタフェースTUN1に接続されます。

  2. サーバープログラムは、IPアドレス@IP2を持っていると仮定するインターフェースTUN2に接続されます。

  3. 宛先アドレスがIP2(サーバーのIP)であるパケットはTUN2を通過し、宛先アドレスがIP1(クライアントのIP)であるパケットはTUN1インターフェースを通過するようにルーティングルールを定義する必要があります。

ルールの例:

route add -net 10.2.0.0/24 dev tun2  #we suppose that the server's IP is in the subnet 10.2.0.0/24
route add -net 10.1.0.0/24 dev tun1  #the client's IP is in the subnet 10.1.0.0/24

クライアントからサーバーに送信されたパケットが通過するiptablesチェーンを知る必要があります。

私が理解したところによると、次のようにすべきだと思います。

Client==TUN1--->(PREROUTING)--->Routing--->(FORWARD)--->Routing--->(POSTROUTING)--->TUN2==Server

関連情報