VPN接続時のルータの静的ルーティングについて
VPN接続時のルータの静的ルーティングに関して質問なんですが、少し長いのでご容赦ください。
現在下記のような環境で自宅にVPNサーバを立てています。
VPNサーバ:Mac OS X 10.10.2 (yosemite) 上にVPNActivatorを使用して構築
VPNで割り当てるIPの範囲:192.168.0.14 ~ 192.168.0.16
ルータに割り当てられているグローバルIP:xxx.xxx.xxx.xx
VPNサーバに割り当てられたプライベートIP:192.168.0.10
ポート・マッピング:
変換対象のプロトコルとポート:TCP, 500 宛先アドレス:192.168.0.10
変換対象のプロトコルとポート:TCP, 1701 宛先アドレス:192.168.0.10
変換対象のプロトコルとポート:TCP, 4500 宛先アドレス:192.168.0.10
変換対象のプロトコルとポート:UDP, 1723 宛先アドレス:192.168.0.10
この状態でクライアント側でxxx.xxx.xxx.xx(グローバルIP)に対してVPN接続を試みると、
正しく接続ができ、afpやsmbを使用してVPNサーバのプライベートIP宛に接続を試みても、共有フォルダ等にアクセスができましたので問題ありません。
VPNに接続したクライアントにはプライベートIP:192.168.0.14が割り当てられました。
しかし、同じようにafpやsmbを使用してVPNサーバと同じLAN環境下にある
外付けHDDなどストレージのプライベートIP(192.168.0.2)宛に接続を試みると、タイムアウトとなり失敗してしまいます。
解消法としてルータに静的ルーティングの設定を下記のように行いました。
宛先IPアドレス: 192.168.0.0
インタフェース:ゲートウェイ
ゲートウェイ: 192.168.0.10(VPNサーバのプライベートIP)
すると、ストレージにも接続が可能になりました。
この原理の認識が合っているのかどうかわからなかったので質問させてください。
下記の認識であっておりますでしょうか?
■スタティック・ルーティングを指定していなかった時の現象
これは、ストレージ(プライベートIP:192.168.0.2)に対して
リクエストのパケットは届いて、レスポンスのパケットをルータに返したけど、
ルータがパケットの送信元であるクライアント(192.168.0.14)の場所を知らないから、
パケットを届けられず破棄されてクライアント側はタイムアウトとなり、エラーになった
■スタティック・ルーティングを指定した場合
ストレージからルータへレスポンスのパケットが渡され、
192.168.0.14(クライアント)の場所が分からないので、
ゲートウェイに指定されている192.168.0.10(VPNサーバ)にパケットを送った。
VPNサーバは192.168.0.14(クライアント)を知っているので、
そこに送るように宛先を書き換えて再度ルータに送り返し、
ルータはクライアントにパケットを届けることができた。
もし間違っている場合は、ご指摘いただけますと幸いです。
よろしくお願いいたします。
お礼
TCP/IPを正しく理解していませんでした。 回答ありがとうございました。