パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。時々更新!

VPN on WindowsXP の TIPS

WindowsXP では 標準で PPTP による VPN が入っている。VPN で外部から LAN に接続するといろいろと便利である。きちんとルータ(VPNサーバ)が設定されていれば、外部から接続していてもまるで LAN 内にいるかのごとく使うことが可能だ(制限もあるが)。一応通信路は暗号化されるので、セキュリティもそれなりに確保されるはず(ただし、クライアントは、インターネットへの接続とLANへの接続の二つの口が同時に存在していることになるため、それによる危険性は考えておいた方が良さそう)。

という長い前振りだが、あるプライベートIPな LAN(もちろんインターネットにも出られる)に接続された PC を VPN クライアントとして使う場合のコツ。特に、同じIPアドレス(たとえば 192.168.1.0/24)のサブネットが、物理的に接続されている LAN(LAN_A と表記) と、VPN で接続する LAN(LAN_B) で使われている場合。

LAN_B のある PC (192.168.1.123)に接続したくても、PPTP による接続直後では、LAN_A にある 192.168.1.123 へ接続しようとするため、期待の接続はできない。そこで、コマンドプロンプトでルーティングを設定する。

  1. まず 「ipconfig」コマンドで、PPTP で取得した IP アドレスを調べる。

PPP Adapter の IP アドレスがそれ。例として 192.168.1.PPP(実際には PPP は何かの数字) としておく。

  1. 次に 「route print」 コマンドで PPTP のインタフェース番号を調べる。

Interface List で、WAN(PPP/SLIP) Interface となっているのがそれのはず。0x20003 などという感じ。

  1. この情報を元に、「route add 192.168.1.123 mask 255.255.255.255 192.168.1.PPP metric 20 IF 0x20003」というコマンドを実行する。

これで、192.168.1.123 へのパケットは、PPTP で接続された VPN 側へ飛ぶはず。192.168.1.123 からの帰りのパケットが VPN クライアントPCに戻ってくるかはルータの設定次第か。ちなみに metric の値は適当。欠点は、LAN_A と LAN_B に同じ IP アドレスの PC があって、両方に同時にアクセスしたくてもそれはできないこと。

まぁ、それほど出会う状況ではないと思われるが、一応メモメモ。