Page 1 of 1
OpenVPN GUI TUNモードとTAP モードの意味
Posted: Mon Mar 02, 2026 2:12 am
by hiura
OpenVPN GUI TUNモードとTAP モードの意味
http://www.vpnusers.com/viewtopic.php?t ... %3Ftl%3Dja
①TUNモードとはL3トンネルで、クライアントとサーバ間でIPを運ぶ
②TAPモードとはL2トンネルで、クライアントとサーバ間でイーサネットフレームを運ぶ
②は正しいが、
①は正しくないのでは?
「TUNモードとはL2トンネルで、クライアントとサーバ間でイーサネットフレームを運ぶ」が正解では?
なぜなら、
OpenVPN GUI CLIENTからTUNモードでVPN SERVERへ接続すると、
仮想NIC 「TAP-Windows Adapter V9」のやり取りがWIRESHARKで見れる。
DHCPでのアドレス割り当て等...
Re: OpenVPN GUI TUNモードとTAP モードの意味
Posted: Mon Mar 02, 2026 10:41 am
by cedar
それは変ですね。Windows 版の OpenVPN の TUN/TAP デバイスは TUN の機能も兼ねているので TAP デバイスと通信している事自体は異常ではないのですが、DHCP のやり取りが見えるのは変な気がします。
設定がうまく機能していないのかもしれませんので、OpenVPN のログを確認してみて下さい。
Re: OpenVPN GUI TUNモードとTAP モードの意味
Posted: Tue Mar 03, 2026 2:19 am
by hiura
添付します。
GUI_L3_CLT_remote_access_l3.log
GUI_L3_CLT_NETCFG.png
GUI_L3_CLT_VNIC.png
Re: OpenVPN GUI TUNモードとTAP モードの意味
Posted: Wed Mar 04, 2026 2:42 am
by hiura
以下の通り、理解しています。
定義は
L3VPN:「層3の仮想私設網」:IP 層で動作する仮想プライベートネットワーク(IP層を運ぶ、例えばIP OVER MPLS)。
L2VPN:「層2の仮想私設網」:データリンク層で動作する仮想プライベートネットワーク(データリンク層を運ぶ、例えばイーサネットOVER TLS OVER TCP OVER IP)
したがって、
OpenVPNのTAPモードはL2VPNである。
OpenVPNのTUNモードもL2VPNである。
TUNモードはL3VPNであるという表現は間違い。
TAPモードとTUNモードの違いは、
TAPモードではVPN SERVER側のLANに直接接続するが、
TUNモードではVPN SERVER側の仮想ルータ経由でLANに接続する。
Re: OpenVPN GUI TUNモードとTAP モードの意味
Posted: Wed Mar 04, 2026 2:12 pm
by cedar
ログでは、「PUSH: Received control message: 'PUSH_REPLY,ping 3,ping-restart 10,ifconfig 192.168.11.5 192.168.11.6,dhcp-option DNS 192.168.11.1,route-gateway 192.168.11.6,redirect-gateway def1'」の部分で、VPN サーバー側から L2 パケットではなく OpenVPN オプションとして IP アドレスが渡されている事がわかります。
これを TAP ドライバが「Notified TAP-Windows driver to set a DHCP IP/netmask of 192.168.11.5/255.255.255.252 on interface {659B4709-5F62-49D5-84AD-13AFA77230E5} [DHCP-serv: 192.168.11.6, lease-time: 31536000]」のように DHCP に翻訳しています。
調べてみると、これはWindows版のTUN/TAPドライバの実装の特徴のようです。
TUN モードで OpenVPN アプリケーションまでは L3 で来ているのですが、古い Windows では L3 の API がなく、TUN モードでは、TAP ドライバの中で L3 の通信を L2 に変換して通信しているとのことです。
https://deepwiki.com/OpenVPN/openvpn/5. ... interfaces
OpenVPN 2.5 からは、純粋な L3 VPN として動作できるよう、Wintun デバイスが利用できるようになっているので、そちらを試してみると挙動がわかりやすいかも知れません。
https://www.openvpn.jp/2020/09/29/1320/
Re: OpenVPN GUI TUNモードとTAP モードの意味
Posted: Fri Mar 06, 2026 12:52 am
by hiura
>TUN モードで OpenVPN アプリケーションまでは L3 で来ているのですが、古い Windows では L3 の API がなく、TUN モードでは、TAP ドライバの中で L3 の通信を L2 に変換して通信しているとのことです。
理解しました。
>OpenVPN 2.5 からは、純粋な L3 VPN として動作できるよう、Wintun デバイスが利用できるようになっているので、そちらを試してみると挙動がわかりやすいかも知れません。
理解しました。
今回テストしたバージョンはOpenVPN 2.7.0です。
OpenVPN 2.7からWintun デバイスが利用できなくなっているようです。
デフォルトはdcoみたいですが、結果は、添付済みの通りL2VPNになっています。
クライアントがdcoであれ、wintunであれ、VPN serverへL3VPNできるのでしょうか?
(クライアントサーバ間のプロトコルは同じで、dcoは内部処理の話?)
バージョン記載
OVPN270_L3_CLT_NETCFG.png
Re: OpenVPN GUI TUNモードとTAP モードの意味
Posted: Fri Mar 06, 2026 6:21 am
by cedar
OpenVPN の DCO は AEAD 暗号を選択しないと有効にならなかったと思います。
添付いただいているログでも下記のように記録されていて、DCO が無効になっていることを示しています。
> Note: cipher 'AES-128-CBC' in --data-ciphers is not supported by ovpn-dco, disabling data channel offload.