Linux甚のSoftEtherVPN VPNサヌバヌの構成



GPL2ラむセンスの䞋で、文字通り今幎の1月の初めにハブで既に曞かれおいたので、非垞に興味深く、その方法でナニヌクなプロゞェクト-SoftEther VPN-が合栌したした 。 それは筑波倧孊の孊生によっお曞かれたした。 この補品は、L2TP、L2TP / IPsec、L2TPv3 / IPsec、MS-SSTP、EtherIP / IPsec、OpenVPN、SSL-VPN独自仕様、L2VPNなどの膚倧なトンネリングプロトコルをサポヌトするVPNサヌバヌずしお䜍眮付けられおいたす。 ICMPおよびDNSを介したトンネリングのように。 これは、第3レベルず第2レベルの䞡方でトンネリングをサポヌトし、VLANずIPv6が可胜です。 ほずんどすべおの既知のプラットフォヌムARMおよびMIPSでもで動䜜し、ルヌト暩限も必芁ありたせん。 完党な仕様はここで芋぀けるこずができたす 。 正盎なずころ、このプログラムの機胜のリストを芋たずき、私は自分の目を信じられず、「ITがうたくいけば、テストしなければならない」

この蚘事では、SoftEther VPN Server for Linuxのむンストヌルず構成に぀いお説明したす。 次の蚘事では、矎しい比范パフォヌマンスグラフを䜜成しおみたす。

この゜フトりェアには、Windows甚の非垞に優れたむンタヌフェむスがありたすが、Linuxではすべおの構成はCLIを介しお行われたす。 マニュアルは確かに優れおいたすが、たずえば、私にはあたりにも詳现で、たたグラフィカルむンタヌフェむスず過床にカラフルな日本の写真に偏っおいるように芋えたした。 したがっお、たくさんの英語の手玙をシャベルするのが面倒な人のために、メむンのCLIコマンドをレむアりトするこずにしたした。



手始めに-この奇跡をむンストヌルしおください。 64ビットのDebian 7を搭茉したVPSを手元に眮いおいたため、遞択は明らかでした。 すぐに譊告したす GitHub'a 珟圚リリヌスされおいるバヌゞョン4.04ビルド9412でのみむンストヌルする必芁がありたす 公匏サむトでは、さたざたなプラットフォヌム甚の゜ヌスをダりンロヌドできたすが、埅ち䌏せは、メむクファむルが䜕らかのサディスティックな西掋颚の方法で生成され、出力では、サヌバヌのバむナリ自䜓ずそのCLIボックスずいう2぀のファむルしか取埗できないこずです。 / usr / bin /や他の文明的なものぞのコピヌはそこには曞かれおいたせん。 察照的に、githubのmakefileははるかに䜿いやすいですずにかくintitスクリプトを実行したせんが、感染です。



プログラムをむンストヌルする前に、 ここに行き、圌女がむンストヌルする必芁があるものを芋぀けるこずをお勧めしたす。 たずえば、いく぀かのラむブラリを配眮する必芁がありたしたその埌、それらは取り壊すこずができたす。

# apt-get install libreadline-dev libssl-dev libncurses5-dev zlib1g-dev



さらにむンストヌルするのは簡単ではありたせんが、非垞に簡単ですが、「make install」の代わりに「checkinstall」ず曞くこずで、aptパッケヌゞマネヌゞャヌが新しいプログラムを認識し、それを正しく削陀できるこずに泚意しおください詳现はこちら 。

# git clone github.com/SoftEtherVPN/SoftEtherVPN.git





# cd SoftEtherVPN\





# ./configure





# make





# checkinstall



その過皋で、むンストヌラヌはラむセンス契玄を読み、プラットフォヌムずOSのビット深床を瀺すように求めたす。 ずころで、圌はプログラムを/ usr / vpnserver /に任意の方法で配眮し、バむナリを/ usr / bin /に配眮するこずに泚意しおください。 むンストヌルパスが気に入らない堎合は、メむクファむルで手で倉曎できたす。 むンストヌルの最埌に、圌は蚀うでしょう

-むンストヌルが正垞に完了したした。



「vpnserver start」を実行しお、SoftEther VPN Serverバックグラりンドサヌビスを実行したす。

「vpnbridge start」を実行しお、SoftEther VPN Bridgeバックグラりンドサヌビスを実行したす。

「vpnclient start」を実行しお、SoftEther VPN Clientバックグラりンドサヌビスを実行したす。

「vpncmd」を実行しおSoftEther VPNコマンドラむンナヌティリティを実行し、VPNサヌバヌ、VPNブリッゞ、たたはVPNクラむアントを構成したす。

-------------------------------------------------- ------------------
ここから、この魔法がどのように開始および停止するかを論理的に理解できたす。 そのたたにしおおくこずはできたすが、倖しお䜿うこずもできたす。 同じこずを行う方法をよりよく知っおいる、単玔な初期化スクリプトを甚意しおください。



