linuxをVPNクライアントにする方法

BUFFALOの「AirStation WZR-RS-G54HP」のリモートアクセス機能をlinuxから使ってみたので方法をメモ。

リモートアクセス機能とは要はWZR-RS-G54HPがVPNサーバになるということ。Windowsは標準でVPNクライアントの機能を持つため、リモートアクセス機能搭載のルータを自宅に設置しておけば、たとえば外から自宅のPCにアクセスするということが簡単にできる。詳細は、製品のページhttp://buffalo.jp/products/catalog/network/remoteaccess/ が詳しい。

これは便利だということで、以下の手順でLinuxVPNクライアントにしてみた。

pptp のインストール

VPNを実現するプロトコルとしては、IPSecPPTPなどがある。BUFFALOのリモートアクセス機能ではPPTPが使えるようなので、今回はPPTPを使ってみた。

linuxPPTPを使うには pptp というパッケージをインストールすればよい。fedora は

$ sudo yum install pptp

でインストールできた。

pptpを使ったVPN接続

pptp はpppを利用して実装されている。そのため起動もppp経由で行う。起動コマンドは

$ sudo /usr/sbin/pppd \
    debug noauth nodetach noipdefault \
    defaultroute \
    name VPNの認証用ユーザ名 \
    require-mppe require-mppe-40 require-mppe-128 \
    pty "/usr/sbin/pptp ルータのグローバルIP --nolaunchpppd --loglevel 2"

となる。長いのでスクリプトを書いたほうがいいかも。

VPNの認証用のパスワードは /etc/ppp/chap-secrets に記述する。形式はpppの形式なので

ユーザ名 * パスワード *

となる。

以上でVPNクライアントの設定は終わり。リモートアクセス機能も問題なく利用できた。