TUN/TAP
接続先がケーブルではなくプログラムである仮想ネットワークインターフェース。カーネルはパケットをユーザー空間のファイルディスクリプタに渡し、プログラムはそれを好きに処理する。
両者の違いは動作する層にある。TUNはIPパケットを運び、OpenVPNのルーティングモード、Tailscale、WireGuardのユーザー空間実装など、トンネルを作るものの大半が使う。TAPはMACアドレス付きのEthernetフレームごと運ぶためブリッジで物理ネットワークに接続でき、QEMUなどの仮想化基盤がゲストを実機のようにLANへ見せるのに必要とする。プログラムは/dev/net/tunを開いてインターフェースを要求し、あとはパケットをファイルのように読み書きする。VPN産業全体が、この抽象化の上に成り立っている。