openvpnにtapまたはtunを使用する必要がありますか?


85

openvpnでdev tapとdev tunを使用することの違いは何ですか?さまざまなモードが相互運用できないことを知っています。技術的な違いは何ですか、それ以外はレイヤー2と3の操作だけです。異なるパフォーマンス特性、または異なるレベルのオーバーヘッドがありますか。どちらのモードが優れています。各モードでのみ使用可能な機能。


違いを説明してください?イーサネットブリッジングとはなぜ悪いのですか?
トーマスチャーフ2009年

回答:


74

レイヤー3(サブネット間のもう1つのホップ)でvpnを作成しても問題ない場合-調整に進みます。

2つの異なる場所で2つのイーサネットセグメントをブリッジする必要がある場合は、タップを使用します。このようなセットアップでは、VPNの両端で同じIPサブネット(10.0.0.0/24など)にコンピューターを置くことができ、ルーティングテーブルを変更せずに直接「対話」することができます。vpnはイーサネットスイッチのように機能します。これはクールに聞こえるかもしれませんが、場合によっては便利ですが、本当に必要な場合を除いて、この方法にしないことをお勧めします。このようなレイヤー2ブリッジのセットアップを選択した場合、VPN全体に「ガベージ」(ブロードキャストパケット)が少し発生します。

タップを使用すると、わずかにオーバーヘッドが増えます-IPヘッダーに加えて、トンネル経由で38B以上のイーサネットヘッダーも送信されます(トラフィックのタイプに応じて-より多くのフラグメンテーションが発生する可能性があります)。


24

彼のオフィスはWindowsマシン、商用プリンター、およびSambaファイルサーバーのもつれを使用しているため、中小企業を所有する友人にVPNをセットアップするときに「タップ」を選択しました。それらの一部は純粋なTCP / IPを使用し、一部は通信にNetBIOSのみを使用しているため(したがって、イーサネットブロードキャストパケットが必要)、一部は確信さえありません。

「tun」を選択した場合、おそらく多くの壊れたサービスに直面したでしょう。物理的にはオフィスにいる間は機能していましたが、オフサイトに行ってラップトップが「見る」ことができなかったときに壊れます。イーサネットサブネット上のデバイス。

しかし、「タップ」を選択することで、リモートマシンがLAN上にあるかのように感じられるようにVPNに指示します。ブロードキャストイーサネットパケットと生のイーサネットプロトコルを使用して、プリンタやファイルサーバーと通信し、ネットワークコンピュータのディスプレイに電力を供給します。それは素晴らしく機能し、オフサイトで機能しないものの報告は決して受けません!


15

私はいつもtunをセットアップしました。タップは、OpenVPNのイーサネットブリッジングで使用され、単純に面倒なものではない、前例のないレベルの複雑さをもたらします。通常、VPNをインストールする必要がある場合、今すぐ VPNを使用する必要がありますが、複雑な展開は迅速に行われません。

OpenVPNのよくある質問イーサネットブリッジングのHOWTOがある優れたこのトピックに関するリソース。


9
私の経験では、tunは簡単にセットアップできますが、多くのネットワーク構成を処理できないため、さらに奇妙なネットワークの問題が発生します。対照的に、タップはセットアップがもう少し複雑ですが、一度行うと、通常はすべての人にとって「機能する」だけです。
セリン


5

私はtunを使い始めましたが、 PCに/ 30サブネットを使用することを好まなかったため、タップに切り替えました(Windowsをサポートする必要があります)。それは無駄で分かりにくいことがわかりました。

次に、サーバーで「トポロジサブネット」オプションを発見しました。2.1 RC(2.0ではない)で動作しますが、(Windows)マシンごとに1つの(シーケンシャル)IPアドレスの利便性で、tunのすべての利点(ブリッジング、パフォーマンス、ルーティングなどなし)を提供します。


5

私は簡単なアドバイスを得るのが難しいと思うから:

