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でのアドレス割り当て等...
OpenVPN GUI TUNモードとTAP モードの意味
-
cedar
- Site Admin
- Posts: 2361
- Joined: Sat Mar 09, 2013 5:37 am
Re: OpenVPN GUI TUNモードとTAP モードの意味
それは変ですね。Windows 版の OpenVPN の TUN/TAP デバイスは TUN の機能も兼ねているので TAP デバイスと通信している事自体は異常ではないのですが、DHCP のやり取りが見えるのは変な気がします。
設定がうまく機能していないのかもしれませんので、OpenVPN のログを確認してみて下さい。
設定がうまく機能していないのかもしれませんので、OpenVPN のログを確認してみて下さい。
-
hiura
- Posts: 199
- Joined: Wed Mar 10, 2021 1:56 am
Re: OpenVPN GUI TUNモードとTAP モードの意味
添付します。
You do not have the required permissions to view the files attached to this post.
-
hiura
- Posts: 199
- Joined: Wed Mar 10, 2021 1:56 am
Re: OpenVPN GUI TUNモードとTAP モードの意味
以下の通り、理解しています。
定義は
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に接続する。
定義は
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に接続する。
-
cedar
- Site Admin
- Posts: 2361
- Joined: Sat Mar 09, 2013 5:37 am
Re: OpenVPN GUI TUNモードとTAP モードの意味
ログでは、「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/
これを 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/
