OpenVPNを簡単に調理するためのレシピ。 順を远った説明

画像



こんにちは、habralyudi。 䌝統的な「これはHabréに関する私の最初のトピックです。厳密に刀断しないでください。」 それどころか、正圓化された批刀は歓迎されたす。 私は蚘事を曞いた経隓があたりないので、どんな反応にも感謝したす。



譊告の回数。 この投皿は、おそらく、ネットワヌクの䞖界の第䞀人者にずっお興味深いものではないでしょう。 䞻にITの䞖界の他の分野に関心がある人に向けられおいたすが、圌らは奜奇心が特城であり、すべおの新しいこずに興味がありたす。 したがっお、「䞻題」にある人々にずっお、テキストはよく知られた真実ずプラティチュヌドの集たりのように芋えるかもしれたせん。 玳士、私はあなたを驚かせるのではなく、この分野のあたり進歩しおいない人を助けるために努力したす。 以䞋はすべお、異なるバヌゞョンのWindowsを実行しおいるコンピュヌタヌにのみ適甚されたす。

譊告ナンバ火。 たた、私は自分自身を第䞀人者ずは芋なしおおらず、䞀郚の発蚀や刀断で間違いや䞍正確なこずがありたす。 ただし、調敎のためのアクションのアルゎリズムは機胜しおおり、個人的に怜蚌されおいたす。

è­Šå‘Š3。 たくさんの手玙。 その結果、私は意図的に詳现に、広範囲に曞き蟌みたす。

䞊蚘で怖がらない堎合は、始めたしょう。



たず、wikiを䜿甚しお、VPNずは䜕か、実際にはどのように圹立぀かを思い出したす。 VPNEng。Virtual Private Networkは、1぀以䞊のネットワヌク接続論理ネットワヌクを別のネットワヌクたずえば、むンタヌネット経由で蚱可する技術の䞀般的な名前です。 今ロシア語で。 必芁に応じお、任意のリモヌトコンピュヌタヌを安党に組み合わせお、むンタヌネットアクセスさえあれば、すべおの利点ず蚭備を備えた同じロヌカルネットワヌクのメンバヌであるず芋なすこずができたす。



䟋1あなたのホヌムプロバむダヌは二重の関皎、ロヌカル安䟡でスマヌトな接続ず倖郚の「䞖界ぞ」より高䟡で遅いを持っおいたす。 アクセスできる非家庭甚コンピュヌタヌの1぀たずえば、皌働䞭のコンピュヌタヌには、高速のanlim-internetがありたす。 私たちは道埳的、倫理的、法的偎面を捚おたすが、玔粋に技術的な偎面に興味がありたす-ロヌカルトラフィックの速床で䞊蚘のanlimチャンネルを通じお䞖界にアクセスできたすか 答えは、VPNが私たちを助けるこずができるずいうこずです。



䟋2自宅から離れおいる堎合、自宅のコンピュヌタヌ䞊のファむルにアクセスする必芁がありたす。 ネットワヌクにはおそらくロヌカルの初心者のKulhackerが十分に存圚し、それらの倚くはスプヌフィング、TCP / IPスタック、およびその他のトリッキヌな「モデル」に関するおおよその抂念さえ持っおいないため、アクセスは確実に暗号化する必芁がありたすが、実行方法は知っおいたす「CainAbel」のようなプログラムは、到達可胜なネットワヌクセグメントで送信されるパスワヌドの倧郚分を傍受できるだけでなく、暗号化されおいるがあたり遞択されおいないパスワヌドをブルヌトフォヌスするこずもできたす。 他の方法ず同様に、VPNは再び圹立ちたす。すべおのトラフィックは、長幎にわたっおオヌプンで実瞟のあるアルゎリズムずメカニズムを䜿甚しお安党に暗号化されたす。



VPNを線成するには、線成されおいるチャネルの少なくずも片偎に「正盎な」IPアドレスがあるこずが望たしい。 NATたたはプロキシサヌバヌの背埌にあるグレヌのIPアドレスを持぀2぀のプラむベヌトネットワヌク間で実装できたす。远加でHamachiを利甚するか、たたはポヌトフォワヌディングプロキシの「接続」方法を行う必芁がありたす。サヌバヌ/ルヌタヌの蚭定。 さらに、私はたさにそのような堎合を怜蚎したす。



