2012-05-10 11 views
4

tun/tapインターフェースがどのように機能しているかはわかりません。 TUN/TAPデバイスを介して、オペレーティング・システムによって送信され物理デバイスとの調整/タップインターフェース通信

パケットがデバイスに自分自身を添付し、ユーザー空間のプログラムに配信されます:ウィキペディアから、私はこれを得ました。ユーザ空間プログラムは、パケットをTUN/TAP装置に渡すこともできる。この場合、TUN/TAPデバイスは、これらのパケットをオペレーティングシステムネットワークスタックに配信(または「注入」)し、外部ソースからの受信をエミュレートします。

ここでtunIP 12.12.12.1で作成したとします。このマシンに2台のNICがある場合、2台目のマシンがどのNICデバイスに接続されていても、このマシン(12.12.12.1 IP)のtunと外部のマシン(12.12.12.2と言う)から通信できますかeth0またはeth1)?

つまり、tunとNICは独立しているか、または特定のNICを介してtunと通信する必要がありますか?

N.B.トピックに関するリンクは大歓迎です!

答えて

4

仮想ネットワークを設定すると、 12.12.12.0/24が仮想インターフェイス経由で到達可能で、マシンからこのネットワークにパケットを送信すると、tun/tapを実装しているカーネルモジュールは、このパケットをカーネルからキャラクタデバイス経由でアプリケーションに送信します。このパケットで何をするかはアプリケーションによって異なります。他のアプリケーション(VPNサーバーなど)に送信することができます。アプリケーションはこのキャラクタデバイスを介してパケットを返送することもでき、OSネットワークスタックはこれらのパケットを入力ネットワークトラフィックとして認識します。

マシンがルータとして機能する場合、通常の方法でtun/tap仮想インターフェイスを使用してトラフィックを転送することができますが、パケットを管理するデバイスを処理するアプリケーションは常にアプリケーションです。仮想インターフェイス経由での発信トラフィックは常にアプリケーションに配信され、仮想インターフェイス経由での着信トラフィックは常にアプリケーションから発信されます。

+0

@Idx、もし私がTapインターフェーストラフィックを物理イーサネットにリダイレクトしたいのであれば、どうすればいいのですか? (オフコースで一緒にブリッジすることなく) –

+0

「リダイレクト」の意味に依存します。ボックスでルーティングすることはできますが、IP転送を有効にし、必要なルートを設定する必要があります。パケットには、イーサネットインターフェイス経由のルート経由で到達する宛先アドレスが必要です。しかし、再び、あなたが「リダイレクト」することによって何を意味するかに依存します。 – ldx

+0

@Idxなので、仮想インターフェイスでは、IPアドレスを使ってIPアドレスを取得し、そのゲートウェイは物理インターフェイスIPである必要があります。 –

関連する問題