開発運用

Ubuntu OpenVPNサーバー設定ガイド

OpenVPNは、セキュアでプライバシーを保護するために使用される人気のあるVPN(Virtual Private Network)ソフトウェアです。この記事では、UbuntuにOpenVPNサーバーをインストールし、設定するための完全かつ包括的な手順を提供します。これにより、あなたのネットワーク接続を暗号化し、安全なインターネット接続を確立することができます。

1. 必要なパッケージのインストール

まず最初に、Ubuntuシステムに必要なパッケージをインストールする必要があります。以下のコマンドを実行して、OpenVPNとEasy-RSA(証明書を生成するためのツール)をインストールします。

bash
sudo apt update sudo apt install openvpn easy-rsa

2. Easy-RSAの設定

次に、Easy-RSAを使用して証明書と鍵を作成します。これらの証明書と鍵は、VPN接続を安全に保つために使用されます。以下の手順に従って設定を行います。

Easy-RSAのディレクトリを作成

bash
make-cadir ~/openvpn-ca cd ~/openvpn-ca

変数ファイルの設定

varsという設定ファイルを編集します。このファイルには、証明書を作成するために使用する設定が含まれています。以下のコマンドでvarsファイルを編集します。

bash
nano vars

ファイル内で、以下のように設定を変更します(必要に応じて)。

bash
export KEY_COUNTRY="JP" export KEY_PROVINCE="Tokyo" export KEY_CITY="Shibuya" export KEY_ORG="MyOrg" export KEY_EMAIL="[email protected]" export KEY_OU="MyVPN"

保存してファイルを閉じます。

証明書の生成

次に、証明書と鍵を生成します。これには、CA(証明書機関)の証明書、サーバー証明書、サーバー鍵などを生成します。

bash
source vars ./clean-all ./build-ca

このプロセスでは、いくつかの質問が表示されますが、varsファイルで設定した内容がデフォルトで使用されます。

次に、サーバー証明書を生成します。

bash
./build-key-server server

クライアント証明書を生成するためのコマンドは以下です。

bash
./build-key client1

証明書が生成されたら、keys/ディレクトリに証明書と鍵が保存されます。

3. サーバー設定ファイルの作成

OpenVPNの設定ファイルを作成するために、サンプル設定ファイルをコピーし、編集します。

bash
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ gzip -d /etc/openvpn/server.conf.gz nano /etc/openvpn/server.conf

設定ファイル内でいくつかのパラメータを変更します。以下の変更を行います。

  • cacertkeyのパスを生成した証明書と鍵の場所に設定します。
  • dhの設定を有効にします(Diffie-Hellmanパラメータ)。
  • サーバーログの設定を確認します。

例:

bash
ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key dh /etc/openvpn/keys/dh2048.pem

4. サーバー証明書と鍵の配置

サーバー証明書と鍵を適切なディレクトリに配置します。以下のコマンドを使用します。

bash
sudo cp ~/openvpn-ca/keys/{server.crt,server.key,ca.crt,dh2048.pem} /etc/openvpn/keys/

5. サーバーの起動と有効化

設定が完了したら、OpenVPNサーバーを起動し、システム起動時に自動的に起動するように設定します。

bash
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server

6. クライアント設定ファイルの作成

クライアントがVPNサーバーに接続できるように、クライアント設定ファイルを作成します。以下のコマンドを実行して、クライアント設定を生成します。

bash
nano ~/client1.ovpn

ファイルに以下の内容を追加します。

bash
client dev tun proto udp remote [サーバーのIPアドレス] 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key tls-auth ta.key 1 cipher AES-256-CBC comp-lzo verb 3

ここで、remoteの部分にVPNサーバーのIPアドレスを指定します。

7. 防火壁の設定

サーバーにアクセスできるように、防火壁の設定を行います。以下のコマンドで、必要なポート(デフォルトはUDPの1194番)を開放します。

bash
sudo ufw allow 1194/udp sudo ufw enable

8. サーバーの確認と接続

サーバーが正常に起動していることを確認します。

bash
sudo systemctl status openvpn@server

クライアント側から接続するために、client1.ovpnファイルを使用して接続します。これをOpenVPNクライアントにインポートし、接続を試みます。

9. 接続テスト

クライアントが正常に接続できる場合、VPNを介してインターネットを安全に利用できるようになります。接続後、以下のコマンドでIPアドレスがVPNのものに変更されているかを確認できます。

bash
curl ifconfig.me

これで、OpenVPNサーバーがUbuntu上で動作し、クライアントがVPNを通じて安全にインターネットに接続できるようになります。

まとめ

この記事では、UbuntuにOpenVPNサーバーをインストールし、設定するための手順を詳述しました。これにより、インターネット接続のプライバシーを強化し、安全な通信を実現することができます。

Back to top button