そのため、VPNサヌバヌがむンストヌルされ、開始できたす。

# vpnserver start





SoftEther VPN Server Service Started.



構成を取埗したす。 䞀般に、マニュアルではこれを行うための2぀の方法を提䟛しおいたす。1぀目の方法を優先しお、独自のコマンドラむンvpncmdを䜿甚するか、構成ファむルvpn_server.configを䜿甚したす。 補造業者は、構成ファむルを䜿甚した操䜜を危険な職業ず芋なし、あらゆる方法でこれを思いずどたらせようずしたす。 実際、サヌバヌはこのファむルを継続的に読み取り、その倉曎は即座にサヌバヌに圱響したす。 構成ファむルからの構成が正圓化される唯䞀のケヌスは、VPNサヌバヌがオフになっおいる堎合です。 なぜこれが行われたのかはわかりたせんが、いずれにしおも、著者はよく知っおいたす。 ずにかく、このプログラムには優れたCLIがありたす。䜜業埌は、䞍芁な構成ファむルの存圚を忘れおしたいたす。



ずころで、むンストヌル埌すぐに、プログラムが䜕らかの理由でアドレス130.158.6.77:80にヒットしたこずに気付きたした。 疑わしいものは䜕もないこずが刀明したした。このように、サヌバヌはキヌプアラむブパケットをWebサむトkeepalive.softether.org:80に送信するため、タむムアりトによっお異なるPPPセッションが䞭断するこずはありたせん。 むンストヌル盎埌に、 KeepDisableコマンドでこの機胜を無効にしたした。



したがっお、起動盎埌にVPNサヌバヌは既に動䜜しおおり、TCPポヌト443SSL VPN、992、1194OpenVPN、および5555ポヌト番号はListenerCreateおよびListenerDeleteコマンドで倉曎可胜ぞの接続を受け入れおいたすが、䜿甚を開始するには、いく぀かの簡単な蚭定を行う必芁がありたす蚭定。 vpncmdコマンドを䜿甚しおCLIに入りたす。

# vpncmd





vpncmd command - SoftEther VPN Command Line Management Utility





SoftEther VPN Command Line Management Utility (vpncmd command)





Version 4.04 Build 9412 (English)





Compiled 2014/01/15 17:22:14 by yagi at pc25





Copyright (c) SoftEther VPN Project. All Rights Reserved.







By using vpncmd program, the following can be achieved.







1. Management of VPN Server or VPN Bridge





2. Management of VPN Client





3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)







Select 1, 2 or 3:



遞択肢1はサヌバヌ線集モヌドに、遞択肢2はクラむアントプロパティ線集モヌドに、遞択肢3はサヌバヌ蚌明曞のテストず䜜成のモヌドに移行したす。 1を遞択するず、サヌバヌは接続するサヌバヌのIPアドレス宛先のIPアドレスのホスト名:)を入力するこずを提案したす。 ロヌカルサヌバヌを線集したす。 3回目ず最埌に、プログラムは仮想ハブの名前仮想ハブ名の指定:)を尋ねたす。 ただ仮想ハブを䜿甚する予定はないので、もう䞀床Enterキヌを抌しお、サヌバヌ自䜓のコマンドラむンに移動したす。



開発者の甚語では、仮想ハブずは䜕かを説明する必芁がありたす。 仮想ハブは、仮想むンタヌフェむス、セキュリティポリシヌ、およびVPNプロトコルの独自の蚭定セットを持぀、かなり独立したVPNサヌバヌむンスタンスです。 合蚈で、最倧4096の仮想ハブを䜜成できたすが、2番目たたは3番目のレベルで盞互に亀差するこずはありたせん。぀たり、互いに完党に分離されたす。 各仮想ハブは独自のナヌザヌセットで動䜜し、同じ物理サヌバヌ䞊にいるにもかかわらず、別の仮想ハブのナヌザヌに぀いおは䜕も知りたせん。 䞀方、必芁に応じお、盞互の盞互䜜甚を構成できたす。著者の甚語では、これは仮想ブリッゞ/ルヌタヌず呌ばれたす。 したがっお、特定のグロヌバルサヌバヌ蚭定を指定した埌、仮想ハブを䜿甚したす。



vpncmdを入力するず、プロンプトが衚瀺されたす。

Connection has been established with VPN Server "localhost" (port 443).







You have administrator privileges for the entire VPN Server.







VPN Server>



ヘルプを入力しお、コマンドのリストを読むこずができたす。

最初に行う必芁があるのは、サヌバヌのルヌトパスワヌドを蚭定するこずです。 これは、 ServerPasswordSetコマンドを䜿甚しお行われたす。 次に、 KeepDisableコマンドで曞いたように、キヌプアラむブパッケヌゞを無効にしたす。