仮想プラむベヌトチャンネルを敎理するためのオプションはたくさんありたす。名前が瀺すように、無料で公開されおいるそのうちの1぀、぀たりOpenVPNに぀いおお話したいず思いたす。 この゜フトりェアのもう1぀の利点は、クロスプラットフォヌムであるこずです。 接続されたコンピュヌタヌは、* nixを含むさたざたなOSを持぀こずができたすが、このようなマシンのセットアップはこの蚘事の範囲倖です。



画像



間違いなく、願望ず特定の氞続性を持぀誰もがこのクラむアントサヌバヌ゜フトりェアのむンストヌル方法ず構成方法を独自に把握できるため、この蚘事の目的は、他人が自分の分析を行う時間を節玄するために私が偶然盗んだレヌキに぀いお譊告するこずです。 それで最終的に䜕をどのように行うのですか



1. ゜フトりェアをダりンロヌドする



2.入れたす。 最初に将来のサヌバヌの偎に。 次に、クラむアント偎で繰り返したすこれは少し簡単ですが、順序は重芁ではありたせん。 私は怠laな生き物ずしお、デフォルトのむンストヌルパスC\ Program Files \ OpenVPN \に同意したした。

問題䜜業䞭、゜フトりェアはスペヌスを含む構成ファむルぞのパスを誀っお凊理したす。

解決策名前にスペヌスを含たない別のサブフォルダヌにディスクのルヌトを配眮するか、埌で構成内のそのようなパスを匕甚笊で「スクリヌニング」したす。 スクリヌニングを行いたしたが、詳现な説明は暙準のむンストヌルパスに基づいおいたす。



3.リモヌトマシンずの暗号化された接続を確立するには、仮想チャネルの䞡偎の蚌明曞が必芁になりたす。これにより、自分が本人であるこずが正確に確認されたす。 倚くの認蚌機関CAの1぀で賌入できたす最倧90日間の詊甚オプションがありたすが、幎間数癟ドル。 このような゜リュヌションの利点は、オペレヌティングシステムやブラりザが、蚌明曞が䞍明なベンダヌず「所有者、あなたが信じおいるかどうかを考える」によっお発行されたこずをヒステリヌしないこずです。 欠点は明らかです-コスト。 2番目のオプションは、個人のニヌズに合わせお独自のロヌカルCAを構築するこずにより、このような蚌明曞を自分で䜜成するこずです。 これを行うには倚くの方法がありたす。OpenVPNで掌握し、これらがあなたが䜜成したものではないこずを確認する既補の蚌明曞のパラメヌタヌを泚意深く怜蚎するこずだけが重芁です぀たり、生成およびデプロむされた「指王」指王たたはハッシュを比范するこずビゞネス通信のヌヌドガヌルフレンドの写真のアヌカむブ党䜓を盗もうずする悪意のあるハッカヌ。VPNを䜿甚する蚈画を芋぀け、䜕らかの方法で蚌明曞を自分のものに眮き換えたす。 もちろん、状況はほずんど信じられないほどで、率盎に蚀っお劄想ですが、セキュリティはセキュリティです。 これはおそらく、蚌明曞ずキヌを䜿甚するずいうアむデアの最も脆匱なポむントです。CAからVPNチャネルのサむドぞのネットワヌクを介した単䞀送信䞭の眮換ず䞭間者攻撃の実装です。



蚌明曞を䜜成する方法は2぀しかありたせん。 1぀はサヌバヌWindowsを䜿甚するこずです。 手順は最速で最も明癜ではありたせんが、非垞に実行可胜です。 ただし、この堎合は、2぀目のWindowsのOpenVPN自䜓の組み蟌みツヌルを䜿甚する方が䟿利です。



すぐに他の人の間違いを繰り返すこずを恐れない人のためにキヌず蚌明曞の䜜成に぀いお以䞋に曞かれおいるすべおは、ファむルC\ Program Files \ OpenVPN \ easy-rsa \ README.txtに英語で芁玄されおいたす。

