Skip to content

Instantly share code, notes, and snippets.

@imksoo
Created May 3, 2019 07:31
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save imksoo/4a768345443242e829d7b040047bd65f to your computer and use it in GitHub Desktop.
Save imksoo/4a768345443242e829d7b040047bd65f to your computer and use it in GitHub Desktop.
FreeBSD 12にSoftEtherをインストールした

Hyper-V上の仮想マシンにFreeBSDをインストールして、SoftEtherマシンにしたメモ。

Hyper-Vの仮想マシン作成

FreeBSD 11あたりからGeneration 2な仮想マシンでもFreeBSDをインストール可能になっている。

注意点:

  • SoftEtherでリモートアクセス機能(L2TPやSSTP、OpenVPNなどのクライアントからの接続待受け)をするためには、仮想NICを2個以上つなげておくこと。
  • セキュアブートが有効なままだと、FreeBSDのISOイメージで起動しないので、無効化しておく。
  • デフォルトのブート順だと、DVDドライブ→PXEBOOT→仮想HDDの順番になっていて、PXEBOOTで延々と待つのでブート順番をDVD→HDDに変更しておく。

FreeBSDのインストール

ISOイメージでブートして、インストールウィザードに従えば良い。 その昔と違ってZFSでもフォーマットできるみたいだけど、今回はUEFSで。 メインメモリ1GB、仮想HDD 16GBな仮想マシンで、Autoパーティション設定だと、

  • UEFI Boot領域 : 200MB
  • root領域 : 15GB
  • swap領域 : 800MB

と、まぁ、妥当な感じに切られた。

portsやsrcは必要になったら入れればいいので、インストールウィザードでは入れなくて良い。 あとは適宜、一般ユーザを作って趣味に応じてwheelグループに所属させておくとか。

FreeBSDの初期設定

その昔だと、ここでportsをアップデート、、、とするところだけど、今どきなのでバイナリパッケージを活用。

# pkg install sudo
# visudo
%wheel ALL=(ALL) ALL

SoftEtherのインストール

pkgで入れるだけで良い。

# pkg install softether
# sysrc softether_server_enable="yes"
# sysrc softether_bridge_enable="yes"
# reboot

SoftEtherの初期設定

ここはvpncmdで頑張るよりも、どこかのWindowsマシンにSoftEther管理ツールを入れて対話的にセットアップしたほうが圧倒的に楽。

Let's Encryptの利用

これもインストールはpkgで。

# pkg install py36-certbot

ApacheやNginxと同居させている場合は、いろいろ手順があるはずだが、今回は何も入れていないので、

# certbot-py36 certonly
あとはウィザードに従う。

SoftEtherのサーバ証明書として、Let's Encryptで入手した証明書をセットする

この辺は適宜cronで回しておいたほうが良いやつ。

vpncmd localhost:5555 /server /password:パスワード /CMD ServerCertSet /LOADCERT:/usr/local/etc/letsencrypt/live/ホスト名(FQDN)/fullchain.pem /LOADKEY:/usr/local/etc/letsencrypt/live/ホスト名(FQDN)/privkey.pem
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment