Oracle CloudにOpenVPNで接続できる環境を作る

2021/10/21

Mac OracleCloud Windows

t f B! P L

Oracle Cloudは個人利用なら無料で利用することができるので、

勉強がてら色々イジってます。


OCI上のVMがパブリックセグメントだけにあればVPNなんかいらないんだけど、

VMをプライベートセグメントに置いた場合、直接アクセスはできないので

パブリックセグメント上に何かしらの踏み台サーバを立てる必要がある。

このような運用でも特に不自由ないんだと思うけど、

VPNを使えばよりセキュアに利用することができるよね。

しかも「OpenVPN」という方法(実態はSSL-VPN)で、

専用のアプライアンスが用意されているので、ワンクリックでSSL-VPN環境が構築できるというスグレモノ。

個人利用では必要がないVPN環境だけど、せっかくなので構築してみた、というお話。


参考サイト

以下を参考にしてみた。


構成図と前提

ざっくり構成図。

この「OpenVPN Access Server」を立てます。

他のVMやVCNは既に設定済み。

Public⇔Privateは相互通信許可とする。



OpenVPN Access Server初期設定

さっそくサーバを立てよう。

こちらのリンクからOCIのMarketplaceに移動して、サーバのテンプレートをゲットする。


OCIのアカウントにサインイン。


「インスタンスの起動」をクリックする。


インスタンスの作成画面に移るので、VMインスタンスを作成する。

当たり前だけど、パブリックサブネットに配置。


インスタンスが作成されたあと、サーバにSSH接続する。

初期ユーザーは「openvpnas」。


初めてSSH接続すると、EULAが表示されるので「yes」を入力。


プライマリノードかを聞かれるので「yes」を入力。


管理WebUIに使われるNWインターフェイス、IPアドレスを指定。

(1)のallでも良いんだと思うけど、明示的に(2)を指定。


管理WebUIのポート番号、OpenVPNのポート番号などなど、いくつか聞かれるので全てデフォルト(何も入力せずにEnter)のままにする。

もちろんあとから設定変更可能。



設定が完了すると、管理者WebUIにアクセスするためのURLが表示される。

ここで表示されるIPアドレスはプライベートIPなので、グローバルIPに読み替えればOK。


管理者WebUIにログインするためのユーザー:openvpnの初期パスワードを設定するために以下のコマンドを実行する。

sudo su -
passwd openvpn

OCIのセキュリティリスト追加

OpenVPNでは以下のポート番号を使用するので、OCI側のセキュリティリストにルールを追加する必要がある。

  • 943/tcp
  • 443/tcp
  • 1194/udp


OCIのセキュリティリストの画面で上記のイングレスルールを追加する。

俺の場合は443/tcpは既にリストに有ったので、943/tcpと1194/udpだけを追加した。




管理WebUIにアクセスして初期設定

ブラウザから以下にアクセスする。

https://<OpenVPNのグローバルIP>:943/admin/

"openvpn"ユーザーでログインする。


EULAの画面が表示されるので「Agree」をクリックする。


画面左の「CONFIGURARION」→「Network Setting」をクリックし、

「Hostname or IP Address」をパブリックIPに変更する。


次に「VPN IP Network」に行き、「Dynamic IP Address Network」のアドレスを決める。

これはVPNクライアントに払い出すIPアドレスレンジを決めることになる。

自宅およびOCIのVCN以外のアドレスレンジを設定する。(どっちかに重複してたら変える)

続けて、「Routing」の項目にOCIが取りうるNWアドレスを入力。

俺の場合は172.16.0.0/24(Public)と172.16.1.0/24(Private)にした。


あと、「Should client Internet traffice be routed through the VPN?」の項目を「No」にすることで、

スプリットトンネル(インターネットはVPNを経由しない接続)になる。


次に「DNS Settings」の項目で「Have clients use specific DNS servers」を「Yes」にして、

「Primary DNS Server」にDNSサーバのアドレスを入力する。

ここではGoogle Public DNSの"8.8.8.8"にした。


設定が終わったらSaveして、「Update Running Server」をクリックする。


あと、VPNにログインするユーザーを作成する。

「New Username」に任意のユーザ名を入力し、「More Settings」でパスワード等を設定する。

俺の場合は「asus-user」にした。


クライアントWebUIの設定

設定完了後、もしくは以下のアドレスにアクセスして、先ほど作成したユーザーでログインする。

https://<OpenVPNのグローバルIP>:943/


お使いのクライアントOSに従ってクライアントソフトをダウンロードする。

ついでにプロファイルのファイルもダウンロードする。

基本的にこのプロファイルをインポートしてユーザー名とパスワードでログインする。


個人利用でのVPNはぶっちゃけ意味ないw

とりあえずVPN環境を構築してみたけども個人利用で実用性はって聞かれると正直微妙・・・w

VPNに繋がなくても、グローバルIPから直接アクセスすりゃいい話だし、

必要最低限のポートを開ければ問題なし。


ビジネスでVPNを使うのも今どきどうなの?って話なので、実用性は正直微妙なところ。


といいつつも、セキュリティ的にもそれなりに強固なものだし、

Linuxサーバを立ててイチからOpenVPN環境を作るとなると、結構大変な作業なので、

Oracle Cloudだと手軽にVPN環境を構築できるっていうのは非常に有用。


OpenVPNクライアントに対応したルータから接続すると

なんちゃってSite-To-SiteなVPN環境が作れるので思いの外便利かも。

ちなみに我が家のASUSルーターもOpenVPNクライアントがあるのだが、

なぜかOCIのサーバに接続できなかった・・・。

本来の目的はL2レイヤーでのVPN接続なので、OpenVPNで実現できないかを

もう少し調べて見る必要があるかな。

また続きを書きます。

検索

Blog Archive

Popular Posts

About Me

自分の写真
性別:男
年齢:ついに40over
趣味:Snowboard、パソコン、iPhone、子育て

仕事:ユー子の社内SEとしてサーバ、NW等のインフラ全般をやってます

日々生活していく中で思ったことなどをつらつらと書いていきます。

どうぞよろしく!

ブログランキング

ブログランキング・にほんブログ村へ

QooQ