2009-02-01

Ubuntu 8.04 の vm で PPTP サーバを動かしてVPN環境構築

リモートのマシンから家のネットワークにVPN接続したくなったので、PPTPを使った VPN 接続環境を作った。


今回、PPTPサーバは Ubuntu 8.04 をホスト (Hypervisor) とした Xen の VM なのだが、特に普通の Ubuntu と変わりなく構築できた。


まずは pptpd のインストール。


sudo apt-get install pptpd

インストール後に各種ファイルを設定。 まずは /etc/pptpd.conf で、割り当てる IPv4 アドレスを設定する。ほかはデフォルトのまま。


# PPTP サーバの eth0 に当たっている IP アドレス
localip 192.168.3.16
# PPTP クライアント(接続してくる側)に割り当てる IPアドレスの範囲
# (192.168.3.192 - 192.168.3.207)
remoteip 192.168.3.192-207

次に /etc/ppp/pptpd


name pptpd
# domain mydomain.net
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nodefaultroute
# Debug 必要な場合は debug オプションを
#debug
lock
nobsdcomp

あとは /etc/ppp/chap_secrets を。


# client  server  secret                  IP addresses
username * password *

設定ファイルは以上で終わり。 あと、PPTPサーバ側で IPv4 パケットの forward ができるように /etc/sysctl.conf の編集を行う。


net.ipv4.ip_forward=1
net.ipv6.ip_forward=1

PPTPサーバが、いわゆるブロードバンドルータなどの内側のセグメントにある場合、ポートマッピングを行わなければならない。 PPTPの場合、GRE (47:General Routing Encapsulation) を使うみたいなので、面倒だったので PPTP サーバを DMZ ホストとして設定してしまった。 PPTPサーバで netstat -a -p |grep pptp なんてすると、こんなかんじ。


tcp        0      0 *:1723                  *:*                     LISTEN      13886/pptpd
tcp 0 0 this-host:1723 client:49858 ESTABLISHED 14236/pptpd [114.48
raw 0 0 this-host:gre client:* 1 14236/pptpd [114.48
unix 2 [ ] DGRAM 36651 14236/pptpd [114.48
unix 2 [ ] DGRAM 34814 13886/pptpd

A-Term での ポートマッピングの設定

1723/tcp のポートマッピングは簡単だが、GRE側の面倒だったので、DMZ ホスト機能を使ってしまった。


ウチのルータはNECアクセステクニカ製の A-Term なのだが、GRE の設定もできる。 ポートマッピングルールの「【NATエントリ追加】」で、LAN側ホストを PPTP サーバの IPv4 アドレス、プロトコルに「その他」プロトコル番号に47と入力すると、GREのエントリが追加できる。あとはPPTPの接続を受ける 1723/TCP を追加する。 ポートマッピング設定の結果は、キャプチャに載っている設定内容をご参考にどうぞ。 この場合は PPTP サーバが 192.168.3.16 で動いております。



Windows のPPPのTCP/IP詳細設定

あとは Windows 側の設定だが、今回使った Windows Vista Business ではサクっとできた。 スタートメニューの接続先から新しい接続を選んで、VPNを選んで、リモートのホスト名と設定したアカウントなどを設定するのみ。 注意しなければならないのが、VPN接続時の経路設定。 接続先のVPN接続エントリのプロパティを表示して、[ネットワーク]タブの「インターネットプロトコル バージョン4 (IPv4)」を選んで、プロパティをクリックし、上記プロパティのウィンドウの「詳細設定」をクリックし、[IP設定] タブの「リモートネットワークでデフォルトゲートウェイを使う」のチェックを外す必要がある。 (んー手順長い) これをやらないと、VPN の先のデフォルトルートを採用しようとして、VPN接続先以外のインターネットにつながらなくなってしまうのだ。


これで、出先から emobile 使って家のファイルサーバにアクセスできたりする。 なんだか嬉しいw


0 件のコメント:

コメントを投稿