web-dev-qa-db-ja.com

TUN / TAPデバイスに書き込まれたパケットは正確にどうなりますか?

リモートマシンから送信されたかのように、マシンのユーザースペースからeth0をリッスンしているアプリケーションにパケットを送信しようとしています。

TUN/TAPデバイスがネットワークスタックの残りの部分と相互作用する正確な方法は、適切なドキュメントを見つけることができないようです。パケットがリモートホストにバインドされている場合、パケットはeth0に転送されますか?ローカルホスト宛てのパケットは、デフォルトでユーザースペースアプリケーションに転送されますか? Netfilterスタックと比較して、パケットはカーネルにどの段階で表示されますか?

動作は十分に文書化されていないようです( http://openvpn.net/archive/openvpn-users/2005-05/msg00224.htmlhttps://www.kernel。 org/doc/Documentation/networking/tuntap.txt ))。

1
user3467349

Tun tapデバイスは、データがイーサネットインターフェイスに接続されたワイヤからのものか、ユーザーランドアプリケーションからのものかを判断できないという点で、カーネルには同じように見えます。データが書き込まれると、物理インターフェイスデバイスではなく、ユーザーランドアプリケーションに転送されます。 eth0

パケットが転送されるインターフェースは、通常どおりルーティングテーブルに基づいており、ip routeまたはnetstat -rで表示できます。これは、ローカルホスト宛てのパケットにも適用されます。

さらに、TUN/TAPインターフェイスは、ルーティングテーブルに表示されるルートのインターフェイスとしても使用できます。

1
Martin