オープンソースのVPNソフトウェア「SoftEther VPN」の接続方式の一つである、拠点間接続VPN(IPルーティング)について、設定方法を紹介します。
これにより、複数オフィス内の別セグメントのネットワークでも接続できるようになります。
・サーバー環境:Windows 11、SoftEther VPN Server 4.43
・ブリッジ環境:Windows 11、SoftEther VPN Server 4.43(Bridgeでもよい)
- ネットワーク構成を整理し、機器を接続する
- ブリッジ接続の記事を参考に、ブリッジ接続の設定を一通り行う
- ブリッジ用PCを含むブリッジ拠点のネットワークセグメントを変更する
- サーバー用PCに仮想HUBと仮想L3SWの設定を追加する
- ブリッジ用PCのカスケード接続の設定を変更する
- サーバー・ブリッジ用PCにルート情報を追加する
- 両拠点から通信を確認する
- おわりに
ネットワーク構成を整理し、機器を接続する
この例では、以下のようなネットワーク構成で機器を接続します。2拠点は別ネットワークセグメントで相互に通信できるようにします。
ちなみに、SoftEtherの設定中や運用開始後のネットワークトラブル発生に備え、AnyDeskのようなインターネット経由で遠隔操作ができるリモート接続ツールを両拠点に導入しておくと安心です。AnyDeskについては以前の記事で紹介していますので、よろしければ参考にしてください。
ブリッジ接続の記事を参考に、ブリッジ接続の設定を一通り行う
基本的な設定はブリッジ接続と同じですので、ここでその紹介記事を参考に、一通り設定を行います。
その上で、次の工程からIPルーティング用の設定を進めていきます。
ブリッジ用PCを含むブリッジ拠点のネットワークセグメントを変更する
ブリッジ拠点のLANをサーバー拠点とは別のネットワークセグメントのIPアドレスに変更します。画面はブリッジ用PCのLANの設定です。
サーバー用PCに仮想HUBと仮想L3SWの設定を追加する
サーバー用PCの[SoftEther VPN サーバー管理マネージャー]を起動して接続し、[仮想HUBの作成]を選択します。
なお、工程2(ブリッジ接続の設定)で作成したサーバー用PCの仮想HUB(この例では[hub-ten-server])は設定変更しませんが、必要ですので削除せずオンライン状態にしておきます。
[仮想HUB名]と[この仮想HUBの管理用パスワード](二箇所)を入力し、[OK]を選択します。
なお、ここで設定した[仮想HUB名]は、ブリッジ拠点とのIPルーティング用ということで、工程2 (ブリッジ接続の設定)で作成したブリッジ用PCの仮想HUB (この例では[hub-twenty-bridge])と同じ名前にしました。
仮想HUBを作成した旨のメッセージが表示されたら[OK]を選択します。
作成した仮想HUBを選択し、[仮想HUBの管理]を選択します。
[ユーザーの管理]を選択します。
[新規作成]を選択します。
[ユーザー名]と[パスワード](二箇所)を入力し、[OK]を選択します。
なお、ここで設定した[ユーザー名]と[パスワード]は、工程2(ブリッジ接続の設定)で作成した仮想HUB(この例では[hub-ten-server])内に設定したものと同じ値にする必要はありませんが、別の値にすると煩雑なので同じ値にしています。
ユーザーを作成した旨のメッセージが表示されたら[OK]を選択します。
[閉じる]を選択します。
[閉じる]を選択します。
[レイヤL3スイッチ設定]を選択します。
[新規選択]を選択します。
スイッチの名前を入力し、[OK]を選択します。
[仮想インターフェースの追加]を選択します。
工程2(ブリッジ接続の設定)で作成したサーバ用の仮想HUB (この例では[hub-ten-server])を選択し、インターフェースIPはサーバー拠点のネットワークセグメント内で他の機器と重複しないIPアドレスを指定し、[OK]を選択します。
再度[仮想インターフェースの追加]を選択します。
先ほど作成したブリッジ拠点とのIPルーティング用の仮想HUBを選択し、インターフェースIPはサブリッジ拠点のネットワークセグメント内で他の機器と重複しないIPアドレスを指定し、[OK]を選択します。
[動作開始]を選択し、[閉じる]を選択します。
[動作状況]が[開始(動作中)]となっていれば稼働しています。[閉じる]を選択します。
ブリッジ用PCのカスケード接続の設定を変更する
ブリッジ用PCの[SoftEther VPN サーバー管理マネージャー]を起動して接続し、既存の仮想HUBを選択し、[仮想HUBの管理]を選択します。
[カスケード接続の管理]を選択します。
既存の接続設定を選択し、[編集]を選択します。
仮想HUB名を前の工程で作成したサーバー用PCのIPルーティング用のものに変更し、ユーザー名とパスワードもその仮想HUB内で設定した値を設定し、[OK]を選択します。
確認メッセージが表示されたら[OK]を選択します。
[閉じる]を選択します。
[閉じる]を選択します。
仮想HUBを選択し、[オフライン]を選択します。
確認メッセージが表示されたら[はい]を選択します。
続けて、仮想HUBを選択した状態で、[オンライン]を選択します。
サーバー・ブリッジ用PCにルート情報を追加する
これまでの作業によりVPNセッションは確立できましたが、この状態ではまだ相手拠点への通信ができません。相手拠点に向けた通信は自拠点側のネットワークセグメントの仮想インターフェース(冒頭の構成図の吹き出し参照)へ送るよう、ルート情報を追加する必要があります。
この例では、SoftEtherのサーバー・ブリッジ用PCそれぞれに対し、「route add」コマンドを使ってルート情報を追加します。ちなみに、両拠点の他のPC・サーバー類からも相手拠点に向けた通信を行いたい場合、これらの機器にも同じようにルート情報の追加が必要となります。
まず、サーバー用PCでコマンドプロンプトを管理者として実行します。
route addコマンドの実行前後でpingコマンドの実行結果を確認します。
ping [ブリッジ拠点の機器のIPアドレス]
route add [ブリッジ拠点のIPアドレス] mask [ブリッジ拠点のサブネットマスク] [サーバー拠点側の仮想IFCのIPアドレス]
ping [ブリッジ拠点の機器のIPアドレス]
ルート情報追加前は疎通していませんが、追加後は疎通します。
疎通確認ができたら、以下コマンドを実行してルート情報を確定させます。
route –p add [ブリッジ拠点のIPアドレス] mask [ブリッジ拠点のサブネットマスク] [サーバー拠点側の仮想IFCのIPアドレス]
※-pオプションを付けるとPC再起動後も設定が維持されます。
※ルート情報を削除したい場合は、route delete [宛先IPアドレス]で削除できます。
また、route printコマンドを実行すると、ルート情報が追加されていることがわかります。
ブリッジ用PCも同様に、コマンドプロンプトを管理者として実行します。
route addコマンドの実行前後でpingコマンドの実行結果を確認します。
ping [サーバー拠点の機器のIPアドレス]
route add [サーバー拠点のIPアドレス] mask [サーバー拠点のサブネットマスク] [ブリッジ拠点側の仮想IFCのIPアドレス]
ping [サーバー拠点の機器のIPアドレス]
ルート情報追加前は疎通していませんが、追加後は疎通します。
疎通確認ができたら、以下コマンドを実行してルート情報を確定させます。
route –p add [サーバー拠点のIPアドレス] mask [サーバー拠点のサブネットマスク] [ブリッジ拠点側の仮想IFCのIPアドレス]
また、route printコマンドを実行すると、ルート情報が追加されていることがわかります。
両拠点から通信を確認する
改めてサーバー用PCからブリッジ拠点の機器にpingを打って、疎通するか確認します。
ping [ブリッジ拠点の機器のIPアドレス]
この例のように疎通すれば問題ありません。
今度はブリッジ用PCからサーバー拠点の機器にpingを打って、疎通するか確認します。
ping [サーバー拠点の機器のIPアドレス]
この例のように疎通すれば問題ありません。
サーバー用PC上のSoftEtherの仮想HUB(IPルーティング用)のセッション情報を確認すると、ブリッジ拠点からのセッションが貼られていることがわかります。
さらに[IPアドレステーブル一覧]を確認すると、両拠点の接続機器のIPアドレスが表示されます。
同じくサーバー用PC上のSoftEtherの仮想HUB(サーバー用)のセッション情報です。
さらに[IPアドレステーブル一覧]を確認すると、両拠点の接続機器のIPアドレスが表示されます。
ブリッジ用PC上のSoftEtherの仮想HUBのセッション情報を確認すると、サーバ拠点へのセッションが貼られていることがわかります。
さらに[IPアドレステーブル一覧]を確認すると、両拠点の接続機器のIPアドレスが表示されます。
おわりに
拠点間接続VPNのブリッジ接続の発展形として、拠点間を別のネットワークセグメントとして扱うIPルーティングによる設定例を紹介しました。
SoftEtherのVPN接続は手軽で便利ですが、ネットワークの知識がないと公式ドキュメントを読み解き、どのような構成でどう設定すればよいのか、難しい点があると感じます。
直近取り上げた三種類の例のようにただVPN接続するだけでなく、他にも色々な機能がありますので、これらについていつか掘り下げて紹介できたらと思います。