VPNといってもいろいろ種類があるわけですが、Windowsクライアントから手軽にVPNすることを考えるとPPTPかなと。
※PPTP…Point-to-Point Tunneling Protocol
Vine LinuxでPPTPやるには、カーネルの再構築などが必要なようだが、やらなくてもとりあえず出来た。
カーネルのバージョンは2.4.33-0vl0.9。
まず、pppdをインストールしておく。
# apt-get install ppp
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下の追加パッケージがインストールされます:
libpcap
以下のパッケージが新たにインストールされます:
libpcap ppp
アップグレード: 0 個, 新規インストール: 2 個, 削除: 0 個, 保留: 0 個
791kB のアーカイブを取得する必要があります。
展開後に 1716kB のディスク容量が追加消費されます。
続行しますか? [Y/n]y
取得:1 http://updates.vinelinux.org 3.2/i386/main libpcap 1:0.8.3-0vl1 [472kB]
取得:2 http://updates.vinelinux.org 3.2/i386/main ppp 2.4.3-0vl0.2 [319kB]
791kB を 1s 秒で取得しました (618kB/s)
変更を適用しています...
準備中... ########################################### [100%]
1:libpcap ########################################### [ 50%]
2:ppp ########################################### [100%]
完了
次に、pptpdのインストール。
# wget http://jaist.dl.sourceforge.net/sourceforge/poptop/pptpd-1.3.3-1.src.rpm
# rpm --rebuild pptpd-1.3.3-1.src.rpm
# rpm -ivh /usr/src/vine/RPMS/i386/pptpd-1.3.3-1.i386.rpm
準備中... ########################################### [100%]
1:pptpd
自動起動設定
# chkconfig pptpd on
モジュールのオートロード設定
# vi /etc/rc.local
modprobe ppp_mppe
設定ファイルの編集
# vi /etc/pptpd.conf
localip 192.168.0.8 PPTPサーバのIPアドレス
remoteip 192.168.0.200-210 PPTPクライアントに割り当てるIP
# vi /etc/ppp/options.pptpd
name pptpd PPTPサーバ名
require-mschap-v2 mschap-v2を許可
require-mppe-128 mppe-128を許可
# vi /etc/ppp/chap-secrets
# client server secret IP addresses
test pptpd password *
認証するユーザーの設定。serverは上のPPTPサーバ名と同じにする。
ppp_mppeモジュールをロードする。Warningが出てくるが気にしない。
# modprobe ppp_mppe
Warning: loading /lib/modules/2.4.33-0vl0.9/kernel/drivers/net/ppp_mppe.o will taint the kernel: non-GPL license - BSD without advertisement clause
Module ppp_mppe loaded, with warnings
ロードされたか確認。
# lsmod | grep mppe
ppp_mppe 12888 0 (unused)
ppp_generic 26532 0 [ppp_mppe]
pptpdを起動。
# /etc/init.d/pptpd start
Starting pptpd: [ OK ]
これで、WindowsクライアントからMS CHAP V2とMPPE 128で接続できるはずです。
あと、外部から接続する場合は、ルータのTCPポート1723番を開けておく。
参考