リモートマシンから送信されたかのように、マシンのユーザースペースからeth0をリッスンしているアプリケーションにパケットを送信しようとしています。
TUN/TAPデバイスがネットワークスタックの残りの部分と相互作用する正確な方法は、適切なドキュメントを見つけることができないようです。パケットがリモートホストにバインドされている場合、パケットはeth0に転送されますか?ローカルホスト宛てのパケットは、デフォルトでユーザースペースアプリケーションに転送されますか? Netfilterスタックと比較して、パケットはカーネルにどの段階で表示されますか?
動作は十分に文書化されていないようです( http://openvpn.net/archive/openvpn-users/2005-05/msg00224.html 、 https://www.kernel。 org/doc/Documentation/networking/tuntap.txt ))。
Tun tapデバイスは、データがイーサネットインターフェイスに接続されたワイヤからのものか、ユーザーランドアプリケーションからのものかを判断できないという点で、カーネルには同じように見えます。データが書き込まれると、物理インターフェイスデバイスではなく、ユーザーランドアプリケーションに転送されます。 eth0
パケットが転送されるインターフェースは、通常どおりルーティングテーブルに基づいており、ip route
またはnetstat -r
で表示できます。これは、ローカルホスト宛てのパケットにも適用されます。
さらに、TUN/TAPインターフェイスは、ルーティングテーブルに表示されるルートのインターフェイスとしても使用できます。