2014年4月30日水曜日

SoftEtherでVPNを構築した際に、ローカル側ネットワークにアクセスできなくなる問題を回避してみる (3)

前回と前々回の記事

SoftEtherでVPNを構築した際に、ローカル側ネットワークにアクセスできなくなる問題を回避してみる (1)
SoftEtherでVPNを構築した際に、ローカル側ネットワークにアクセスできなくなる問題を回避してみる (2)

までで、VPNを構築した際にローカル側ネットワークにアクセスできなくなる場合があること、およびそれの回避方法についてまで書きました。

前回の記事までで、この現象は

「VPNセッションを張った際に、DHCPによって自動的にIPアドレスやデフォルトゲートウェイの情報が割り振られることによって、VPN Server側のルータを経由して通信するように設定されてしまうこと」

が原因であると書き、それの対策にはDHCPの通信をブロックしてしまえば良いと書きました。


しかし、このような手法を取った場合、VPNクライアントはIPアドレスを手動で入力しないと通信できない状態になります。

今回は、VPNクライアント用のDHCPサーバを設置して、VPNクライアントに自動的にIPアドレスが割り当てられるように設定します。



DHCPサーバの機能は、SoftEtherに組み込まれている「SecureNAT」を用いて実現することができます。


この機能は本来、SoftEtherをインストールしたコンピュータをインターネットルータように振る舞わせ、ローカルネットワークの他のコンピュータからはあたかもSoftEtherをインストールしているコンピュータからアクセスされたかのように見せることが可能ですが、今回はローカルネットワーク内のみに通信できれば良いので、これらの機能は使わずにDHCPサーバの機能だけを使用します。

但し、DHCPサーバがVPNクライアントに割り当てるIPアドレスの範囲は、ローカルネットワークと合わせなければ通信できなくなってしまいますので、まずはローカルネットワーク内でどのようなIPアドレスが割り当てられるかを調べます。

まず、WindowsXPではコントロールパネル内にあるネットワーク接続という項目を、Windows VistaやWindows 7などやそれ以降のOSでは、コントロールパネル内にあるネットワークと共有センターを開きます。

そうすると、現在接続されているネットワークアダプタが表示されていますので、それを開きます。
WindowsXPではサポートというタブを、Windows Vistaや7などでは詳細ボタンを押すと、ローカルネットワークの情報が出てきます。


ここに表示されている情報から、このローカルネットワークのネットワークアドレスは192.168.30.0で、サブネットマスクが255.255.255.0であることなどが分かります。
また同時に、デフォルトゲートウェイなども割り当てられていることも分かります。

これらのローカルネットワークに関する情報を得たら、次はSecureNATを設定していきます。
SecureNATは各仮想ハブごとに設定しますが、今回設定するのは前回の記事でVirtual Hub 2として説明に使ったハブです。


どっちがどっちだったか怪しい場合は、迷わずに前回の記事を読んでからこれ以降の作業を行ってください。
Virtual Hub 1側で設定すると、最悪の場合ローカルネットワーク側のDHCPリクエストに対して応答してしまい、ローカルネットワーク側に通信障害をもたらすことが考えられます。

設定が終わったら、SecureNATを有効にすることをお忘れなく。
警告が出ますが、今回の設定どおり行っていれば大丈夫です。


SecureNATを有効にしたら、とりあえずローカルネットワーク内からでも良いので、VPNセッションを確立してみて設定した通りのIPアドレスが割り振られるかを確認しましょう。
手順は先程のローカルネットワーク内で使われているIPアドレス範囲を調べるときと同様です。


これで設定した通りのアドレスが割り振られていれば、VPNクライアント側で問題が起こることはないでしょう。
もちろん、デフォルトゲートウェイも割り振られていないので、最初の記事で取り上げたVPN Clientから見てローカル側にあたるネットワークにアクセスできなくなる問題も起こりません。

 
 
しかし、VPNサーバが属しているネットワークが上図のような複雑なネットワーク構成で、かつVPN Client側も上図のような複雑なネットワーク構成となっており、VPN Clientはどちらのネットワークの任意のコンピュータにアクセスできるようにしたい、といった場合は残念ながら今回の構成だけではまだ不足しています。

これは自身の属しているネットワーク以外への通信を、全部デフォルトゲートウェイに指定されているルータに投げていることが原因で、このネットワークへの通信はこのルータ、あのネットワークへの通信はあのルータ、といった感じに設定してやれば、どちらへも自由に通信することが出来ます。

参考: ルーティング情報 / スタティックルートを追加する (Windows、IPv4)

しかし、これをいちいち手入力したりするのは大変面倒です。できればDHCPで一緒に割り当ててしまいたいと思うところでしょう。

次回の記事ではそのあたりについて書いてみたいと思います。

0 件のコメント:

コメントを投稿