内容へ移動
ほげぴよwiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
ubuntu-server-18-04:openvpn
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== OpenVPN のインストール ====== VPN ソフトの OpenVPN をインストールする。 ===== 環境 ===== ==== インストール前の環境 ==== * Ubuntu 18.04.3 LTS 64bit * お名前.com VPS (KVM) 1GB プラン ^ パッケージ名 ^ バージョン ^ | openvpn | 2.4.4-2ubuntu1.3 | | easy-rsa | 2.2.2-2 | ===== インストール ===== <code> $ sudo apt-get install openvpn easy-rsa </code> ===== 公開鍵基盤の作成 ===== ==== CA(認証局)の作成 ==== CA のテンプレートをコピーする。今回は CA のファイルを /etc/openvpn/easy-rsa/ 以下に配置する。 <code> $ sudo mkdir /etc/openvpn/easy-rsa/ $ sudo chown user:user /etc/openvpn/easy-rsa/ $ cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/ </code> 変数ファイルを編集する。 <code> $ vim /etc/openvpn/easy-rsa/vars </code> <code> export KEY_COUNTRY="JP" export KEY_PROVINCE="Tokyo" export KEY_CITY="Shinjuku" export KEY_ORG="Example Company" export KEY_EMAIL="root@example.com" export KEY_OU="MyVPN" export KEY_ALTNAMES="MyVPN" export KEY_NAME="MyVPN" export KEY_CN="MyVPN" </code> <note important>export KEY_ALTNAMES="MyVPN" はもともとファイルに含まれていないが、この設定を含めておかないと、鍵生成時にエラーが発生する。</note> CA 用のファイルを作成する。 <code> $ cd /etc/openvpn/easy-rsa/ $ source vars $ ./clean-all $ ./build-ca </code> 鍵生成中に国コードや、組織名等の変数で設定した内容を変更できる。通常はエンターキー連打で OK。 ==== サーバ用の鍵を作成 ==== myservername は鍵のファイル名として使用される。 <code> $ ./build-key-server myservername </code> CA 作成時と同じくエンターキー連打。 最後の2つの質問は、CA 作成時にはないがこれもエンターキーで OK。 <code> Certificate is to be certified until Feb 5 10:40:34 2026 GMT (3650 days) Sign the certificate? [y/n]: </code> y を入力して、先ほど作成した CA の秘密鍵で、サーバ用の公開鍵に署名する。 <code> 1 out of 1 certificate requests certified, commit? [y/n] </code> y を入力して、CA のデータベースに登録する。 Diffie Hellman パラメータが必要になるので生成する。 <code> $ ./build-dh </code> CA と サーバ用の鍵、証明書を OpenVPN のディレクトリにコピーする。 <code> $ cd ./keys $ sudo cp myservername.crt myservername.key ca.crt dh2048.pem /etc/openvpn </code> ==== クライアント用の鍵を作成 ==== <code> $ cd /etc/openvpn/easy-rsa $ source vars $ ./build-key client1 </code> また鍵情報の入力があるが、エンターキーを連打。 y を入力し、署名してデータベースへ登録する。 以下のファイルは、クライアント側へ安全な方法でコピーする。(scp等) * /etc/openvpn/ca.crt * /etc/openvpn/easy-rsa/keys/client1.crt * /etc/openvpn/easy-rsa/keys/client1.key ===== OpenVPN サーバの設定 ===== サーバの設定ファイルをコピーする。 <code> $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn $ sudo gzip -d /etc/openvpn/server.conf.gz </code> /etc/openvpn/server.conf を編集する。 <code> $ sudo vim /etc/openvpn/server.conf </code> 以下の証明書と鍵ファイル名を確認する。特に dh2048.pem を確認。 <code> ca ca.crt cert myservername.crt key myservername.key dh dh2048.pem </code> 以下のコメントを解除。 <code> user nobody group nogroup </code> ==== tls-auth オプション用のキーを作成 ==== 以下のコマンドで ta.key を作成する。このファイルはクライアント側にも同じファイルをコピーする必要がある。 <code> $ cd /etc/openvpn/ $ sudo openvpn --genkey --secret ta.key </code> ==== ネットワークの設定 ==== /etc/sysctl.conf を編集する。 <code> $ sudo vim /etc/sysctl.conf </code> 以下のコメントを解除して、IPv4 のフォワードを有効にする。 <code> net.ipv4.ip_forward=1 </code> ネットワークの設定をリロードする。 <code> $ sudo sysctl -p /etc/sysctl.conf </code> ===== ファイアフォールの設定 ===== ファイアフォールを以下のコマンドで設定する。 <code> $ sudo ufw status $ sudo ufw enable $ sudo ufw default deny incoming $ sudo ufw default allow outgoing </code> OpenVPN サーバへの接続を許可。 <code> $ sudo ufw allow 1194/udp </code> ファイアウォールのデフォルトルールを変更。 <code> $ sudo vim /etc/default/ufw </code> <code> DEFAULT_FORWARD_POLICY="ACCEPT" </code> <code> $ sudo vim /etc/ufw/before.rules </code> 以下のルールを “*filter” の直前に入力する。 <code> # START OPENVPN RULES # NAT table rules *nat :POSTROUTING ACCEPT [0:0] # Allow traffic from OpenVPN client to eth0 -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE COMMIT # END OPENVPN RULES </code> ufw を再起動する。 <code> $ sudo ufw disable && sudo ufw enable </code> ==== OpenVPN サーバを起動 ==== <code> $ sudo systemctl start openvpn@server </code> ステータスを確認する。 <code> $ sudo systemctl status openvpn@server </code> 仮想ポートが作成されているかを確認。 <code> $ ifconfig tun0 </code> ===== クライアントの設定 ===== 自分は Mac で Tunnelblick を使用。 <code> # sample client.ovpn for Tunnelblick client remote blue.example.com port 1194 proto udp dev tun dev-type tun reneg-sec 86400 auth-nocache auth-retry interact cipher AES-256-CBC ca ca.crt cert client1.crt key client1.key tls-auth ta.key 1 </code> ===== 参考 ===== * [[https://help.ubuntu.com/lts/serverguide/openvpn.html|Ubuntu 公式ドキュメント OpenVPN]]
ubuntu-server-18-04/openvpn.txt
· 最終更新: 2019/09/17 13:55 by
admin
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