内容へ移動
ほげぴよwiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
ubuntu-server-14-04:openvpn
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== OpenVPN のインストール ====== VPN ソフトの OpenVPN をインストールする。 ===== 環境 ===== ==== インストール前の環境 ==== * Ubuntu 14.04.3 LTS 64bit ^ パッケージ名 ^ バージョン ^ | openvpn | 2.3.2-7ubuntu3.1 | | easy-rsa | 2.2.2-1 | ===== インストール ===== <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> ==== ネットワークの設定 ==== /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> ==== OpenVPN サーバを起動 ==== <code> $ sudo service openvpn start </code> <code> * Starting virtual private network daemon(s)... * Autostarting VPN 'server' </code> 仮想ポートが作成されているかを確認。 <code> $ ifconfig tun0 </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 and Wlan0 -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE -A POSTROUTING -s 10.8.0.0/8 -o wlan0 -j MASQUERADE COMMIT # END OPENVPN RULES </code> ufw を再起動する。 <code> $ sudo ufw disable && sudo ufw enable </code> ===== クライアントの設定 ===== 自分は Mac で Tunnelblick を使用。 <code> # sample client.ovpn for Tunnelblick client remote blue.example.com port 1194 proto udp dev tun dev-type tun ns-cert-type server reneg-sec 86400 auth-nocache auth-retry interact comp-lzo yes verb 3 ca ca.crt cert client1.crt key client1.key </code> ===== 参考 ===== * [[https://help.ubuntu.com/14.04/serverguide/openvpn.html|Ubuntu Documentation]] * [[https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-14-04|How To Set Up an OpenVPN Server on Ubuntu 14.04]] * [[https://ubuntu-mate.community/t/vpn-how-to-connect-successfully-securely-ufw-openvpn-ubuntumate-15-04/1452|VPN-How To Connect Successfully & Securely -UFW/OpenVPN/UbuntuMATE 15.04]]
ubuntu-server-14-04/openvpn.txt
· 最終更新: 2016/05/16 14:29 by
admin
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