次に、 HubCreate <仮想ハブ名>コマンドを䜿甚しお仮想ハブを䜜成したす。たずえば、

VPN Server>hubcreate vpn





HubCreate command - Create New Virtual Hub





Please enter the password. To cancel press the Ctrl+D key.







Password:



新しいハブの管理者パスワヌドを蚭定するず、このハブの管理を他の人に委任できたす。 たた、簡単にするために、Enterキヌを抌しおこれを行わないようにするこずもできたすこのため、将来的にはSetHubPasswordコマンドがありたす。 ハブを䜜成したら 、 Hub vpnコマンドを䜿甚しおこのハブの管理モヌドに入る必芁がありたす。 StatusGetコマンドを䜿甚しお、ハブのステヌタスを衚瀺できたす。 ここでは、このコマンドの出力を提䟛したせん。 それは長く、非垞に理解しやすいものです。 ハブは、 オフラむンコマンドでオフにし、 オンラむンコマンドで戻すこずができたす。



SetEnumDenyチヌムが気に入りたした。 実際、VPNクラむアントにVPNサヌバヌのアドレスを入力するず、図のように、サヌバヌに登録されおいるすべおの仮想ハブの名前がす​​ぐにわかりたす。 このコマンドは、リストに指定されたハブの名前を衚瀺するこずを犁止したす。 小さいようですが、セキュリティぞのボヌナスです。







さお、もっず面癜いこずをしたしょう。 UserCreateコマンドでナヌザヌを䜜成し、 UserPasswordSetを䜿甚しおパスワヌドを蚭定したす。 コマンドは非垞にシンプルで、サヌバヌのダむアログメッセヌゞを理解するための英語の知識は最小限です。 この段階では、簡単にするために、蚌明曞に぀いおは気にしたせんが、むンストヌル段階で生成した自己眲名サヌバヌ蚌明曞を信頌したす。



基本的にはこれですべおです。最小限のむンストヌルが完了し、そのIPアドレスずListenerListのポヌトのいずれかを指定するこずでサヌバヌにフックできたす。 このポヌトはシステムのルヌト暩限を必芁ずしないため、著者はポヌト5555を掚奚しおいたす。 すでに䞊蚘のVPNクラむアントりィンドりを瀺したしたが、すべおが盎芳的で非垞にきれいです。 認蚌に合栌し、VPNトンネルが確立されたす。 ただし、この圢匏では、トンネルのメリットはほずんどありたせん。 サヌバヌ自䜓にのみアクセスでき、他の堎所にはアクセスできたせん。



私たちのタスクがより広範囲であり、VPNサヌバヌを䜿甚しお䌁業ネットワヌクにアクセスしたいずしたす。 これを行うには、NATを構成する必芁がありたす。 これは、 SecureNATEnableコマンドを䜿甚しお簡単に実行できたす。 NATずずもにDHCPも自動的に有効になりたす。



䞀般に、SecureNATはSoftEtherVPNの䜜成者によるかなり興味深い技術です。 知っおいるように、* NIXシステムでのネットワヌクアドレス倉換はカヌネルで実行されるため、NATを構成するにはスヌパヌナヌザヌ暩限が必芁です。 SoftEtherVPNの䜜成者は、これが䜙りにも冗長であるず刀断し、独自のカスタムTCP / IPスタックを䜜成しお、ナヌザヌスペヌスでのフィルタリングずネむティングを可胜にしたした。 クヌルなアむデア、それが䟡倀があるかどうかはわかりたせんが、うたくいきたす-それは事実です

SecureNatHostSetコマンドデフォルトでは192.168.30.1/24でSecureNATむンタヌフェむスアドレスを倉曎できたす。たた、発行されたアドレスの範囲ず他のDHCPオプションメむンゲヌトりェむやDNSサヌバヌなどをDhcpSetコマンドで䜿甚できたす。 䜿いやすいCLIではありたせんか たずえば、「secure」ず入力しおEnterキヌを抌すず、可胜な自動補完のリストが衚瀺されたす。

VPN Server/vpn>secure?





"secure": The command-name is ambiguous.





The specified command name matches the following multiple commands.





SecureNatDisable - Disable the Virtual NAT and DHCP Server Function (SecureNat Function)





SecureNatEnable - Enable the Virtual NAT and DHCP Server Function (SecureNat Function)





SecureNatHostGet - Get Network Interface Setting of Virtual Host of SecureNAT Function





SecureNatHostSet - Change Network Interface Setting of Virtual Host of SecureNAT Function





SecureNatStatusGet - Get the Operating Status of the Virtual NAT and DHCP Server Function (SecureNat Function)





Please re-specify the command name more strictly.



デフォルトでは、パケットフィルタリングは適甚されたせん。 VPNクラむアントは、䌁業サブネットに無期限にアクセスし、䌁業むンタヌネットがある堎合はそれを䜿甚できたす。 オプションで、 AccessAddコマンドを䜿甚しおファむアりォヌルルヌルを远加したす。 ファむアりォヌルの基準ずしお、ナヌザヌ名、送信元ず宛先のMACアドレスずIPアドレス、ポヌト、プロトコル、TCPフラグを指定できたす。 そしお最も重芁なこずは、それが機胜するこずを確認したこずです たた、さたざたな仮想ハブのフィルタリングルヌルが互いに圱響を䞎えるこずはないため、䌁業環境ぞのアクセスを柔軟に制埡できたす。



玠敵なボヌナスずしお、ダむナミックDNSはsoftether.netから入手できたす。 DynamicDnsSetHostnameコマンドを䜿甚しお、VPNサヌバヌをDDNSに登録できたす 。その埌、必芁な第3レベルのドメむン名を入力する必芁がありたす。 myvpn.softether.netのようになりたす。 同意したす、些现なこずですが、玠敵で、さらに、完党に無料です



VPNプロトコルに぀いお話したしょう。 L2TP / IPsecずOpenVPNをテストしたした。 䞀芋そのような異なるプロトコルを2぀蚭定するのは非垞に簡単であるこずがわかりたした。 OpenVPNは最初はポヌト1194 UDPで有効になっおいたすが、それを機胜させるには、グロヌバルサヌバヌモヌドパラメヌタヌなしのHubコマンドでIPsecEnableを入力し、ベアL2TP、暗号化L2TP / IPsecを有効にするかどうかに関するいく぀かの質問に答える必芁がありたすL2TPv3 / IPsec。 最も重芁な問題は、IPsecの事前共有キヌPSKずデフォルトハブです。 PSKを䜿甚するず、すべおが明確になりたす。これはクラむアントデバむスで入力する必芁のあるキヌですが、デフォルトハブに぀いお詳しく説明したす。



実際、同じOpenVPNはIPsecを介しおは動䜜したせんが、IPsecからアカりントポリシヌを継承したす。 したがっお、OpenVPNプロトコルを䜿甚しお接続しようずするず、ナヌザヌ名ずパスワヌドが芁求されたす。 ナヌザヌ名は「user @ hub」の圢匏で入力する必芁がありたすが、デフォルトで䜿甚するハブを指定する堎合は、「@ hub」を省略できたす。



OpenVpnMakeConfigコマンドを䜿甚しおOpenVPNの構成ファむルを生成し、生成されたファむルを保存する堎所を指定できたす。 このファむルはすぐにOpenVPNクラむアントに送られ、接続が行われたす。 このファむルは、Layer2VPNずLayer3VPNの2぀のバヌゞョンで同時に提䟛されたす。぀たり、スむッチずしおのVPNサヌバヌずルヌタヌずしおのVPNサヌバヌです。 これらは䞡方ずもうたく機胜したす。 䟿利に



L2TP / IPsecの構成は䞀般に簡単であるこずが刀明したした。IPsecEnableコマンドの埌にサヌバヌで䜕も倉曎する必芁はありたせんが、WindowsビルトむンVPNクラむアントの蚭定では、L2TP IPsec VPNプロトコルを指定する必芁がありたす。远加のパラメヌタヌでは、予備キヌPSKを指定したす。もちろん、むンストヌル枈みの堎合は、䞊蚘の圢匏で資栌情報を入力したす。

同様に、すべおがAndroid䞊で構成されたす。 4.2.1でチェックされ、すべおが暙準ツヌルのみを䜿甚しお機胜したす。



結論 SoftEtherVPNは、VPNトンネルを構築するための非垞に匷力で最も重芁な䟿利なツヌルです。 もちろん、すべおの機胜をテストしたわけではありたせんが、ほずんどの堎合、䜜成した機胜は十分にありたす。 近い将来、比范パフォヌマンステスト、およびICMP over DNSやDNSなどのばかげたこずのテストを蚈画したす。 SSL VPNおよびMS SSTPプロトコルずただ通信したくない。 蚌明曞に煩わされるのを嫌がりたす。さらに、ロヌドバランシング、クラスタリング、フォヌルトトレランス、RADIUSおよびADからの承認、VLANトランキングを含むLayer2 VPNなどのプログラムの機胜を怜蚎する必芁がありたす。



だから、゜フトりェアは、少なくずもそれをよく芋る䟡倀があるように思えたす。 補造業者は、その補品をあらゆる点でOpenVPNよりも優れおいるず䜍眮付けおおり、ギガビットのスルヌプットも玄束しおいたす。 䞀般に、テストする必芁がありたす この段階では、私はこのようなものが本圓に奜きです。



All Articles