最近、VPS上にOpenVPNサーバーを立ち上げてみたのですが、非常に簡単にセットアップができる方法があったのでご紹介したいと思います。
自前のVPNサーバーを立ち上げようと思った経緯はこちらをご覧ください。
-
海外から日本のドラマや映画を見る方法
動画視聴に制限がかかる理由 僕は海外で過ごすことが多いのですが、この記事を作成している2020年3月、滞在先のタイでは非常事態宣言が出され、ほとんど外出できなくなりました。食事も外食は禁止で、持ち帰り ...
続きを見る
全体の流れ
今回は僕自身が利用しているConoHa VPS でサーバーを作成した手順を紹介します。
僕はすでにConoHa VPS でアカウントを持っていてサーバーを二つ実行しているので、最終的にはリソースに多少余裕がある既存サーバーにインストールするつもりです
ただ、OpenVPNに限らずVPNはネットワークやファイアウォール関係など広範囲な設定をいじるため、いきなりそこにインストールしても問題があったら面倒なので、以下の手順を踏んで作業をしようと思います。
作業ステップ
- テスト用のVPSサーバーを追加
- テスト用のサーバーでOpenVPNをインストール、設定
- テスト用のサーバーでOpenVPNの動作確認
- 問題なければ既存サーバーにOpenVPNをインストール、設定
- テスト用のサーバーを削除する
はじめてVPSサーバーを作る場合はテスト用サーバーは不要ですので、ステップ3までを普通に実行して、出来上がったサーバーを自分用の新しいサーバーにすることができます。
ステップ1 ー VPSサーバーの作成
これはConoHa VPSの素晴らしいところなのですが、サーバー料金は時間単位で課金されるため、サーバーを一時的に作っても1日とかで削除すればほんのわずかな費用で済みます。2020年3月現在、一番安いVPSサーバーは1時間1円(!)で利用できるので、これを1日動かしたとしても24円で済みます。今回のようなテスト時には非常に便利ですね。
というわけで、まずは自分のアカウントにログインして、左側のメニューからサーバー追加を選択します。
サーバー追加メニューでは
- リージョンを「東京」
- サービスはVPS
- サーバーは一番安価なもの
- OSはLinuxのCentOS 7.7
- root(管理者アカウント)のパスワードを設定してメモしておく
という感じです。OSに関しては基本的にはCentOSかUbuntuを選んでおけば問題ないと思います。僕は既存のサーバーがCentOS 7.7だっため、同じバージョンでテストしたいと思いこれを選択しました。「とりあえず動けばいい」という場合は僕と同じCentOS 7.7を選ぶといいでしょう。
ステップ2 ー OpenVPNのインストール
VPSサーバーを作成したら、作成したサーバーを選択してネットワーク情報を表示すると、サーバーのIPアドレスが確認できます。
IPアドレスを確認できたら、SSHでこのサーバーにログインします。
ssh root@<ip>
フィンガープリントの確認を求められたら[yes]を選択し、パスワードの入力を求められたら、サーバー作成時に設定したrootパスワードを入力します。
ログインできたら、以下のコマンドを実行します。
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh -O openvpn-install.sh && bash openvpn-install.sh
このコマンドを実行すると、OpenVPNを簡単にインストールしてくれるスクリプトをGitHubからダウンロードし、そのまま実行してくれます。
VPNサーバーの設定は、ただソフトをインストールするだけでなく、ネットワーク設定やファイアウォール設定を変更したりと厄介なのですが、このスクリプトを使うと、いくつかの質問に答えるだけでOpenVPNのインストールをしてくれます。このスクリプトもオープンソースなので、内容が気になる方はチェックしてみてもいいでしょう。
ここでは質問と僕が選択した回答を一覧します。
質問1: IP address: VPSのグローバルIPが表示されるのでそのまま[Enter]
質問2: Do you want to enable IPv6 support (NAT)? [y/n] (IPv6を有効にしますか?): n
質問3: What port do you want OpenVPN to listen to? (OpenVPNのポート)
1) Default: 1194
2) Custom
3) Random [49152-65535]
Port choice [1-3]: 1
質問4: What protocol do you want OpenVPN to use?
UDP is faster. Unless it is not available, you shouldn't use TCP.
1) UDP
2) TCP
Protocol [1-2] (UDPとTCPのどちらを使いますか?UDPが使える場合はUDPを選んでください): 1
質問5: What DNS resolvers do you want to use with the VPN?
DNS [1-12] (どのDNSを使いますか?): 9 (9はGoogleでした)
質問6: Enable compression? (圧縮を有効にしますか?セキュリティ上、圧縮しないことを推奨) [y/n]: n
質問7: Customize encryption settings? (暗号化の設定を変更しますか) [y/n]: n
これで[Enter]を押すと、OpenVPNのインストールと設定を行ってくれます。所要時間は、自分の場合は20秒以下でした。
最後に2つだけ、接続用の設定ファイルを作成するために質問に答える必要があります。
質問8: Tell me a name for the client.
Use one word only, no special characters.
Client name (クライアント名): Japan (これは単に接続プロファイルのファイル名なのでなんでも大丈夫)
質問9: Do you want to protect the configuration file with a password?
(e.g. encrypt the private key with a password)
1) Add a passwordless client
2) Use a password for the client
Select an option [1-2] (設定ファイルをパスワード保護しますか?): 1 (パスワード保護なし)
以上で完了です。
接続用のファイルがJapan.ovpn(<クライアント名>.ovpn)という名前で、現在のSSHのディレクトリ上に作成されます。このファイルをダウンロードします。
ダウンロードの仕方がよくわからないという場合は、catコマンドでファイルの内容を出力して、それをクリップボードにコピーしてローカルPCのテキストエディタにペーストしてもいいでしょう。このファイルは、次の動作確認のステップで使用します。
ステップ3 ー VPN接続のテスト
動作確認をするためには、まずOpenVPNのクライアントをインストールする必要があります。
詳細はOpenVPNのクライアントのインストール方法を参考にしてください。
https://faq.interlink.or.jp/faq2/View/wcDisplayContent.aspx?id=1077
上記のページ内で、OpenVPNのクライアントをインストールするところまで実行してください。
設定ファイルをダウンロードする部分は省略し、代わりに先ほど作成した自前の設定ファイルをOpenVPNクライアントに読み込ませてください。
設定ファイルをインポートして無事に接続できたら、VPNに接続した状態と切断した両方の状態で https://www.myglobalip.com にアクセスしてみください。表示されるIPアドレスが変わっていれば成功です。
さらに興味がある場合は、先ほどのMy Global IPのサイトに表示されたIPアドレスを、https://www.maxmind.com/en/geoip-demo で調べてみてください。
僕の場合、VPNに接続していない場合は国がタイに、接続中は日本となっています。
またアドバイスとしては、OpenVPNの使用は動画閲覧などの必要最低限な時だけに限定しておきましょう。一般的にはVPNを通さないほうが接続は早いですし、いくらVPSが定額だからといっても、あまりにもネットワークに負荷をかけすぎると目立ってしまう可能性もあるので、基本的にはひっそりと必要な時にだけ使うといいでしょう。
ステップ4と5 ー 既存サーバーにインストール
このステップは、まずテスト用のサーバーで動作確認をしてから既存サーバーにインストールという作戦をした場合のみ必要になります。
新規サーバーで立ち上げた場合は、そのサーバーを引き続き使えますので、このステップは無視してください。
このステップでは、基本的にはステップ3を既存サーバー上で繰り返し、その後テストサーバーを削除します。
テストサーバーを立ち上げている時間を短くすることで、VPSの費用を抑えることができます。
VPSプロバイダについて
以上、インターネット上にVPSを立ち上げ、OpenVPNサーバーを設定する方法を紹介しました。
僕のオススメは、このページの手順でも紹介したConoHa VPS ですが、単に価格だけを追求するならばこれよりも安いVPSもあります。
例えば、WebARENA(VPSクラウド)やServersMan@VPSは価格面ではConoHa VPSよりも若干安くなっていますが、これらのサービスは管理画面が古くてあまり初心者向けではないため、慣れていない方にはとっつきにくい部分があると思います。それに安いといってもごくわずかな違いなので、柔軟性や使いやすさで選ぶならConoHa VPSと、インターネット黎明期からレンタルサーバーとして名を馳せ、長い実績を持つさくらのVPSは幅広い層の方に安心して利用できる信頼のブランドですね。
関連記事
-
VPSにおすすめのOSは?
VPSでサーバー構築をすると決めたら、次はもう一段掘り下げて、 どのOSを使うべきか? スペックはどのくらい必要か? どのVPSサービスを使うか? を検討することになると思います。 今回は「どのOSを ...
続きを見る
-
WindowsにSSH (OpenSSH)をインストールする方法
VPSをはじめリモートにあるサーバーを遠隔で操作するにはssh(エス・エス・エイチ)を使います。 MacやLinuxには最初から入っているsshですが、Windowsは最近のバージョンにしか入っていな ...
続きを見る
-
VPSでCentOSをインストールしたらはじめにやっておきたいこと
VPSのインストールが完了したら、Webサーバーのインストール、データベースのインストールといろいろとやるべきことはあると思いますが、その前に最低限のセキュリティとこれから使うVPSを使いやすくするた ...
続きを見る