Linux虚拟设备 Tun 与 Tap

引用: 資料傳輸方式 OpenVPN 會模擬出虛擬的網路裝置來進行資料的傳輸,而其所使用的虛擬裝置為TUN/TAP 兩種 Device,而 TUN 以及 TAP 有何不同呢?以下分別進行說明:TUN 可被視為虛擬的點對點裝置,就像一般家用的 modem、ADSL 一樣,使用此虛擬裝置的模式稱為 Routed mode,因為是在連線後才決定 VPN 雙方的連線路徑,因此可瞭解 TUN 裝置所處理的是 OSI Layer 3 的工作。TAP 則可被視為虛擬的 Ethernet 網路卡,可以透過此裝置啟動一個 daemon 來接收 Ethernet 訊框,稱為 Bridge mode,因為此裝置是以 Bridge 的方式來運作,這個是 TUN 裝置所做不到的! 所以 TAP 裝置所處理的是 OSI Layer 2 的工作。

因為 OpenVPN 的兩個裝置 TUN/TAP 所處理的是 OSI Layer 2 與 3 的部分,因此很自然可以很容易的與更上層的安全機制進行結合,例如:SSL/TLS ( Layer 4 )。雖然這兩個裝置都是虛擬的,但卻可以跟一般實體的網路卡一樣的運作,也因為有此特性,所以以下的情況都可以正常運作:在搜尋 Windows 內部網路或是區網遊戲時,需要發送廣播封包非 IP 協定的封包 ( 例如:IPX ),也可以透過 vpn tunnel 正常傳輸,可以透過防火牆管理虛擬裝置的流量,可以針對 vpn tunnel 的傳輸進行流量管控。

发表回复