さくらのVPSでPPTPサーバを立てたメモ(マカー向け)

とりあえず1つ契約してみたものの、遊ばせてる感が強いさくらのVPSPPTPを使ったVPNサーバを立ててみた。

PPPとPPTPをインストール

PPPとPPTPyumですでにパッケージが用意されていたので、そいつをインストールする。

$ sudo yum install ppp pptp
$ yum list ppp pptp
ppp.x86_64           2.4.4-2.el5                         installed
pptp.x86_64          1.7.2-8.1.el5.rf                    installed

/etc/pptd.conf

VPNのセグメントに192.168.2.0/24 を使用し、サーバ(後でNATになる)のVPN側アドレスに1を設定、クライアントには32-128を自動割り当て。

option /etc/ppp/options.pptpd
localip 192.168.2.1
remoteip 192.168.2.32-128

/etc/ppp/options.pptpd

nameとms-dnsを環境固有のものに設定したほかに、MTU値を明示的に1400に設定している。デフォルト状態だと、MaciOSバイスで接続するとき、最初は接続できるが一度切断すると再接続ができなくなる。

name [適当な接続名]
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns [さくらのVPSのDNS1 (/etc/resolv.conf から引用)]
ms-dns [さくらのVPSのDNS2 (/etc/resolv.conf から引用)]
lock
nobsdcomp
novj
novjccomp
nologfd
mtu 1400

/etc/ppp/chap-secrets

serverカラムは /etc/ppp/optsions.pptpd の name と揃える。
IP address が * だと、クライアントには /etc/ppptd.conf で設定した範囲のアドレス 192.168.2.32-128 が振られ、アドレスを明示すると固定で振られる。IP address が * であれば、同じIDで複数接続可能(たぶん、アドレス上限まで)。

# client        server          secret         IP addresses
"[接続ID1]"      [接続名]    "[パスワード]"      *
"[接続ID2]"      [接続名]    "[パスワード]"      192.168.2.2

iptables

VPNからInternetに出られるようにiptablesにNATを設定。

# iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
# service iptables save

/etc/sysctl.conf

/etc/sysctl.conf に次の2行を追加。

net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0

sysctl.conf を反映。

# sysctl -p

サービスを起動

serviceコマンドでPPTPdを起動。

# service pptpd start

システムブート時に、PPTPdが自動的に開始するように設定。

# chkconfig pptpd on

Macでクライアントを設定

システム環境設定の「ネットワーク」で、新しいサービスを追加。インタフェースに"VPN"、VPNタイプに"PPTP"を選択し、任意の名前をつける。

追加したサービスに、VPNサーバのアドレスとアカウント名(chap-secretsのclientカラムに設定したもの)を入力。

認証設定でパスワードをプリ入力しておくと、毎回の接続が楽になる。