VPNを使用してインターネットに接続するだけであれば、TUNを使用できます。

実際のリモートネットワーク(プリンター、リモートデスクトップなど)に接続する場合は、TAPを使用する必要があります。


4

何年も前にこれと同じ質問をして、ブログで簡単な言葉で説明しようとしました(個人的に他のリソースに欠けていることがわかりました): OpenVPN Primer

それが誰かを助けることを願っています


2
これは理論的には質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
マークヘンダーソン

素晴らしい投稿!このような投稿全体を読むことはめったにありませんが、これは私がしました。私はマーク・ヘンダーソンに同意しますが、あなたは小さな要約を書いて、その後にリンクを張るべきです。
ピエールリュックバートランド

4

私の「経験則」
TUN-相手側のOpenVPNサーバーマシンに直接接続されたリソースへのアクセスのみが必要で、Windowsの問題がない場合。ここに少しの創造性があれば、リソースをOpenVPNサーバーのローカルに「表示」することで役立ちます。(例は、ネットワークプリンターへのCUPS接続、またはOpenVPNサーバーにマウントされた別のマシン上のSamba共有です。)

TAP-ネットワーク経由で接続された複数のリソース(マシン、ストレージ、プリンター、デバイス)へのアクセスが必要な場合違った終わり方。TAPは特定のWindowsアプリケーションにも必要な場合があります。


利点:
TUNは通常、VPNアクセスを1台のマシン(IPアドレス)に制限するため、遠方側ネットワークへの接続が制限されているため(おそらく)セキュリティが向上します。TUN接続は、VPNトンネルの負荷を軽減し、単一のIPアドレスとの間のトラフィックのみがVPNを経由して反対側に到達するため、遠端ネットワークを作成します。サブネット内の他のステーションへのIPルートは含まれないため、トラフィックはVPNトンネルを介して送信されず、OpenVPNサーバー以外ではほとんどまたはまったく通信できません。

TAP-通常、エンドポイント間でパケットが自由に流れるようにします。これにより、古いMicrosoftソフトウェアで使用されていたいくつかの方法を含め、遠端ネットワーク上の他のステーションとの通信の柔軟性が得られます。TAPには、「ファイアウォールの内側」での外部アクセスの許可に関連する固有のセキュリティ上の危険があります。より多くのトラフィックパケットがVPNトンネルを通過できるようになります。これにより、エンドポイント間のアドレス競合の可能性も開かれます。

ありますスタックレイヤーによるレイテンシの違いがありますが、ほとんどのエンドユーザーシナリオでは、エンドポイントの接続速度は、おそらく、送信の特定のスタックレイヤーよりもレイテンシに大きく影響します。遅延が問題になる場合は、他の選択肢を検討することをお勧めします。現在のGHzレベルのマルチプロセッサは、通常、インターネット経由の伝送のボトルネックを超えています。

「より良い」と「より悪い」は、コンテキストなしでは定義できません。
(これはコンサルタントのお気に入りの答えです、「まあそれは…」)
フェラーリはダンプトラックよりも「良い」のですか?あなたが速く行こうとしているなら、それはそうかもしれません。ただし、重い荷物を運搬しようとしている場合は、おそらくそうではありません。

TUNまたはTAPがニーズに適しているかどうかを判断するには、「アクセスの必要性」や「セキュリティ要件」などの制約を定義し、ネットワークスループットや機器の制限などの制約を定義する必要があります。


2

TAPのセットアップには、セットアップする人の追加作業はほとんど必要ありません。

もちろん、TUNのセットアップ方法は知っているが、何をしているのか理解しておらず、単にtunチュートリアルに従うだけの場合、TAPをセットアップするために戦うことになりますが、それは難しいことではありませんが、やっています。これは、TAP環境でネットワークの競合を簡単に引き起こす可能性があり、その後、より複雑に見えます。

実際、何をしているのかを知っているためにチュートリアルが必要ない場合、タップの設定にはtunの設定と同じくらい時間がかかります。

