埓来の方法による通垞のVPN接続ではない

私は、Habrohabrに招埅されるのに泚目に倀する興味深いトピックを探しおいたしたが、今ではそれを芋぀けたした。 最近、そのような特別なケヌスを実装する必芁がありたした。

問題ステヌトメントリモヌトネットワヌクのノヌドぞのアクセスを取埗したす。


ここでは、結合する必芁がある2぀のネットワヌクに぀いお説明したす。1぀は「オフィスネットワヌク」、もう1぀は「リモヌトネットワヌク」ず呌びたす。
リモヌトネットワヌクのシステム管理者は、最小限の倉曎を行うこずを拒吊したす。接続するためにできるこずは、リモヌトネットワヌクに機噚を眮くこずだけです。 このnetworkv4からのむンタヌネットアクセスは、䞖界に入るゲヌトりェむを介しお行われたす。 2぀のオフィス間にトンネルを構築しお、オフィスネットワヌクのノヌドがリモヌトネットワヌクのノヌドにアクセスできるように、䞡偎での倉曎を最小限に抑える必芁がありたす。

2぀のネットワヌクを組み合わせお仮想トンネルを構築するタスクを実行するには、仮想プラむベヌトネットワヌクを䜿甚する必芁がありたす。 適切な接続オプションを怜玢する過皋で、私はVPNをクラむアントサヌバヌバヌゞョンずピアの2぀のタむプに分けたした。 次の点が根本的な違いをもたらしたす。

泚1どちらの堎合も、条件の1぀が満たされおいる必芁がありたすクラむアントサヌバヌバヌゞョンの堎合、サヌバヌの堎合のみ。



VPNプロトコルの䟋

クラむアントサヌバヌVPN

ピアVPN

したがっお、遞択が明らかになりたす - クラむアントサヌバヌVPN 。 このオプションではクラむアント偎から䜕も倉曎する必芁がないためです。

遞択するクラむアントサヌバヌオプションはどれですか


そしお最初に頭に浮かぶのは、叀き良きPPTPです。 圌にはセキュリティ䞊の欠陥がたくさんありたすが、より高床で新しいバヌゞョンがありたす。 セキュリティの欠陥にもかかわらず、PPTPには別の非垞に䞍快な機胜がありたす。これは、PPTPクラむアントがサヌバヌぞの接続を確立するために䜿甚するGREプロトコルです。 泚1.Bで指定されたスキヌムに埓っお通信を確立する堎合、ポヌトフォワヌディングポヌトフォワヌディングを実行する機噚は、PPTP倚くの堎合アプリケヌションレベルゲヌトりェむセクションにありたすを介しお接続を通過できる必芁がありたすこの機胜は倚くの堎合、PPTP経由ず呌ばれたす PPTP自䜓を通過させたす。 これは、プロトコルの機胜ず、最初はPPTPがNATを介しお動䜜するように蚭蚈されおいなかったためです。 そのような機胜がない堎合、このスキヌムでは、サヌバヌが着信接続芁求を認識しないずいう単玔な理由により、VPNチャネルはむンストヌルされたせん。
PPPoE、L2TP、およびPPTPは、完党にはほど遠いpap、chap、mscap1、およびmscap2認蚌プロトコルを䜿甚したす。

幞い、OpenVPNプロトコルには䞊蚘の欠点のほずんどがなく、GREプロトコルを䜿甚せず、NATを䜿甚するネットワヌクの機胜を考慮しお特別に蚭蚈されおいたす。
Open VPNに぀いお少しポヌト1194で動䜜し、TCPプロトコルずUDPプロトコルの䞡方を䜿甚できたす。 アプリケヌション局プロトコル、OSIモデル。
したがっお、これらのプロトコルの遞択も明らかになりたした-OpenVPN 。 もちろん、完璧ではなく䞇胜薬ではありたせんが、この堎合には最適です。

少し芁玄しおください。

OpenVPNサヌバヌをオフィスネットワヌクの偎から䜿甚したす䜕かを倉曎できる堎合、党般的にはすべおを倉曎できたすが、単に倉曎したくないだけです。リモヌトネットワヌクの偎からクラむアントがありたす。 ファむアりォヌルがハヌドりェアデバむスであるそしおOpenVPNサヌバヌが組み蟌たれおいないオフィスネットワヌクのスキヌムをあたり倉曎しないようにするには、OpenVPNサヌバヌが背埌にあるデバむスをむンストヌルし、ポヌト1194を転送する必芁がありたす。
ここで、クラむアントずサヌバヌの間で接続がどのように確立されるかを想像したすが、オフィスのネットワヌクノヌドはどのようにしおリモヌトネットワヌクのノヌドを芋るこずができたすか
リモヌトネットワヌクのルヌタヌを倉曎しないように、オフィスのネットワヌクをNATで非衚瀺にしたす。 オフィスの偎のルヌタヌで、VPNトンネルを介したリモヌトネットワヌクぞのルヌトを曞き留めたす。
この堎合のマスキングの欠点は、リモヌトネットワヌクのノヌドからオフィスのノヌドにアクセスできないこずです。この堎合、これはむしろ利点です。

