本稿は ConoHa Advent Calendar 2022 16日目の記事です。
VPNネタかぶっちゃいましたが懲りずに自分の誕生日を押さえてあわよくば祝ってもらおうと思っている horiken1216 です。
去年すっぽかしたので今年はちゃんと書きます。
ときにクリスマスといえばVPNですよね?
ですよね?
です。
というわけでConoHaにVPNルーターを立てていきましょう。
VPNとは
「VPN とは」でぐぐってください。
なにをするの?
ここでは下図のような構成で仮想ネットワークを作り、リモート端末とかクラウドとか家とか家とか家とかを仮想拠点経由でつないでおらがVPNを構築、世界中をおらがローカルエリアにしちまいましょうということをします。
※ただこの方法で職場のPCとか参加させて人んちのネットワークに穴開けるのはあまりお勧めしません。一見便利でもセキュリティインシデントがあった場合には自分の首を絞めることになりますし、自分のクビだけで済めばまだいい方でしょう。
※VPN=IP偽装みたいに思ってる方もいるかもしれませんが、そんなのはオマケ機能にすぎません。リモート端末と自宅、データセンター、クラウドを仮想的に繋いでしまえばもっと ヤバ もとい便利な使い方がたくさんあります。
Linuxとか入れてOSSの組み合わせで作るの?
今回は OPNsense というソフトウェアルーターを使っていきます。簡単です。黒い画面(ほとんど)見なくてOKです。ただインストールまでにちょっとコツが要るのでその点を説明していきます。
でもConoHaにVPNルーターのテンプレとかないし
実はあるんだわ、実は。イメージアップロードしてマウントしてブートして云々なんて面倒くさい奴は今回は一切なし。早い安いうまい!
というわけで構築していきます。
VMスペック
1G のやつで十分。多分 512MB のやつでも大丈夫でしょう。
OS
ここがミソで FreeBSD を選ぶ。ZFS を選んでおくと手間がありません。
OPNsense は FreeBSD ベースの m0n0wall からフォークしたソフトウェアルーターで、FreeBSD からコマンド一発(数発)で OPNsense 化できます。
オプション
適当にやって。
接続許可ポートはとりあえず web だけ開けておけばよいでしょう。
あとで OPNsense 先生自体の設定が終わったらどうせ全開放します。
FreeBSD を OPNsense 化するんだわ
# pkg install ca_root_nss
# fetch https://raw.githubusercontent.com/opnsense/update/master/src/bootstrap/opnsense-bootstrap.sh.in
# sh ./opnsense-bootstrap.sh.in -r 22.7
はい終わり。バージョンの指定とかは適宜確認してください。
リブートしたら君のVMはもう OPNsense だ!
初期設定
ログインするとこんなCUIになります。
ここで設定していくのは1) Assign interfaces
と2) Set interface IP address
の2項目。
Assign interfaces
ConoHa側でVMに複数インターフェースを接続している場合は、MACアドレスを確認して WAN 側にグローバルのインターフェースをアサインします。ここで注意が必要なのが、もし複数インターフェースが見えていても、ここでは LAN 側にインターフェースをアサインしてはいけない。 WAN だけを設定するのがポイントになります。 LAN 側は空白で。
ConoHa側のプライベートセグメントにも出ていきたい場合は、全部終わってから足を生やしましょう。
Set interface IP address
WAN 側インターフェースのIPアドレスは DHCP 任せでOK。
ここまで設定が終われば HTTPS でログイン画面にアクセスできるはずです。
(WANから設定画面にログインなんて怖いって?その感覚は正しい。)
ロイグインできない場合は LAN 側インターフェースをアサインしてしまっていないか確認しましょう。
ここまでで ConoHa への OPNsense のインストールができました。
さーて、後編の内容は?
- 管理者用のVPNを設定して、管理画面への接続許可をVPN側に絞る
- VPNクライアントアカウント/証明書の払い出しとクライアント設定、クライアント間相互通信の許可
- あっーーー!!会社のネットワークに穴開けたらマルウェアを持ち込んでしまって路頭に迷う羽目に
の、3本です。
来年もまた見てくださいねー!
ウフフフフフ