WordPressやSymfonyのTipsを中心にアニメや日常の出来事について語ります。
メニュー

【Pritunl】CentOS7でVPNサーバーを構築する

この記事は約5分11秒で読めます

Pritunl データベースセットアップ
ゆっきー
ども、カフェブロガーの悠木です。 お気に入りのカフェはドトールコーヒーです。 14時からの限定スイーツ「シューシャポー」が大好きです。

私はよくカフェでブログ書いたり遊んだりしてます。
ただ、公共のネットワークを利用するのって何かと不安ですよね。

VPNで接続できればセキュリティ的にも良いし、IPアドレスも固定化できるので何かと便利です。

さくらのVPSもせっかく借りただけで使われていないのでPritunlを使ってVPNサーバー環境を構築します。
Pritunlにした理由はデザインが良かった(導入が簡単そうだった)からです。

Pritunlとは

Pritunlとは簡単にVPNサーバーを構築して、ブラウザ上から管理できるオープンソースソフトウェアです。

対応OSは次の通りです。

Arch Linux/CentOS 7/Debian Wheezy/Debian Jessie/Ubuntu Precise/Ubuntu Trusty/Ubuntu Vivid/Ubuntu Wily

今回はCentOS 7にインストールします。

Mac OS XとWindows用のクライアントソフトも用意されているので接続も簡単です。
プロフィールファイルをインポートして接続するだけ。

環境

Server: CentOS 7.1.1503
Pritunl: 1.9.803.37
MongDB: 2.6.11
Port: 9700/tcp (ブラウザ管理用)
Port: 17281/udp (VPN用、任意)

Client: Mac OS X EI Capitan 10.11.1

CentOS 7にPritunlをインストール

インストール方法はPritunl公式サイトにインストールコマンドが記載されているのでそのまま使用します。

Pritunlインストール

CentOS7にPritunlをインストールします。
その他OSのインストール方法は公式ページに記載があります。

CentOS7の場合は次のようにPritunlをインストールしました。

特に問題なくインストールできました。

9700ポートの開放

Pritunlの管理画面は9700番のポートを使用しています。
ブラウザから9700ポートにアクセスするためにポートを開放します。

Pritunlにブラウザからアクセスする

https://example.com:9700

上記のように9700ポートにアクセスします。

Pritunlデータベース設定

Pritunl データベースセットアップ

初期値として次の値が設定されています。
mongodb://localhost:27017/pritunl

特に変更せずに「Save」して次に進みます。
27017ポートは内部で使用するだけなのでポート開放は必要ないです。

Pritunlにログイン

Pritunl ログイン

データベースのセットアップが完了するとログイン画面が表示されます。

Pritunlの初期パスワードは次の通りです。

  • ID: pritunl
  • PW: pritunl

Pritunl初期セットアップ

Pritunl 初期セットアップ

ログインするとPritunlの初期設定画面が表示されます。
後からでもセットアップもできますが、usernameとpasswordは入れておくと良いです。

上部メニューのSettingsからいつでも変更可能です。

Pritunl ユーザー一覧

組織を追加(Add Organization)

Pritunl 組織(グループ)の追加

Add Organizationから組織(グループ)を追加します。
* 今回は「example」にしました。

ユーザーを作成(Add User)

Pritunl ユーザーの追加

Add Userからユーザーを追加します。
* 今回は「test」にしました。

Pritunl ユーザーと組織の追加完了

組織とユーザーの登録が完了しました。続いてサーバーを追加します。

VPNサーバーを追加(Add Server)

Pritunl VPNサーバー一覧

上部メニューのServersを選択します。

Pritunl VPNサーバーの追加(簡易)

Add ServerからVPNサーバーを追加します。

Name: example-vpn(任意)
Port: 17281(任意)
Protocol: udp

VPNサーバーの追加(詳細)

Simple/Advancedで簡易/詳細の表示切替できます。

Pritunl VPNサーバーの追加(詳細)

特に変更せずデフォルト設定のままです。

Pritunl VPNサーバーの追加完了

VPNサーバーを追加しました。

サーバーと組織の関連付け

Pritunl VPNサーバーを組織の関連付け

Attach Organizationから「example-vpn」と「example」を関連付けます。

Pritunl VPNサーバーを組織の関連付け完了

サーバーと組織の関連付けまで設定すると「Start Server」からVPNサーバーを起動できるようになります。

VPNサーバーを起動

Pritunl VPNサーバーを起動

Start ServerからVPNサーバーを起動します。

VPNで使用するポート開放

VPNサーバーの追加で設定したポートを開放します。udpになっているので注意。

IPフォワードを有効

/etc/sysctl.confに次の行を追記してVPN経由のインターネットアクセスを許可します。

サーバーを再起動して設定を反映します。

以上でPritunlのサーバー側の設定は完了です。
続いてクライアント側(Mac)の VPN接続設定を行います。

Pritunlクライアント設定

Pritunlクライアントソフトをダウンロード

Pritunl VPNクライアントのダウンロード

Pritunl公式サイトからクライアントソフトをダウンロードします。

Pritunlクライアントソフトをインストール

Pritunl公式サイトからダウンロードしたクライアントソフトをインストールします。
特に選択する項目はなかったので詳細は割愛します。

ユーザーのプロフィールファイルをダウンロード

Pritunl プロフィールファイルのダウンロード

ユーザーのプロフィールファイル(接続情報)をダウンロードします。

ダウンロードされたtest.tarを解凍するとexample_test_example-vpn.ovpnファイルがあります。

Pritunl起動

Pritunl VPNクライアントの起動

Pritunlを起動します。

プロフィールファイルをインポート

Pritunl VPNクライアントにプロフィールファイルをインポート

Import Profileからプロフィールファイルを読み込みます。

VPN接続する

Pritunl VPNクライアントからVPNサーバーに接続

三本線の設定アイコンから「Connect」します。

Pritunl VPNクライアントからVPNサーバーに接続成功

ONLINE FORに接続秒数が表示されるようになれば接続成功です。

IPチェック

IPアドレスをチェックしてVPNサーバーのIPに変更されていればokです。

IPチェックサイト

使ってみた感想と問題

回線速度が多少遅くなるかな〜と不安でしたが特に違和感なく使えました。
問題としてはアクセスできないサイトがあります。

例えば、ChromeでGoogleにアクセスしようとするとERR_CONNECTION_CLOSEDエラーが発生します。

Pritunl Chrome Googleでエラー発生

つまり、グーグル検索できなくて結構致命的です。yahoo検索はなぜか上手くいきます。
ブラウザキャッシュなど削除したり拡張機能を全部無効にしましたが改善されませんでした。

FirefoxからGoogleにアクセスは行けました。
ただ、Firefoxでもウィキペディアを見ようとすると同じようなエラーが出ました。

Pritunl Firefoxでエラー発生

この問題が解決できないとVPNはまだ使えないですね…
Firefoxのエラー報告を見るところTLSエラーらしいですが、今のところ解決方法はよくわからないですね。

ブラウザの設定をいじって解決するのではなく、サーバーの設定でどうにか対応したいです。
原因と解決ができたらまた記事にしたいと思います。

諸問題ありますが、ひとまずVPNの環境構築ができました!

参考記事

以上、Pritunl|CentOS7でVPNサーバーを構築するでした。

コメントをお待ちしております

PR

カテゴリー