LoginSignup
7

More than 5 years have passed since last update.

【無料】EC2にOpenVPNサーバを立てる【GUI設定】

Last updated at Posted at 2018-08-05

目的

VPCパブリックサブネット内にVPNサーバを立てて、プライベートサブネット内インスタンスにアクセスする

  • VPN設定をブラウザでメンテナンスできる
  • できるだけ安く(最初は無料で)
  • 手っ取り早く
  • 法人利用

できるようにする
AWS MarketPlace で、BYOL(ライセンス持ち込み)になっているものを探す→2つあった(自分調べ)

製品名 ライセンス形態 メモ
Sophos UTM 30日間無料 個人利用ならこちらをオヌヌメ
OpenVPN Access Server 2接続まで無料 GUI無しならオープンソース

いずれもクライアントからは、OpenVPNClientで接続可能。大抵のOSで使える(スマホも含め)
SophosUTMは非常に多機能なので、個人利用なら超オヌヌメであるが
今回は、OpenVPN Access Serverを使ってみる。
VPNサーバを立てて、とりあえずユーザがアクセスできれば良い。とする。

作る

公式マニュアル
☝️ちょっと古い。。。

EC2インスタンス作成

AWS MarketPlaceでBYOL版を購入。と言ってもサービス利用料は無料
利用するAMIは、AMIのパブリックイメージで下記の文字列で検索

OpenVPN Access Server 2.5.0-fe8020db-5343-4c43-9e65-5ed4a825c931-ami-548e4429.4

で検索して出てきたAMIを選択する(2017/7/31現在)

リージョン AMI ID
ap-northeast-1 (東京) ami-bf5203d9
ap-us-west-2(オレゴン) ami-ffd74b87

インスタンスタイプ : t2.micro
置き場 : VPCパブリックサブネット
セキュリティグループ :
sg.png

ポート メモ
SSH(22) 絞っておく
943 絞っておく
HTTPS(443) どこからもOK

検証用として、プライベートネットワークのみでアクセスできるEC2インスタンスを準備しておく

上記AMIを使って、EC2インスタンスを起動する。

OpenVPN初期設定

EC2インスタンスが起動したら、SSHで接続する。
ユーザIDは openvpnas
接続するとOpenVPNのセットアップウィザードが流れる。(コンソール入力待ちの場合、下記コマンドで実行する)

sudo ovpn-init --ec2

いろいろ聞かれるので、下記を参考に答える

Detected an existing OpenVPN-AS configuration.
Continuing will delete this configuration and restart from scratch.
Please enter 'DELETE' to delete existing configuration: ''DELETE''
(略)
Please enter 'yes' to indicate your agreement [no]: 

利用規約に同意? 👉 yes

Will this be the primary Access Server node?
(enter 'no' to configure as a backup or standby node)
> Press ENTER for default [yes]:

これがプライマリアクセスサーバーノードになりますか?
単一サーバとして稼働するので👉 yes

Please specify the network interface and IP address to be
used by the Admin Web UI:
(1) all interfaces: 0.0.0.0
(2) eth0: 172.16.0.6
Please enter the option number from the list above (1-2).
> Press Enter for default [2]: 2

Admin Web UIにはどこから入れるの?
→ ローカルのみにしておくので 👉
(どちらにしても、EC2インスタンス側ではプライベートIPに変換されアクセスされる感じなので意味ないかも)

Please specify the port number for the Admin Web UI.
> Press ENTER for default [943]:

Admin Web UIのポートは? 👉 デフォルトの943でOK

Please specify the TCP port number for the OpenVPN Daemon
> Press ENTER for default [443]:

クライアントがVPNサーバーに接続するために使用するポートは? 👉 デフォルト443

Should client traffic be routed by default through the VPN?
> Press ENTER for default [no]:
Should client DNS traffic be routed by default through the VPN?
> Press ENTER for default [no]:

すべての通信をVPN経由にするならyes。最小限だけでよいならno 👉 とりあえずnoにする
DNSをVPN経由にするならyes👉 とりあえずnoにする

Use local authentication via internal DB?
> Press ENTER for default [yes]:

内部DB経由のローカル認証を使用しますか? 👉 DBサーバを別立てしないので yes

Should private subnets be accessible to clients by default?
> Press ENTER for EC2 default [yes]:

デフォルトでプライベートサブネットにクライアントからアクセスできるようにする必要がありますか? 👉 とりあえずYES

Do you wish to login to the Admin UI as "openvpn"?
> Press ENTER for default [yes]: no

Admin WEB UIの管理者名は "openvpn"でよいか? 👉 no

> Specify the username for an existing user or for the new user account:

管理アカウント名を入れろ 👉 hogeadmin 適当なアカウント名を入れる
パスワードを作成する

> Please specify your OpenVPN-AS license key (or leave blank to specify later):

ライセンスキーを持っているんなら入れろ 👉 持っていないのでEnter

DNS設定

Route53か、お使いのDNSサーバで、設定したドメイン(例 hoge.hoge.com)の名前解決設定しておく。

Admin Web UIで設定

https:// サーバIP /admin
スクリーンショット 2018-07-16 15.25.20.png
先程作った管理者ID/パスワードでログイン。

ドメイン名の設定

IPが変わってしまうと、クライアント設定も修正しないといけないので、ドメイン名を設定するのです。

Configration -> Network Settings -> Hostname or IPAddress : hoge.hoge.com
スクリーンショット 2018-07-16 15.28.41.png

管理ページへのログインを限定する

誰でも管理者ログインページは、ポート943のみで表示できることとする。

Configuration-> Network Settings
VPN Server > Admin Web Server OFFにする
ページ最下部の"Save Settings"を押下する
(ポート443でログインしていと、即切断されるので https://ドメイン名:943/admin で再度ログインする)

SSL証明書の設定

(べつに無くても問題ないが)
Let's Encriptで作った証明書を設定する
こちらを参考に。。
Configration -> Web Server に各ファイルをアップロードする
ファイル名はそれぞれ

CA Bandle Certificate Private Key
fullchain1.pem cert1.pem privkey1.pem

ユーザの作成

User Management -> User Permissions : ユーザを作る
スクリーンショット 2018-07-16 15.33.02.png
Update Running Serverしてからパスワード設定でUpdate
スクリーンショット 2018-07-16 15.32.00.png

クライアントから繋いでみる

iPhoneで接続してみます。
1.Safariで上記で作ったOpenVPNサイトを開きます
1.login.jpeg
2.ログイン後メニューがでます。
2..jpeg
OpenVPN Connect for ●● は、OpenVPNクライアントアプリケーションのリンクです
アプリを入れていない場合は、ここからAppStoreを開いてダウンロードしておきます
アプリがインストールされている場合は、最下部のYourself から接続ファイルをダウンロードします。
3.接続ファイルのダウンロード
4..jpeg
OpenVPNで開く リンクをクリックします→OpenVPNアプリが起動し、接続ファイルが設定されます。
6..jpeg
ここで、緑➕アイコンを押すことで、iOSのプロファイル等が登録されます
7..jpeg
4.登録完了
8..jpeg

以後は、パスワードを入れて最下部のスイッチをONにするとVPN接続が開始されます

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7