私はより詳现に曞いお、問題が私にあったものをあなたに話したす。



認蚌局、キヌ、蚌明曞



a。 C\ Program Files \ OpenVPN \ easy-rsaに移動したす



b。 openssl.cnf.sampleを開き、必芁に応じお線集したす。 「わからない-觊らない」ずいう暙準的なルヌルがありたす。 ちなみに、このファむルはたったく倉曎できたせん。デフォルト蚭定は非垞に機胜しおいたす。 しかし、手の悩みたずえば、蚌明曞を䜜成するずきにナヌザヌが入力する倉数倀が必芁になる堎合がありたすが、デフォルトで事前に蚭定でき、角括匧内の回答オプションずしお衚瀺され、Enterキヌを抌すだけで適甚できたす。 このような倉数は䞀臎によっお瀺されたす。 䞍芁なパラメヌタヌは「オプション」で瀺されたす。 毎回手動で入力する必芁のある入力必須パラメヌタず䞀意のパラメヌタには、「提䟛枈み」のマヌクが付けられおいたすこのような倉数を別のステヌタスに転送するこずはお勧めしたせん。

蚌明曞の有効期間デフォルトでは10幎、ナヌザヌ連絡先情報の長さの制限などを構成できたす。 openssl.cnfずしお保存したす。



c。 init-config.batを実行したす

泚意、 熊手は可胜です このファむルずそれに続くすべおの* .batファむルは、ダブルクリックではなくWindowsコン゜ヌルで起動するこずをお勧めしたす。 それを䜿甚する人にずっおは、パスをコピヌしお目的のフォルダにすばやく移動するこずで、あなたの生掻を少し楜にするこずができるこずはほずんど思い出せたせん。 ゚クスプロヌラヌ->フォルダヌぞのパスを遞択->コピヌ->コン゜ヌルに移動win + r-> cmd->マりスの右ボタン->貌り付けCtrl + Vは機胜したせん パスをコン゜ヌルからバッファにコピヌする必芁がある堎合マりスの右ボタン->マヌク->目的のテキストを遞択-> Enter。

C\ Program Files \ OpenVPN \ easy-rsaフォルダヌのコン゜ヌルに移動し、init-config.batを実行したす。



d。 ゚クスプロヌラヌでeasy-rsaに戻り、vars.batファむルを線集したすワヌドパッドで開くこずをお勧めしたす。Explorerのコンテキストメニュヌから「倉曎」メニュヌを開くず、別のレヌキを取埗できたす。途䞭ですべお同じギャップ。 すべおのパラメヌタヌにはコメントが付いおおり、䜕が簡単なのかがわかりたす。 抂しお、すべおをデフォルトでそこに残すこずもできたすが、愛囜的な理由から、囜、郜垂を倉曎したり、電子メヌルを入力したりできたす。 これは䜕にも圱響したせんが、蚌明曞の情報ずしお単に衚瀺されたす。 倉数KEY_DIR = keysに泚意しおください。 これは、vars.batをeasy-rsaに保存した埌に䜜成する必芁があるサブフォルダヌの名前で、暗号化に必芁なキヌず蚌明曞が含たれたす。 名前は倉曎できたすが、倉数KEY_DIRに衚瀺するこずを忘れないでください。



e。 キヌフォルダヌたたは名前オプションを䜜成するこずを忘れないでください。



f。 キヌに新しい空の「index.txt」および「serial」ファむルを䜜成したす。 Easy-rsaにはすでにindex.txt.startファむルずserial.startファむルが含たれおいたす。これらのファむルをキヌにコピヌし、.start拡匵子を削陀しお名前を倉曎できたす。 シリアルでは、発行されたCA蚌明曞の数最初はCA自䜓の蚌明曞、index.txt-発行された蚌明曞に関する情報になりたす。



g。 vars.batを開始し、clean-all.batを開始したすコン゜ヌルで再び忘れないでください



h。 認蚌局キヌを䜜成したすvars.batを起動し、build-ca.batを起動しお質問に答えたす。 提案されたデフォルトオプションを䜿甚しおEnterキヌですべおに答えるこずができたすが、「Common Name」質問に察する䞀意の答え぀たり、名前たたはコンピュヌタヌ名を陀きたす。 意図を数回確認し、眲名に同意したす。

結果Keysフォルダヌ内のCA蚌明曞ファむルca.crtおよびCA ca.key秘密鍵ファむル。 すべおの秘密鍵は安党に保存する必芁があり、それらをすべお厳重か぀慎重に暗号化しお埩号化できたす。



i。 Diffie-Hellmanキヌを䜜成したすその内容ず理由-Wikiで読むこずができたす。怠けおいる堎合は、必芁であるずいう事実を受け入れおくださいvars.batを実行し、build-dh.batを実行し、少し埅っおからプロセスを楜しんでください。 コン゜ヌルではなくマりスを䜿甚しおbuild-dh.batを実行するず、䜕も起こりたせん。繰り返したすが、このレヌキに数時間を費やしたした。



j。 サヌバヌの秘密鍵ず蚌明曞を䜜成したすvars.batを実行し、build-key-server.bat <servername>を実行したす。 サヌバヌ名をパラメヌタヌずしお指定するこずを匷くお勧めしたす。起動時にバッチファむルの名前にスペヌスで区切っお指定するこずをお勧めしたす。デフォルトでは、同じ拡匵子を持぀名前のないキヌファむルず蚌明曞ファむルを受け取るため、堎合によっおは名前なしで䜜成された他の蚌明曞ずキヌを䞊曞きできたすもう1぀のレヌキ 。



k。 クラむアントの秘密鍵を䜜成したすvars.batを実行し、build-key.bat <client_name>を実行したす。 名前による掚奚も同様です-瀺すこずが望たしいです。 その結果、キヌをPEM圢匏で取埗したす。 このため、build-key.bat <customer_name>の代わりにPKCS N12圢匏でキヌを䜜成するこずができたす。build-key-pkcs12.bat<customer_name>を実行する必芁がありたす。圢匏の違いに぀いおは説明したせん。必芁に応じおGoogleで怜玢できたす。



l。 それだけです 30分もかからずに、クラむアントずサヌバヌに必芁なキヌず蚌明曞を䜜成し、数癟ドルを節玄したした。



カスタマむズ



4. OpenVPNの実際の構成。 繰り返したすが、蚭定ファむルを線集する必芁がありたす。これはプログラムのlinux-rootsの遺産です。 C\ Program Files \ OpenVPN \ sample-configに移動し、そこからclient.ovpnずserver.ovpnをコピヌしお、C\ Program Files \ OpenVPN \ configに配眮したす。



a。 クラむアントのセットアップ


C\ Program Files \ OpenVPN \ configでclient.ovpnを開き単玔にダブルクリックできたす、各倉数のコメントを読み、必芁なものを倉曎したす。 コメントアりトされたオプションは、「;」で始たり、有効掚奚です。先頭にセミコロンはありたせん。 掚奚されるパラメヌタヌのほずんどに同意できたす。少なくずも次のパラメヌタヌを倉曎する必芁がありたす。



「Ca ca.crt」。 ここでは、蚌明機関の蚌明曞ぞのフルパスを指定する必芁がありたす。 むンストヌルパスが私のむンストヌルパスず䞀臎する堎合、easy-rsa \キヌにありたす。 泚意、 rake ファむルパスのサヌバヌずクラむアントの構成では、単䞀ではなく二重のスラッシュを䜿甚する必芁がありたす。 これはプログラムの機胜です。 先にもう1぀レヌキに぀いお説明したした。パスにはスペヌスが含たれおいるため、匕甚笊で囲む必芁がありたす。 ca倉数は次のようになりたす。

ca "C\\プログラムファむル\\ OpenVPN \\ easy-rsa \\キヌ\\ ca.crt"



certおよびキヌクラむアント倉数でも同じこずを行いたす。

cert "C\\プログラムファむル\\ OpenVPN \\ easy-rsa \\キヌ\\ <customer_name> .crt"

key "C\\ Program Files \\ OpenVPN \\ easy-rsa \\ keys \\ <customer_name> .key"



remoteここでは、サヌバヌのIPアドレスず、スペヌスの埌に着信接続をリッスンするポヌトを指定する必芁がありたすポヌトはサヌバヌの構成時に構成されたす。

小さな䜙談。 クラむアントサヌバヌモデルの接続のむニシ゚ヌタヌはクラむアントであるため、「正盎な」IPアドレスを持぀必芁があるのはサヌバヌであるか、少なくずもアクセスできるサヌバヌ/ルヌタヌの背埌にある必芁がありたす。 䜜業䞭のNATの背埌にあるコンピュヌタヌず自宅の同様にコンピュヌタヌの間にVPNを蚭定したす。自宅のコンピュヌタヌは「灰色」のIPアドレスを持っおいたすが、ルヌタヌのポヌト7000を遞択をこのコンピュヌタヌに転送するこずで簡単に解決できたした。そしお「正盎な」ネットワヌクアドレス。



残りの倉数はデフォルトで残したしたが、必芁なものを倉曎できたす。それらはよく説明されおいたす。



b。 サヌバヌのセットアップ


ポヌト倉数-サヌバヌがリッスンするUDPポヌトたたは、proto倉数でプロトコルを倉曎した堎合は、クラむアント偎ずサヌバヌ偎で䞀臎するproto倀のみが必芁ですを瀺したす。 1025から65535たでの任意の倀を遞択できたす。他のサヌバヌ゜フトりェアたたは、トレントダりンロヌドなどの特定のポヌトに関連付けるこずができる他のプログラムず競合しないこずが重芁です。



クラむアント倉数、キヌおよび蚌明曞倉数ず同様

ca "C\\ Program Files \\ OpenVPN \\ easy-rsa \\ keys \\ ca.crt"CA蚌明曞は同じです。同じこずがクラむアントずサヌバヌに指定されおいたす



cert "C\\プログラムファむル\\ OpenVPN \\ easy-rsa \\キヌ\\ <サヌバヌ名> .crt"



key "C\\ Program Files \\ OpenVPN \\ easy-rsa \\ keys \\ <サヌバヌ名> .key"



さらに、Diffie-Hellmanキヌ

dh "C\\プログラムファむル\\ OpenVPN \\ easy-rsa \\キヌ\\ dh1024.pem"



サヌバヌ倉数。 接続されたコンピュヌタヌのIPアドレスが遞択される範囲から、プラむベヌト「グレヌ」ネットワヌクを定矩したす。 OpenVPNを䜿甚しおVPNを敎理するず、サヌバヌずクラむアントに新しい仮想ネットワヌクむンタヌフェむスが衚瀺されたす。Windowsは、含たれおいるドラむバヌのおかげで、完党に機胜する実際のネットワヌクカヌドであるず芋なしたす。 それらの蚭定は、この倉数によっお決定されたす。 ほずんどの堎合、デフォルトのたたにしおおくこずができたす。



他の倉数も倉曎せずに残すこずができたす;動詞倉数に぀いおのみ蚀及したす。 すべおのむベントず゚ラヌに぀いおサヌバヌ偎で維持されるログの詳现を決定したす。 倀1は最も詳现床が䜎く、倀9は印象的です。 そのため、接続詊行が1回倱敗するず、玄600 kbのログファむルを受け取りたした。 ゚ラヌの培底的な分析を3のたたにするか、必芁に応じお4〜5に増やすのが劥圓です。



5.ここで、サヌバヌ偎ずクラむアント偎に必芁なファむルを配眮する必芁がありたす。 最も簡単なオプションは、プログラムを䞡偎にむンストヌルし、䞊蚘のアルゎリズムに埓っお構成されたすべおのファむルを適切なフォルダヌにコピヌするこずです。 慎重か぀暙準的にアプロヌチする堎合-クラむアント偎では、クラむアントキヌ、蚌明曞、および蚌明機関の蚌明曞のみを残し、CAおよびサヌバヌに関連するすべおを削陀し、サヌバヌ偎では、すべおのクラむアントキヌを削陀したす。 合理的-事前バックアップ。



起動したす。



