ソフトウェアVPN試してみます

みなさま、こんにちは。
私は Oracle Cloud Infrastructure 2021 Certified Architect Professionalを取得しました!※Cloud 3冠達成!や、Oracle Cloudをはじめよう! を執筆しています。

さて、Oracle Cloud使っていますか?

これから2回で、ソフトウェアVPNである

  • OpenVPN
  • WireGuard

を試してみます!

1回目である今回は「OpenVPN」を使ってのVPN接続を試してみます。

OpenVPNはソフトウェアVPNのうちの1つで、WindowsやLinuxだけではなくiOSやAndroidでも利用することができます。
また、OCIのマーケットプレイスでも提供されており、簡単に導入することが可能
となっています。

参考:https://www.openvpn.jp/introduction/
https://openvpn.net/oracle-quick-start-guide/

今回の執筆者はOracle CloudHinemosに精通しており、LPIC-3 304 も取得しています
そんな彼女の新連載、是非ご覧ください!

今回の目標です

 目標

クライアントマシン(Windows10)からVPN経由でOCI上のプライベートサブネット内インスタンスへSSH接続できること

 前提

  • 構成は以下の通りとします。
  • OCI上のVCN、パブリックサブネット、プライベートサブネット及びプライベートサブネット内のインスタンスは作成済みとします。
  • OCI上のプライベートサブネット内インスタンスは、セキュリティリストもしくはネットワーク・セキュリティ・グループを設定し、パブリックサブネット内のIPアドレスからping、SSHが可能の状態となっています。

OpenVPN Serverの作成と設定をします

OCIの管理コンソールから、OpenVPNサーバーを作成します

OCI管理コンソールにログインして、マーケットプレイスのページに移ります。

OpenVPNと検索して、、、出てきました。

出てきたアイコンをクリックすると、次の画像のページが表示されます。

「スタックの起動」からOpenVPNサーバーが作成できるみたいです。早速やってみましょう。
バージョンとサーバーを作成するコンパートメントを選択し、「スタックの起動」をクリック。

カスタム・プロバイダは今回使用しないのでチェック無しです。
名前、説明は必要に応じて変更し、「次」をクリックします。

この画面の名前は、スタックの名前になります。
サーバーデプロイ後もスタックは残ったままになっています。

ふむふむ、リソースマネージャからサーバーがデプロイされるみたいだね

 

サーバー名を入力し、シェイプを選択します。
「Administrator Username」と「Administrator Password」はOpenVPNのWebコンソールにログインするためのユーザーです。

オプションの項目は任意で入力です。

VCNは新しく作成することも可能のようです。
今回は予め用意してあるVCNを選択します。

サーバーが配置されるコンパートメントを選択します。

サーバー自体にログインしたい場合は、Public SSH Keyの値を入力します。

オプションってことはもしかして、サーバーにログインしなくてもVPN接続できるようになっちゃうの・・・?

次の画面で入力した値を確認し、「作成」をクリックします。

ジョブ実行画面が表示されます。

しばらく待ち、サーバーの作成が終了するとアイコンが「成功」に変わります。

コンソールメニューのコンピュートから、作成時に選択したコンパートメントに移動するとVPNサーバーが作成されていました!

あれ?ネットワーク・セキュリティ・グループが設定されてる

ネットワーク・セキュリティ・グループも自動で作成されるようです。
ルールを見てみると、必要なポートがあらかじめ開放されています。

へぇ~、ポート開放まで自動でやってくれるんだね

OpenVPNの管理コンソールにログインします

それでは、OpenVPNの管理コンソールに接続してみましょう。
「https://パブリックIPアドレス/admin」に接続します。

UsernameとPasswordは、サーバー作成時に入力したものを入力します。

「Sign In」をクリックし、次の画面でライセンスに同意します。

Status画面が表示されました。

各設定項目を確認してみると

も、もしかして、必要な値が設定されている・・・?

そう、あらかじめNetwork SettingやVPN Settingには値が入った状態になっています。

実際の設定画面は省略するよ。サーバーを作って確かめてみてね!

ポートやクライアントに割り当てるプライベートIPアドレスは変更可能ですが、今はこのまま進めます。

クライアント用のユーザーを作成します。
「User Permissions」から、ユーザー名を入力し、「Save Settings」をクリックします。

ユーザー作成後、鉛筆のマークをクリックしてユーザー情報を変更します。
パスワードを設定し「Save Settings」をクリックします。
そのほかの項目は任意で変更してください。

その後、画面上部に表示される「Update Running Server」をクリックします。

今回は、OCIのプライベートサブネット内にあるインスタンスへ直接SSHしたいので、あと1か所変更します。
「VPN Setting」―「Routing」の赤枠の個所に、プライベートサブネットのIPを追加します。
追加したら、画面下部の「VPN Setting」をクリックします。

「Update Running Server」をクリックします。

クライアント用アプリをインストールして接続してみます。

「https://パブリックIPアドレス/」に接続します。

先ほど作成したクライアント用のユーザー名とパスワードを入力し、「Sign In」をクリックします。

一番上のWindowsマークをクリックすると、インストーラ―がダウンロードできます。

OpenVPNクライアントアプリの起動とサーバー接続

インストールが終了したら、「OpenVPN Connect」アプリを起動します。

初回起動時はUse And Retentionの同意が必要だよ

接続できるかやってみましょう。

左のボタンをクリックすると、Enter credentialsが表示されるので、ユーザー名とパスワードを入力し「OK」をクリックします。

つながりました!

えっ、これで終わり?簡単!

つながったところで、まずはクライアントのIPアドレスを確認してみましょう。

IPアドレスが変わっています。
クライアントに割り当てられるIPアドレスはOpenVPNの管理コンソールから変更することができます。

さて、ライベートサブネット内のインスタンスへpingしてみます。

届きました。

次はSSHしてみます。

できました!

今回は最初からopcユーザーでログインできたね!

何度も同じ間違いしないもん笑

最後に

今回はOCIのマーケットプレイスからサーバーをデプロイし、OpenVPNの接続を試してみました。
ほとんど何も設定することなく、接続までできたことが分かったと思います。
とても簡単なので、ぜひ皆様も試してみてください。

次回はWire Guardを使ってVPN接続を試してみます。

Oracle Cloudをご検討の際は当社までお問い合わせください

投稿者プロフィール

技術チーム
技術チーム
DBひとりでできるもんを盛り上げるべく、技術チームが立ち上がり早6年。ひとりでできるもんと言いつつ、技術者が読んでプッとなるような、極めてピンポイントでマニアックな技術ネタを執筆しています!