macOSからもSSTPのVPNを使いたい(使わないといけない)場面に遭遇しますが、あまり情報がなかったためまとめ
作業環境はMacBook Air (2020,M1)でMonterey(12.2.1)、Homebrew導入済み、ネットワーク規制なし
iSSTPをインストール
ダウンロード
https://github.com/axot/isstp/releases/download/v1.4.1-rc1/iSstp.v1.4.1-rc1.zip
をダウンロードして展開してiSstp.appを/Applicationsに移動
バージョンが古いとM1に対応していないので接続できなくなります
以下のコマンドを実行する
iSSTPはバックグラウンドでsstp-clientを実行するので、検証用にHomebrewを使ってsstp-clientもインストールしておく
またpppdで接続を管理するので事前に空の設定ファイルを作る
iSSTPで利用するsstpcはアプリーケーションに内蔵されているが、Homebrewでインストールしたsstpc(/opt/homebrew/Cellar/sstp-client
を探すとあるかも)を利用するように設定することも可
brew install sstp-client
sudo touch /etc/ppp/options
iSSTPの設定
iSSTPのアプリケーションを起動してNew
で接続設定を作る
Name
は適当な接続設定名で
Server Address
にVPNサーバーのアドレスを入力
これはホスト名もしくはIPアドレスを直打ちする、VPNGateはIPアドレス直打ちじゃないと繋がらないことが多々ある、SoftEtherのVPN Azure使う場合ならVPNサーバーの設定に表示されるvpnazure.netのホスト名を入力
Username
とPassword
は設定したもしくは指定されたものを入力
そうしたらEdit
で以下のオプションを入力して保存する
VPNサーバーの証明書が自己証明書であるため警告を無視するオプション、ホスト名で接続するためのTLS拡張を有効化するオプションなどを指定する必要があった
--cert-warn --tls-ext noauth defaultroute usepeerdns
入力できたらSave
をクリックする
そうしないと次回起動時に初期状態になってる
Connect
を押すと接続されるが、1回目は失敗しやすいので2回目も試してみる、もしダメならVPNGateのIPアドレス・ユーザー名・パスワードの設定で作成して接続できるかを試す
またデバッグ用にsstp-clientを入れておいたため
sudo sstpc [接続するホスト名] --user "[ユーザー名]" --password "[パスワード]" --log-level 5 --log-stderr --cert-warn --tls-ext noauth usepeerdns defaultroute
でCUI上から接続できるかを試す、エラーが出てたらそれに基づいて対処する