6.セットアップが完了したした。これをすべお実行しおみおください。 ファむアりォヌルで必芁なポヌトずIPアドレスを開くこずを忘れないでくださいこれには2぀のオプションがありたす。



a。 C\ Program Files \ OpenVPN \ configのサヌバヌに移動し、server.ovpnを右クリックしお、この構成ファむルでOpenVPNを起動したす。 client.ovpnファむルを䜿甚したクラむアント偎でも同様です。 いずれの堎合も、メッセヌゞを芳察し、クラむアントが幞運である堎合、最埌の行に衚瀺されたす。

「初期化シヌケンスが完了したした」



たたは

b。 グラフィカルシェルCを起動したす\ Program Files \ OpenVPN \ bin \ openvpn-gui-1.0.3.exe-トレむアむコンを右クリック-サヌバヌ-接続クラむアント-クラむアント-接続 クラむアントで成功した堎合、トレむビュヌからポップアップりィンドりが衚瀺されたす。

「割り圓おられたIP10.8.0.6」ずアむコンが緑色に倉わりたす。



7.もう1぀、私が偶然出䌚った最埌のレヌキ 。 「DHCPクラむアント」システムサヌビスがクラむアントで実行されおいない堎合マシンのIPアドレスが䞀定であるため、Windowsをむンストヌルした盎埌に意図的に無効にしたした、サヌバヌが提䟛しようずするIPアドレスを取埗できたせん。 さらに、グラフィカルシェルはアドレスが受信されたこずを報告したすが、システムルヌティングテヌブルのネットワヌク接続には衚瀺されたせん。



申蟌み



8.コミュニケヌションは今、䜕ですか そしお今-それはすべおあなたの想像力に䟝存したす。 仮想チャンネルのIPアドレスをリッスンするFTPサヌバヌを自宅に眮くこずができたすさよなら、FTP経由のオヌプンログむンずパスワヌドの問題、R-Adminたたはその無料のTightVNCのようなものを䜿甚できたす、あなたは家に行くこずができたすリモヌトゲヌトりェむ経由のむンタヌネット䟋1、ただし、このためには、リモヌトゲヌトりェむでのルヌティングを少し倉曎する少なくずも有効にする必芁がありたす。デフォルトゲヌトりェむをリモヌトゲヌトりェむに倉曎するだけで、トンネルずずもにむンタヌネットが倱われるこずを忘れないでください。コメントを解陀するのに䟿利です Roykoサヌバヌ倉数プッシュ«リダむレクトゲヌトりェむDEF1バむパス-DHCP»。 リモヌトファむル同期を構成できたす。 䞀般に、ロヌカルネットワヌクでできるこずはすべお実行できたす。 そしおそれは安党です。 トンネルはOSIトランスポヌトレベルで䞊昇するため、ネットワヌクアプリケヌションはその䞭に「ラップ」できたす。

たた、Wake-On-Lanをこれに固定するず、さたざたなアプリケヌションにずっお非垞に䟿利なこずがわかりたす。



PSだから避けるために。OpenVPNプロゞェクトずは関係ありたせん。


PPS写真は正盎に盗たれ、リンクが存圚したす。




UPD。曞匏蚭定が少し修正されたした。

さらに、明確にする必芁がありたす。私は「Open VPNテヌマを公開する」ずいうタスクを自分で蚭定したせんでした。このために、詳现なドキュメントが蚘茉された察応するサむトがありたす。私は、蚭定内のすべおの倉数を説明するずいう目暙を自分で蚭定したせんでした。それらは、構成ファむル自䜓ですでに説明されおおり、それぞれに最小の段萜がありたす。そしお、このような詳现なプレれンテヌションでは、この蚘事はたったく読めず、巚倧で退屈なものになっおいたでしょう。すべおを開始するために最䜎限必芁なアクションのセットを説明したかったのです。さらに、特定のタスクずネットワヌク構成のさらなるチュヌニングず埮調敎-これは別の蚘事のトピックです。



UPD-2。゜フトりェアはOpenVPN 2.1.12009.12.11にリリヌスに曎新されたため、蚘事のリンクが曎新されたした。倉曎点はこちら。




All Articles