タップでは、サブネット化に関する多くのソリューションがありますが、最も簡単な方法はクラスBサブネットを使用することです。172.22.1.0/16を使用するsite1(Network1)172.22.2.0/16を使用するsite2(network2)172.22.3.0/16を使用するsite3など

site1をoVPNサーバーでセットアップし、クライアントにIP範囲172.22.254.2-172.22.254.255/16を与えることにより、各サブネットが200個を超えるovpnクライアント(サブネット)を持つことができます。合計40.000のクライアントを処理できます(疑わしいoVPNはそれを処理できますが、ご覧のとおり、適切なサブネット化を設定することで、必要になる可能性が十分にあります)

あなたはタップを使用し、すべてのクライアントは巨大な企業ネットワークのように一緒です。

ただし、各サイトに独自のDHCPがあり、必要がある場合は、ebtablesまたはiptablesまたはdnsmasqを使用して、dhcp配布がブロックされるようにブロックする必要があります。ただし、ebtablesはパフォーマンスを低下させます。dnsmasq dhcp-host = 20:a9:9b:22:33:44を使用すると、たとえば無視はすべてのdhcpサーバーでセットアップするのに大きなタスクになります。ただし、最新のハードウェアでは、ebtablesの影響はそれほど大きくありません。わずか1または2%

タップのオーバーヘッド(およそ32トン)もそれほど問題ではありません(暗号化されていないネットワークで発生する可能性があります)が、暗号化されたネットワークでは通常、AESが速度低下の原因となります。

たとえば、暗号化されていない私のwrt3200acmでは、360Mbpsになります。暗号化を使用すると、選択した暗号化の種類に応じて54〜100 Mbpsまで低下しますが、openvpnは1500での暗号化と32のオーバーヘッドでの2番目の暗号化を行いません。代わりに、1500 + 32オーバーヘッドで1回暗号化を行います。

したがって、ここでの影響は最小限です。

古いハードウェアでは、より大きな影響に気付くかもしれませんが、最新のハードウェアでは実際には最小限に抑えられています。

AESをサポートする2つの仮想マシン間の暗号化により、TAPを使用するovpnが120-150Mbpsになります。

AESハードウェア暗号化サポートを備えた専用ルーターが400 Mbpsもの高速化を達成したと報告する人もいます。i5-3570kの3倍の速さ(テストシステムでは、1コア使用率の100%で150Mbpsを超えることはできませんでした)使用していたopenvpnコアの25%が利用されました。そのため、E3は接続を3〜4倍増やす可能性があります。

E3-1231 v3 CPUとタップAES265暗号化、認証SHA256とta.key、証明書tls-cipherを接続し、最高のTLS-DHE-RSA-WITH-AES- 256-SHA256

これを指摘するには、タップで:wrt3200acmは暗号化で最大70-80mbpsになります。i5-3570kは暗号化により120-150に達します。E3-1231 v3は暗号化で少なくとも360Mbpsを取得します(これは、テストするE3-1231 v3が2つなかったため、ケース1および2での調査結果から補間されます)。

これらは、openvpn TAPで接続された2つの異なるサブネットにある2つのクライアント間でのウィンドウ間コピーに基づいた私の発見です


-1

もしそうなら、なぜ、あなたはどれくらい持っていますか?パケットの階層化が、この方法で軽減されるレイテンシーと伝送損失をはるかに少なくして進行するという理由で、明示的にTAPを利用します。ただし、これはVPNの動作に対する明らかな影響、特にトンネリングの側面、どのIPが許可され、割り当て可能なアドレスに影響するかは、レイヤー3のみです。UDPを使用すると、最適なルートを決定する必要がある別の状況が発生する可能性があります。各ネットワークは異なり、一意のパラメーターセットが必要です。お役に立てれば。


1
かなり紛らわしい。それを忍び寄って、重要な違いを説明し、それらをキーイングすることを検討してください。
フォンブランド14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.