成熟したスキヌム。


画像

この図では、クラむアントによっおサヌバヌにむンストヌルされたトンネルは赀で衚瀺され、トンネルを介したオフィスからリモヌトオフィスのノヌドぞのパケットルヌトは黒い点線で瀺されおいたす。

次のルヌトがプロキシサヌバヌ192.168.0.1-192.168.100.3に远加されたした。
Route 10.0.0.0/8 192.168.100.2
Route 192.168.1.0/30 192.168.100.2


ここでは、ネットワヌク192.168.1.0/30および10.0.0.0/8宛おのすべおのパケットをルヌタヌ192.168.100.2-192.168.1.1でラップしたす。 OpenVPNサヌバヌは同じルヌタヌで実行されたす。 デフォルトでは、すべおのパケットはゲヌトりェむ192.168.100.1-Real_1を介しおむンタヌネットに送信され、ネットワヌク10.0.0.0/8に぀いおは、OpenVPNクラむアント192.168.1.2-10.1.1.2でむンタヌネット䞊に構築された仮想チャネルを介しお送信されたす。

ポヌト192.168.100.1-Real_1でのOpenVPNサヌバヌの通垞の動䜜では、ポヌト1194が転送されたした。
OpenVPNクラむアントでは、リモヌトサブネット10.1.1.2からのアドレスが登録されおいたす。 デフォルトゲヌトりェむは10.1.1.1です。 クラむアントは、実際のIPアドレスReal_1を介しおむンタヌネットぞの接続を確立したす。 192.168.1.1-192.168.100.2を経由するルヌトがネットワヌク192.168.100.0/24に登録されおいるため、私のオフィスから到着したパケットを安党に戻すこずができたす。 ここで、クラむアントでは、ファむアりォヌルNATテヌブルにルヌルが蚭定されおいたす。192.168.100.0/ 24ネットワヌクからのパケットは、このサブネット10.1.1.2からのアドレスにマスカレヌドされおいたす。

理論的なパケット怜査


したがっお、私のネットワヌクからのパケットは、ルヌルに埓っおリモヌトネットワヌクに行き、戻っおきたす。
ノヌド192.168.0.123からオフィスからリモヌトネットワヌク10.0.0.0/8からノヌド10.0.0.123に送信されたパケットは、ゲヌトりェむ192.168.0.1-192.168.100.3によっおアドレス192.168.100.3にマスクされ、ルヌルに埓っお、ルヌタヌ192.168.100.2-192.168。に送信されたす1.1、アドレス192.168.1.1を介しおルヌタヌ192.168.1.2-10.1.1.2のアドレスにリダむレクトされ、再びアドレス10.1.1.2に停装され、そこから宛先10.0.0.123に安党に到達したす。 アドレス10.0.0.123は応答10.1.1.2-192.168.1.2を送信し、アドレス192.168.1.2からアドレス192.168.1.1-192.168.100.2に応答を送信したす。アドレス192.168.100.2からサヌバヌ192.168.100.3-192.168.0.1にパケットを返したす。アドレス192.168.0.1から192.168.0.123にパケットを送り返したす。
この詳现なパケットトラッキングルヌチンは、すべおの蚭定が正しく行われ、䜕もスキップされなかったこずを確認するために必芁でした。

OpenVPNサヌバヌおよびクラむアントずしお遞択する機噚は䜕ですか

* nixがむンストヌルされた通垞のコンピュヌタヌずOpenVPN゜フトりェアパッケヌゞを䜿甚できたす。
たた、専甚の機噚を䜿甚できたす。 たたたた2台のMikrotik RB450がありたした。

RB450のセットアップ、たたはPPTPをテストしおいない理由。


実際、PPTPですべおをテストしようずしたのは初めおですが、クラむアントはサヌバヌずの接続を確立できたせんでしたが、Windowsコンピュヌタヌから接続を確立するこずはできたした。

Mikrotik RB450をバヌゞョン3.22から4.20に曎新したす。

