OpenVPNは、セキュアでプライバシーを保護するために使用される人気のあるVPN(Virtual Private Network)ソフトウェアです。この記事では、UbuntuにOpenVPNサーバーをインストールし、設定するための完全かつ包括的な手順を提供します。これにより、あなたのネットワーク接続を暗号化し、安全なインターネット接続を確立することができます。
1. 必要なパッケージのインストール
まず最初に、Ubuntuシステムに必要なパッケージをインストールする必要があります。以下のコマンドを実行して、OpenVPNとEasy-RSA(証明書を生成するためのツール)をインストールします。

bashsudo apt update sudo apt install openvpn easy-rsa
2. Easy-RSAの設定
次に、Easy-RSAを使用して証明書と鍵を作成します。これらの証明書と鍵は、VPN接続を安全に保つために使用されます。以下の手順に従って設定を行います。
Easy-RSAのディレクトリを作成
bashmake-cadir ~/openvpn-ca
cd ~/openvpn-ca
変数ファイルの設定
vars
という設定ファイルを編集します。このファイルには、証明書を作成するために使用する設定が含まれています。以下のコマンドでvars
ファイルを編集します。
bashnano vars
ファイル内で、以下のように設定を変更します(必要に応じて)。
bashexport 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(証明書機関)の証明書、サーバー証明書、サーバー鍵などを生成します。
bashsource vars
./clean-all
./build-ca
このプロセスでは、いくつかの質問が表示されますが、vars
ファイルで設定した内容がデフォルトで使用されます。
次に、サーバー証明書を生成します。
bash./build-key-server server
クライアント証明書を生成するためのコマンドは以下です。
bash./build-key client1
証明書が生成されたら、keys/
ディレクトリに証明書と鍵が保存されます。
3. サーバー設定ファイルの作成
OpenVPNの設定ファイルを作成するために、サンプル設定ファイルをコピーし、編集します。
bashcp /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
設定ファイル内でいくつかのパラメータを変更します。以下の変更を行います。
ca
、cert
、key
のパスを生成した証明書と鍵の場所に設定します。dh
の設定を有効にします(Diffie-Hellmanパラメータ)。- サーバーログの設定を確認します。
例:
bashca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key dh /etc/openvpn/keys/dh2048.pem
4. サーバー証明書と鍵の配置
サーバー証明書と鍵を適切なディレクトリに配置します。以下のコマンドを使用します。
bashsudo cp ~/openvpn-ca/keys/{server.crt,server.key,ca.crt,dh2048.pem} /etc/openvpn/keys/
5. サーバーの起動と有効化
設定が完了したら、OpenVPNサーバーを起動し、システム起動時に自動的に起動するように設定します。
bashsudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
6. クライアント設定ファイルの作成
クライアントがVPNサーバーに接続できるように、クライアント設定ファイルを作成します。以下のコマンドを実行して、クライアント設定を生成します。
bashnano ~/client1.ovpn
ファイルに以下の内容を追加します。
bashclient 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番)を開放します。
bashsudo ufw allow 1194/udp
sudo ufw enable
8. サーバーの確認と接続
サーバーが正常に起動していることを確認します。
bashsudo systemctl status openvpn@server
クライアント側から接続するために、client1.ovpn
ファイルを使用して接続します。これをOpenVPNクライアントにインポートし、接続を試みます。
9. 接続テスト
クライアントが正常に接続できる場合、VPNを介してインターネットを安全に利用できるようになります。接続後、以下のコマンドでIPアドレスがVPNのものに変更されているかを確認できます。
bashcurl ifconfig.me
これで、OpenVPNサーバーがUbuntu上で動作し、クライアントがVPNを通じて安全にインターネットに接続できるようになります。
まとめ
この記事では、UbuntuにOpenVPNサーバーをインストールし、設定するための手順を詳述しました。これにより、インターネット接続のプライバシーを強化し、安全な通信を実現することができます。