偏屈エンジニアブログ

老害エンジニアの技術メモ

Firezone(docker)の起動

firezoneという、VPN(中身はwireguard)制御するOSSのコンテナをローンチする。
作業としては面倒で、AWS/VPNエンドポイント利用した方が楽ではあります。
こちらのがコスト抑えられるのでお試しで構築してみました。
ドメインを必要とするのですが、IPで設定してもいけるのではないかと思います。
ドメインが必須となるので、事前にいずれかのドメインを取得しておく必要があります。

1)以下で作成したdocker環境にログインする
AmazonLinux2023にdockerを入れる - 偏屈エンジニアブログ
2)インスタンスのセキュリティグループに443ポート/tcpでmyIP、80と51820ポート/udpでフルオープンを追加
  51280側は、国内IPのみのマネージドプレフィックスに修正したい。
3)以下コマンド実行

bash <(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh) posthog-blocked
  1. E-mail聞かれるので適当なアドレスを入れる
  2. インストールパスを聞かれるので、デフォルトから変えるなら入力
  3. GUIのURLを聞かれるので、ドメインで適当なものを登録する。
    EIPつけないと面倒なのでEIP推奨。
  4. Let’s Encrypt で証明書作るかを聞かれるので、とりあえずYで回答。
    自前で組み込んだ方が安全
  5. FirezoneのFeedback要求のメールしてもいいか聞いてくるので
    回答してあげる。
  6. クラッシュ時のログ出すかを聞いてくるので回答。
    ディスクの肥大化いやならYで拒否する
  7. インストールが完了するとログインのパスワードが出るので控えてログインする
    ログイン画面

4)クライアントとなるスマホにwireguardのアプリをダウンロードする。
Installation - WireGuard

5)defaultのDNS設定をgoogleDNSに変更する(DNSは機能するやつならなんでもOK)

6)登録ユーザをクリックして、デバイスのAddを実行


7)QRコードが発生するので、スマホのクライアントプログラムを起動して
QRコードをスキャンで撮影
トンネル名を聞かれるので任意の名前を付ける
8)あとはクライアントのトグルをONにして、VPNを張ります。
cmanなどでIPを確認すると、AWSインスタンスのEIPになります。

ルーティングの制御などはおいおい入れるとして、比較的簡単にVPNの環境を構築できました。
お試しで、AWS環境にある資源をVPN越しに見たいニーズにはあってると思います。