これは何かというと、PPTP で VPN の形でトンネルを掘り、そこに固定IPを割り当てて使えるようにするというサービス。VPN が通常 Private IP 空間を仮想的に繋ぐのに対して、このサービスはどこぞの Global IP アドレスを VPN の Peer に割り振るために PPTP を使う。つまり非固定 IP の ADSL などの回線サービスで固定IPを別途使いたいような人のためのサービスで、
NatCracker と同様のものになる。
2
Debian での setup
interlink にメールして試験用アドレスを貸して貰えたので、早速 Debian sid で試してみた。まずは apt-get で pptp-linux package をインストール
# dpkg -l pptp-linux
ii pptp-linux 1.5.0-4 Point-to-Point Tunneling Protocol (PPTP) Cli
続いて pptp, pppd の設定。
RHL での設定例 のままだと旨く動かなかったので
pptp-client - howto-debian を参考にした。ここで 203.141.128.100 と言うのが interlink の接続先サーバ。mi31xxx がユーザ名で password という部分がパスワード文字列。
#/etc/ppp/peers/interlink
pty "pptp 203.141.128.100 --nolaunchpppd"
name mi31xxx
remotename PPTP
file /etc/ppp/options.pptp
ipparam interlink
#/etc/ppp/options.pptp
lock
noccp
noauth
user mi34012
VPN では通常相互認証だが、このサービスでは片認証なので
noauth が使われる。PPTP と言う文字列は remotename で指定され、chap-secrets の同じ名前のある行が通信に利用されるらしい。
#/etc/ppp/chap-secrets
# client server secret IP addresses
mi34xxx PPTP password *
PPTP mi34xxx password *
static route を足しておく。LAN の gw (ADSLルータ) は 192.168.0.1 なので
# route add -net 203.141.128.100 netmask 255.255.255.255 gw 192.168.0.1
一通り設定が終わったら pon でセッション開始。当然ながら router 側で pptp に必要な 1723/tcp と 47/ip (gre) が通過できるように FW 等を予め設定しておく。
# pon interlink
# tail -f /var/log/syslog
pppd[18614]: pppd 2.4.2 started by root, uid 0
pppd[18614]: Using interface ppp0
pppd[18614]: Connect: ppp0 <--> /dev/pts/68
pptp[18615]: anon log[main:pptp.c:243]: The synchronous pptp option is NOT activated
pptp[18624]: anon log[ctrlp_rep:pptp_ctrl.c:243]: Sent control packet type is 1 'Start-Control-Connection-Request'
pptp[18624]: anon log[ctrlp_disp:pptp_ctrl.c:721]: Received Start Control Connection Reply
pptp[18624]: anon log[ctrlp_disp:pptp_ctrl.c:755]: Client connection established.
pptp[18624]: anon log[ctrlp_rep:pptp_ctrl.c:243]: Sent control packet type is 7 'Outgoing-Call-Request'
pptp[18624]: anon log[ctrlp_disp:pptp_ctrl.c:841]: Received Outgoing Call Reply.
pptp[18624]: anon log[ctrlp_disp:pptp_ctrl.c:880]: Outgoing call established (call ID 0, peer's call ID 48000).
pppd[18614]: CHAP authentication succeeded: Welcome!!
pppd[18614]: Cannot determine ethernet address for proxy ARP
pppd[18614]: local IP address 61.206.126.251
pppd[18614]: remote IP address 61.206.126.1
無事に接続されたようだ。default gateway を pptp の IP アドレスに変えておく。
# route del default gw 192.168.0.1
# route add default gw 61.206.126.251
# route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
61.206.126.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
203.141.128.100 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 61.206.126.251 0.0.0.0 UG 0 0 0 ppp0
ただこれだと通常のトラフィックも全て pptp 側を通るので帯域的には微妙かも知れない。後で iptables をいじってもう少し賢いルーティングに直しておこう
3
利用感
確かに特に問題なく、割り当てられた Global IP Address に外からアクセスすることができた。tunnel の都合上、帯域は最大 3Mbps 程度らしいが、どのみち ADSL 登りは遅いので無視しておいて良さそう。ただ、多目のトラフィックを通すと pptp セッションが不安定になり切れてしまう現象が出る。何かに watch させて自動再接続するようにしないと使い物にならないし、長期間セッションを張りっぱなしにするサービスには向かないかも知れない。まぁ月 1,000円だし。本当は早いところ native 固定IP な光のサービスに乗り換えたい。