OpenVPN AccessServerの設定をする

概要

OpenVPN AccessServerを設定してインターネット経由でVPN接続できるようにします。

背景

RaspberryPiにOpenVPN AccessServerを入れる続きです。
ここからはOpenVPN AccessServer自体の設定なのでRaspberryPi関係なく読めます。

やりかた

VPNユーザーの作成

まず、管理画面( https://<OpenVPN AccessServerのIP>:943/admin )にアクセスします。
信頼されない証明書のエラーが出ますが無視しましょう。

左のツリーから、[User Permissions]をクリックします。

VPNを利用するユーザーを新規に作成します。
[More Settings]をクリックします。

VPNを使うだけであれば凝った設定はいらないのでユーザー名とパスワードだけ設定します。
[New Username]と[Password]に好きな値を設定します。

ページ下部に[Save Settings]というボタンがあるので、それをクリックして保存します。

LAN内での動作確認

ネットワーク関係は問題が起きたときの切り分けが面倒なので、ユーザーが出来たらローカルネットワーク内でVPN接続できるか確認しましょう。

まず、OpenVPNクライアントをインストールします。

今回の検証ではAndroidを使うのでGoogle Playストアからアプリをインストールします。https://play.google.com/store/apps/details?id=net.openvpn.openvpn&hl=ja&gl=US

次に、ブラウザでOpenVPN AccessServer( https://<OpenVPN AccessServerのIP:>:943 )にアクセスします。
認証画面が表示されるので、作成したユーザー名とパスワードを入力します。

httpでアクセスした時にhttpsへリダイレクトしてくれるような気のきいた動作はしないので、繋がらない時はURLがあっているか確認しましょう。

[Yourself(user-locked profile)]をタップします。
ユーザーにあわせたovpnファイルがダウンロードされます。

OpenVPNアプリをインストールした状態で、ダウンロードされたovpnファイルをタップすると、インポート画面が表示されます。[OK]をタップします。

インポートするプロファイルの情報が表示されます。
内容に問題がなければ、アプリ右下にある[Connect]をタップします。

このプロファイルの[Server Hostname]は、管理画面の[CONFIGURATION]-[Network Settings]の値です。
デフォルトではAccessServerをインストールした時点のIPアドレスになっており、インストール後にホストのIPアドレスが変わっても自動では変更されません。もし、IPアドレスが一致していなければ管理画面から変更してきてください。

パスワード入力を求められます。設定したパスワードを入力し、[OK]をタップします。

認証が通ればVPN接続完了です。

インターネット経由でアクセスできるよう設定

LAN内で動作することが確認できたのでインターネット経由でVPN接続できるように拡張します。

プロバイダの固定IPオプションを契約するかDDNSを使ってホスト名とグローバルIPアドレスが紐付くようにします。

[CONFIGURATION]-[Network Settings]で[Hostname or IP Address]に固定したグローバルIPアドレスかDDNSで動的IPに紐付けたホスト名を設定します。

設定を保存したら、VPN利用デバイスでLAN内からOpenVPN AccessServerにアクセスしovpnファイルを取得し直します。

OpenVPNでは、デフォルトではTCPの443とUDPの1194を使ってトンネルを張ります。
お使いのルーターで、このポートへのアクセスをOpenVPN AccessServerのIPアドレスへ転送するように設定します。

ポートは変えるべきか論争がありますがフルスキャンされると結局どのポートでOpenVPNを動かしているか見つかるので私はデフォルトでいいかなと思っています。
ただし、別ポートにしておくと攻撃が明らかに減るので、気になるなら変えましょう。

動作確認

別の回線(スマートフォンのテザリングとか)を使ってOpenVPNクライアントから接続できるか確認します。
LAN内と同様に接続に成功すれば構築完了です。

おまけ

速度

RaspberryPi 3Bでの速度はこんな感じです。

OpenVPN AccessServerでVPN接続
直接接続

前まで使っていたSoftEtherVPNはこんな感じです。

SoftEtherVPNでVPN接続

RaspberryPi3で動かすとめっちゃ遅いと書かれていたのでどんなものかと思いましたが、個人使用だと十分でした。
RaspberryPi3の再起動、サービスの立ち上がりなどは1~2分かかっていたので、そのあたりを指して遅いと書かれていたのかもしれませんね。

An error occurred while rendering the response

触っていてエラーが出ることがありましたがサービスの再起動で直りました。

sudo systemctl restart openvpnas

コメント