====== PPTP でお手軽に VPN (クライアント編) ======
一般家庭用のルータでサポートされていることが多い PPTP プロトコルで接続してみます。
\\
===== 準備 =====
==== PPTP サーバ側の設定 ====
接続先のルータに、PPTP サーバとしての設定を済ませておきます。\\
Buffalo さんのルータでの設定例は [[http://buffalo.jp/download/manual/html/air1200/router/wzrhpg300nh/chapter202.html|外出先から自宅や社内のネットワークにアクセスする(PPTPサーバー機能)]] などが参考になると思います。\\
YAMAHA さんのルータも対応してるのが多いです。
\\
==== ファームウェアの作成 ====
MA-E3xx ファームウェア v2.1.9 までは、PPTP 接続で暗号化するために必要な [[http://en.wikipedia.org/wiki/Microsoft_Point-to-Point_Encryption|MPPE]] を組み込んでありませんので、\\
Kernel をカスタマイズしたファームウェアを作成します。
-> v2.1.10β1 で、PPTP サポートを追加しました。
ファームウェアができたら、実機にファームウェアを適用します。
\\
==== PPTP の設定 ====
pptpsetup コマンドで設定します。書式は下記のとおりです。
# pptpsetup --create 接続名 --server サーバ --username ユーザ名 --password パスワード --encrypt
このような感じで設定します。
root@plum:~# pptpsetup --create homeVPN --server pptpserver.example.com --username pptpuser --password pptppassword --encrypt
\\
上記の例ですと、/etc/ppp/peers/homeVPN が作成されます。
root@plum:~# cat /etc/ppp/peers/homeVPN
# written by pptpsetup
pty "pptp pptpserver.example.com --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name pptpuser
remotename homeVPN
ipparam homeVPN
require-mppe-128
\\
===== 接続 =====
/etc/ppp/peers 以下に設定ファイルが作成されることからわかるように、pppd を利用して接続します。
root@plum:~# pppd call homeVPN updetach
Using interface ppp0
Connect: ppp0 <--> /dev/pts/2
CHAP authentication succeeded
MPPE 128-bit stateless compression enabled
local IP address 172.16.0.15
remote IP address 192.168.131.1
Sep 3 16:34:12 plum pppd[1263]: pppd 2.4.5 started by user1, uid 0
Sep 3 16:34:12 plum pppd[1263]: Using interface ppp0
Sep 3 16:34:12 plum pppd[1263]: Connect: ppp0 <--> /dev/pts/2
Sep 3 16:34:12 plum pptp[1267]: anon log[main:pptp.c:314]: The synchronous pptp option is NOT activated
Sep 3 16:34:12 plum pptp[1292]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 'Start-Control-Connection-Request'
Sep 3 16:34:12 plum pptp[1292]: anon log[ctrlp_disp:pptp_ctrl.c:739]: Received Start Control Connection Reply
Sep 3 16:34:12 plum pptp[1292]: anon log[ctrlp_disp:pptp_ctrl.c:773]: Client connection established.
Sep 3 16:34:13 plum pptp[1292]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request'
Sep 3 16:34:14 plum pptp[1292]: anon log[ctrlp_disp:pptp_ctrl.c:858]: Received Outgoing Call Reply.
Sep 3 16:34:14 plum pptp[1292]: anon log[ctrlp_disp:pptp_ctrl.c:897]: Outgoing call established (call ID 0, peer's call ID 0).
Sep 3 16:34:21 plum pppd[1263]: CHAP authentication succeeded
Sep 3 16:34:23 plum pppd[1263]: MPPE 128-bit stateless compression enabled
Sep 3 16:34:26 plum pppd[1263]: local IP address 172.16.0.15
Sep 3 16:34:26 plum pppd[1263]: remote IP address 192.168.131.1
ppp0 Link encap:Point-to-Point Protocol
inet addr:172.16.0.15 P-t-P:192.168.131.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1392 Metric:1
RX packets:17 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:700 (700.0 B) TX bytes:566 (566.0 B)
\\
あとは、ppp0 に対してルートを設定することで、接続先の LAN 内の機器との通信が可能となります。