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.