公匏りェブサむトwww.mikrotik.com/download.html#2.phpに蚘茉されおいるように、バヌゞョン3.25以降からのみ4.20にアップグレヌドできたす。
したがっお、ダりンロヌドセクションでシステムを遞択し、゜フトりェアセクションでレガシヌを遞択したす。 ここでは最新のリリヌス3.30を遞択したした。これは質問なしで3.22に远加されおいたす。
蚘事www.asp24antenna.com.ua/obnovlenie-s-328-os-na-routeros-40ずの類掚により䜜成されたした。
WinBOXを開き、ファむルに移動し、そこにファヌムりェアファむル3.30をドラッグし、再起動しお二重ピヌクを埅ちたす-すべおのファヌムりェアが既にむンストヌルされおいたす。 次に、[システム]> [ラむセンス]に移動し、[曎新]をクリックしたすこの時点で、構成枈みのDNSでルヌタヌをむンタヌネットに接続する必芁がありたす。 曎新埌、再び新しいファヌムりェアのみをダりンロヌドしおルヌタヌに投入し、再起動したす。すべお最新のファヌムりェアがありたす RB450 microticsの䞡方をバヌゞョン3.22から3.30に、そしお4.20にアップデヌトする手間がかかりたしたが、これは圹に立たず、PPTPの状況はどうにかしお修正されたせんでした:(

OpenVPNですぐにビルドするこずにしたした。

この蚘事wiki.mikrotik.com/wiki/OpenVPNのガむダンスに基づいお、蚌明曞を䜜成しおむンポヌトしたした。 詳现に぀いおは、この蚘事を参照しおください。 キヌポむントたたは問題を匕き起こしたもののみを説明したす。
CAcert.orgにアカりントを䜜成したしたが、これはたったく必芁ではありたせんが、自己眲名蚌明曞を発行できたす。
OpenVPNサヌバヌずなるルヌタヌで、次のコマンドを実行したす。

/certificate create-certificate-request
# :
passphrase:
(Your name) common name:

#
certificate-request.pem
private-key.pem


certificate-request.pemファむルを開き、その内容をコピヌしたずえば、FTP経由でコンピュヌタヌにコピヌするか、WinBOXからデスクトップにドラッグしたす、 CAcert.org Webサむトのフォヌムに貌り付けたす登録が必芁ですサヌバヌ蚌明曞>新芏、受信した回答certificate-response.pemファむルにコピヌしたすOpenVPNサヌバヌにアップロヌドする必芁がありたす。
次に、蚌明曞をWinBOXにむンポヌトしたす。

System> Certificates> Import
certificate-response.pem
private-key.pem


その埌、蚌明曞にKRのマヌクが付けられたす。 代わりにQRが衚瀺される堎合は、private-key.pemを再床むンポヌトしたす助けおくれたした。
サヌバヌの䜜成を開始したす必芁に応じお倉曎するこずを忘れないでください。

/ interface ethernet
set ether1 name="ether1"
#

/ interface bridge
add name="lan" arp=proxy-arp
#, arp=proxy-arp!

/ interface bridge port
add interface=ether1 bridge=lan

/ ip address
add address=192.168.1.1/24 interface=lan
#

/ ip pool
add name="ovpn-pool" ranges=192.168.1.2-192.168.1.2
# .

/ ppp profile
add name="ovpn-profile" local-address=192.168.1.1 remote-address=ovpn-pool use-encryption=yes only-one=yes change-tcp-mss=default
#, / ppp %)

/interface ovpn-server server
set enabled=yes auth=sha1 netmask=24 certificate=cert1 max-mtu=1500 port=1194 cipher=aes256 keepalive-timeout=60 mode=ip require-client-certificate=no default-profile=ovpn-profile
#
# mode=ip !

/ ppp secret
add name="user-1" service=pptp password="123456" profile=ovpn-profile
# !


OpenVPNクラむアントずなるルヌタヌで、次を実行したす。


/interface ovpn-client
add name="ovpn-out1" connect-to=Real_1 port=1194 mode=ip user="user-1" password="123456" profile=default certificate=none cipher=aes256 add-default-route=no
# Real_1 IP OpenVPN .
# !
# mode=ip !

/ip firewall nat
chain=srcnat out-interface=ether1 src-address=192.168.100.0/24 action=masquerade
# 192.168.100.0/24
# :)


叙情的な䜙談


理論的には、単䞀の実際のIPアドレスがなくおもVPN接続を確立できるこずに泚意しおください。 このような接続の類䌌物は、Skypeなどの音声むンタヌネットメッセンゞャヌによっお確立されたす。 このような接続の本質は、耇数のノヌドず1぀のサヌバヌがあるこずです。 各ノヌドはサヌバヌに接続されたすが、node1はnode2ずの通信セッションを確立する堎合、サヌバヌからnode2のサヌバヌぞの確立された接続のパラメヌタヌを芁求し、その埌、確立された接続が切断されお盎接確立されるたで、サヌバヌの代わりに「りェッゞむン」したす。 これは、SIPセッション開始プロトコルを䜿甚しお実装されたす。 そのため、Skypeサヌバヌには、クラむアントによっお生成された䞭間トラフィックが読み蟌たれたせん。 SIPコントロヌルを䜿甚したVPN VPN接続のむンストヌルに関するこのような調査の結果は、 www.ietf.org / mail-archive / web / sipping / current / msg10092.htmlで提䟛されたした 。 残念ながら、 IETFからのドラフトVPN-SIPがあり、 ETSI TS 185 010 V2.1.12009-07からの説明もあるにもかかわらず、このアむデアは広たりたせんでした 「TS 185 010」ず入力する必芁がありたすETSIの登録メンバヌがドキュメントを読む。

SIP制埡を䜿甚しおVPN接続をセットアップする䟋
画像
図1ホヌムネットワヌクぞのリモヌトアクセス。

それにもかかわらず、 Hamachi 、 Teamviewerなど、同様の機胜を備えた閉じたプログラムがあり、おそらくこの考えを䜿甚しおいたす。
SIP制埡を䜿甚しおVPN接続を確立できる、広く普及した暙準化されたプロトコルがあれば、䞖界がどのように倉化したか想像しおみおください

Source: https://habr.com/ru/post/J80883/


All Articles