OpenVPNは、サーバー/マシンへの安全なリモートアクセスのための無料のVPNサービスです。 Webトラフィックを暗号化し、安全にルーティングする機能を提供します。 OpenVPNを使用すると、サーバーとクライアントの両方が監視下にあるため、トンネルトラフィックを完全に制御できます。
ローカルで制限されたインターネット接続ですべてのサイトのブロックを広告なしで解除するだけでなく、安全でないオープン/パブリックWi-Fiでトラフィックを保護します。
要件
以下は、OpenVPNを設定するためのいくつかの要件です;
- Ubuntuサーバー(できれば任意のクラウド上)
- サーバーには、着信VPN接続をリッスンするためのオープンポートが必要です
- クライアントマシン(できればBash環境を使用)
OpenVPNのセットアップ
sshまたはその他のリモートアクセスプロトコルを使用してUbuntuサーバーに接続します。
$ ssh ubuntu@[ip address of your Ec2 Instance] -i key.pem
サーバーを更新します。次のコマンドを実行します;
$ sudo apt update && sudo apt upgrade -y
次に、次のコマンドを使用してOpenVPNスクリプトをダウンロードします。
$ wget https://git.io/vpn -O openvpn-install.sh
スクリプトを実行し、要求される詳細を提供する必要があります。次のコマンドを入力します;
$ sudo bash openvpn-install.sh
それはあなたのプライベートIPを自動的に検出しました。 Enterキーを押します。パブリックIPを提供するように求められます。
ここで、プロトコル[TCP、UDP]を指定するように求められます。 TCPをお勧めします。 TCPを選択するには、2と入力します。
これで、OpenVPNはリスニングポートを要求します。開いているポートを指定します。
使用するDNSサービスを構成する必要があります。推奨されるDNSはGoogleとOpenDNSです。
OpenVPNサーバーが正常に構成されました。次に、クライアントスクリプトに名前を付けます。 Enterキーを押して、インストールが完了するのを待ちます。
このファイルをクライアントマシンに転送します。コマンドラインでファイルを転送する方法はたくさんあります。サーバーからクライアントにファイルを転送するために、UbuntuでPythonサーバーを作成します。
client.ovpnファイルが保存されているディレクトリに切り替えます。この場合、/ home /ubuntu/ディレクトリに保存されます。
$ cd /home/ubuntu/
$ ls-la
と入力します ファイルが現在のディレクトリに存在することを確認します。
単純なPythonサーバーを起動するには、次のコマンドを入力します。
python2の場合は、次のように入力します;
$ sudo python -m SimpleHTTPServer
Python3の場合は、次のように入力します;
$ sudo python3 -m http.server
サーバーはポート8000でリッスンしています。クライアントマシンのターミナルに移動し、次のコマンドを入力してclient.ovpnファイルをダウンロードします;
$ wget http://18.218.226.25:8000/client.ovpn
パブリックIP、ポート番号、およびファイルの名前を忘れずに置き換えてください。
これで、ファイルは正常に転送されました。クライアントマシンに入力して接続を開始できます;
$ sudo openvpn client.ovpn
OpenVPNが実行されていることを確認するには、Googleにアクセスして「MyIP」と入力します。 IPがサーバーのパブリックIPと同じである場合は、OpenVPNが正常に構成されています。
結論
OpenVPNは無料のサービスであり、広告を含まず、トラフィックを暗号化するため、URLおよびコンテンツベースのファイアウォール/プロキシフィルターをバイパスします。設定は簡単で、トンネルトラフィックを制御できます。