はじめに
最新のイベントとパブリックVPNサービスのブロックの可能性に関連して、人々の生活を楽にし、すべての設定と証明書の簡単な発行でOpenVPNを迅速にインストールするためのスクリプトを作成するという考えが熟しました。
このスクリプトを使用すると、1つのコマンドで作業サーバーを作成し、クライアント用の構成ファイルを統一された形式で作成できます(つまり、構成ファイルに証明書が含まれます)。 ところで、これらのファイルはモバイルデバイスに適しています。
このスクリプトは、CentOS 7.xまたはUbuntu Server 17.xを搭載したマシン用に作成され、Ubuntu 16.xで使用されます。 たぶん、しかしリポジトリにOpenVPN 2.3.xがあります。 必要に応じて、他のディストリビューションを追加できますが、通常はVPSを購入するときにシステムを選択できますが、これはそれほど重要ではありません。
スクリプトは数時間でbashで記述され、エラーが発生する可能性があり、確実に何かをより簡単に改善することができます。
新しいマシンでスクリプトを実行すると、iptablesルールとOpenVPN設定が上書きされます。 はい、SSH 22ポートはiptablesルールで許可されています。別のポートに変更した場合は、スクリプトでポートを変更することを忘れないでください。
特徴
- デフォルトでは、暗号AES-256-GCMが推奨されます(現時点では非常に安全です)。
- デフォルトでは、(デフォルトのSHA1の代わりに)認証SHA256が使用されます。
- デフォルトでは、tls-cryptはOpenVPN 2.4.xに使用されます(OpenVPNトラフィックの検出を複雑にします)。
- デフォルトでは、DNSリークを防ぐためにGoogle DNSおよびローカルDNSブロッキング(setenv opt block-outside-dns)を使用します。
- 必要なルールはすべて、iptablesおよびip6tablesで作成されます。
- IPv6がサポートされています。
使い方
スクリプトの使用は非常に簡単です。openvpnsetup.shファイルをVPSにダウンロードし、chmod + x openvpnsetup.shを実行し、。/ openvpnsetup.shを実行する許可を与えます。 その結果、選択したポートで動作するように構成されたサーバーを取得できます。
newclient.shスクリプトは、/ etc / openvpnフォルダーに作成されます。これは、クライアント側の構成ファイルを作成するために必要であり、使用方法は./newclient.sh clientnameと同じくらい簡単です。 結果は/etc/openvpn/bundles/clientname.ovpnファイルになります。これはクライアントですぐに使用でき、マシンのconfigフォルダー(Windowsで使用する場合)に配置するだけです。
サーバーを再作成する場合は、/ etc / openvpnフォルダーからすべてを削除して、スクリプトを再度実行します(当然、クライアント証明書を再発行する必要があります)。
OpenVPNのVPS選択のヒント
- まず、価格を調べます。1か月あたり3〜4ドルのオファーを見つけることができます。これは、多くのVPNサービスよりも安価です。
- VPNで許容可能な速度を実現する場合は、地理的に近いVPSを選択します。 VPSへのpingが少ないほど、速度が向上します。
- 最小構成を選択します。 OpenVPNは複数のコアを使用せず、256MBのメモリで実行できます。 3〜5GBの最小ディスク容量でも十分です。
- 一部のVPSはトラフィックが制限されていますが、通常は1か月あたり1 TBです。さらに使用する場合は、他の料金プランを検討してください。
- VPSを注文する前に、トレントのダウンロードが許可されているかどうかを確認してください(もちろん必要です)。
- システムでTUN / TAPデバイスが有効になっているかどうかも確認できます。 スクリプトにはこれに対するチェックがありますが、購入前にそれを明確にする方が良いでしょう。VPSプロバイダーのサポートを介してそれらをオンにできない可能性があります。
- IPv6アドレスが存在するため、このスクリプトを使用すると、IPv6をサポートするサーバーを構成できます。また、VPNを介してIPv6リソースにアクセスできるようにすることもできます。
スクリプトはGitHubで入手できます 。
ボーナス:2ip.ruの匿名性チェック結果:
WITCHをチェックしてください?:
DNSリークを確認します。