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
1723/tcp のポートマッピングは簡単だが、GRE側の面倒だったので、DMZ ホスト機能を使ってしまった。
ウチのルータはNECアクセステクニカ製の A-Term なのだが、GRE の設定もできる。 ポートマッピングルールの「【NATエントリ追加】」で、LAN側ホストを PPTP サーバの IPv4 アドレス、プロトコルに「その他」プロトコル番号に47と入力すると、GREのエントリが追加できる。あとはPPTPの接続を受ける 1723/TCP を追加する。 ポートマッピング設定の結果は、キャプチャに載っている設定内容をご参考にどうぞ。 この場合は PPTP サーバが 192.168.3.16 で動いております。
あとは Windows 側の設定だが、今回使った Windows Vista Business ではサクっとできた。 スタートメニューの接続先から新しい接続を選んで、VPNを選んで、リモートのホスト名と設定したアカウントなどを設定するのみ。 注意しなければならないのが、VPN接続時の経路設定。 接続先のVPN接続エントリのプロパティを表示して、[ネットワーク]タブの「インターネットプロトコル バージョン4 (IPv4)」を選んで、プロパティをクリックし、上記プロパティのウィンドウの「詳細設定」をクリックし、[IP設定] タブの「リモートネットワークでデフォルトゲートウェイを使う」のチェックを外す必要がある。 (んー手順長い) これをやらないと、VPN の先のデフォルトルートを採用しようとして、VPN接続先以外のインターネットにつながらなくなってしまうのだ。
これで、出先から emobile 使って家のファイルサーバにアクセスできたりする。 なんだか嬉しいw
コメント
コメントを投稿