プロファイルは移行しますが、ユーザー一覧は取り残されます。Access Server と Community Edition の間で切り替えるチームは、カットオーバーから一時間でその差に直面します。最初のクライアントが認証した後、グループポリシーも、ユーザーごとのルートも、セルフサービスのパスワードリセットもないからです。両製品は同じプロトコルを話し、同じクライアントを受け入れるので、計画中はこの差が見えません。実際に選んでいるのは管理レイヤーと、それを担う人々です。

この判断は機能表ではなく棚卸しの問いとして扱ってください。誰がユーザーを作り、誰が証明書を取り消し、誰が 02:00 の呼び出しに応じるのかを尋ねてください。

.ovpn ファイルが設定を運ばない理由

.ovpn プロファイルは、一つのクライアントと一つのサーバーの関係を記述します。リモートホスト、プロトコル、CA、クライアント証明書と鍵、そしてインラインの tls-crypt 素材です。そのファイルを新しい構成に置いてもクライアントはハンドシェイクを完了するので、移行は終わったように見えます。しかし中には、ユーザー、グループ、静的ルート、そして誰に接続を許すかを決めたポリシーが一切書かれていません。それらの記録はサーバー自身のストレージにあり、両製品は異なる形で保存します。

Community Edition では、相当するものは自分で保持するファイルです。client-config-dir のエントリに ifconfig-push や iroute といったクライアント単位のオプションを置き、失効用の CRL と tls-crypt 鍵を管理します。Access Server は同じ概念を自前のデータベースに持ち、Web コンソールと sacli コマンドラインツールで公開します。概念は一対一で対応しますが、成果物はまったく移りません。

プロファイルは、変わるまで誰も気づかない挙動も密かに持ち込みます。redirect-gateway def1 を持つクライアントはすべての閲覧をサーバー経由にします。その行のない構成へ移すと、インターネットが壊れたという苦情になります。CA の不一致や誤った remote-cert-tls 設定は大きな音を立てて失敗しますが、これは良い結果です。tls-crypt 鍵の欠落は無言のタイムアウトとして失敗し、これは良い結果ではありません。

管理レイヤーが担うもの

プロトコルでないものを数えてください。アカウント作成、パスワードリセット、グループ割り当て、MFA 登録、接続権限、そして誰がいつ接続したかに答える監査証跡です。Community Edition はどれも直接は提供しません。認証バックエンドを選び、プラグインや auth-user-pass-verify で PAM、LDAP、RADIUS を接続し、残りは自分で維持します。Access Server はユーザーポータル、管理コンソール、一般的な ID プロバイダーとの連携を同梱します。どちらの構成も既定で安全とは限りません。ポリシーは依然としてネットワークを知る誰かが書く必要があります。

権限は最も鋭い運用上の違いです。Access Server は同時接続数でライセンスされ、その数をソフトウェアで強制します。Community Edition では全体の上限は max-clients の一行ですが、ユーザー単位やグループ単位のものはより多くの client-config-dir 作業と独自の強制を意味します。その保守を望まないチームは、商用製品に払うとき、まさにそれを買っています。

ライセンスとサポート:誰も予算に入れない項目

Community Edition は無料でオープンソースです。Access Server は商用で、その無料枠は歴史的に少数の同時接続をカバーし、それを超えると有償ライセンスです。古いフォーラム回答に書かれた数字は今では古いので、プロジェクトの費用を見積もる前にベンダーの現行条件を確認してください。正直な比較は、コミュニティ側でユーザー管理、MFA、監視を構築する時間を、商用側のライセンス行に加えます。

サポートの所有も同じ分担に従います。Community Edition では、あらゆる変わったクライアントとカーネル更新のエスカレーション経路はあなた自身です。Access Server では電話できるベンダーがおり、変更ウィンドウに合うかどうかに関わらずそのリリース周期を引き継ぎます。

カットオーバー前に実行する確認

どちらの方向に切り替える前でも、稼働中のサーバーが実際に何を保持しているかを棚卸ししてください。Access Server 側ではユーザー一覧とグループ割り当てをエクスポートし、どのアカウントが MFA に依存しているかを記録します。Community Edition 側では発行済み証明書、CRL、client-config-dir 配下のすべてのファイルを列挙します。二つの一覧を行ごとに比較してください。その差が移行作業そのものです。

古いサービスが動いている間に代表的なクライアントを試してください。openvpn --config client.ovpn --verb 4 を前面で実行するとハンドシェイク、プッシュされたルート、DNS オプションが出力され、openssl x509 -in client.crt -noout -subject -enddate はクライアントが実際に提示する証明書を示します。接続できても内部ホストに届かないクライアントは、認証の失敗ではなくルートや iroute の欠落を抱えています。

置き換えが成功テストだけでなく拒否アクセスのテストも通過するまで、古い復旧経路を生かしておきます。最終的な対応表を一ページに書きます。各要件、今日それを満たす成果物、後でそれを満たす成果物です。

関連記事