前の記事にあるとおりまだ完璧じゃないがとりあえず使える状況になったのでLinux ZaurusでのVPN(PPTP暗号化)接続手順を報告する。
■システム環境の準備
1.カーネルの入れ替え(MPPEパッチ適用)
linux kernel には MPPE (Microsoft Point-to-Point Encryption)用のパッチを当てる必要がある。
自分でソースからパッチ当てコンパイルをやってもいいんだが、結構面倒なのでスペシャルカーネルに入れ替えよう。
SL-B500/C700/C750/C760/C860 special kernel
2004/2/8 v13e
略
ppp-mppeパッチ。(zryさん。) FAQ 2-7参照。(new)
あたりから、必要なppp-mppeパッチが当たってる。
「カーネルの入れ換え手順」が上記URLに書いてあるので入れ替えはそちらを参照してね。
2.pppdの入れ替え
次に呼び出されるpppdをMS-CHAPv2+MPPE対応のものに入れ替える。
上記スペシャルカーネルのFAQ「(Q2-7) mppeの使い方は。 」を参照し、
pppdを入手して入れ替えてね。
3.モジュールのインストール
同じくスペシャルカーネルのFAQを参照し
ppp_mppe.o, ppp_deflate.oモジュールをインストールする。
以上で必要な環境が整った。次は設定。
■設定
1.モジュールのエイリアス作る。
/etc/modules.confに次の4行を追加します。既に記述があれば必要ない。
alias ppp-compress-18 ppp_mppe
alias ppp-compress-21 bsd_comp
alias ppp-compress-24 ppp_deflate
alias ppp-compress-26 ppp_deflate
2.認証用のファイル(/etc/ppp/chap-secrets)を修正する。
PPTP接続するユーザーID、パスワードを次のように追加。
———————————————————————-
#ユーザ名 サーバ名 パスワード 許容するIPアドレス
test * test1234 *
———————————————————————-
上記の例では、ユーザ名に”test”を指定しパスワードに”test1234″を指定した例。
サーバ名は、面倒なので*としている。
3.PPTP接続用スクリプトの準備
zryさんのページのように起動スクリプトを用意。
/home/QtPalmtop/bin/あたりにpptp-xxxxとして保存しておくと
# pptp-xxxx start
とすることで起動できる。
以下に例を記述する。
———————————————————————-
#!/bin/sh
PPTP=/usr/bin/pptp
PPTPSERVER={PPTPサーバーのホスト名もしくはIPアドレス}
PPTPUSER={PPTPのユーザーID}
# はじめは以下のコメントアウトしたもので試してみて下さい。
#ログが出力されます。
#PPTPOPTS=”debug logfd 2 mppe-128 nodetach noauth lock mtu 1400″
PPTPOPTS=”mppe-128 nodetach noauth lock mtu 1400″
case “$1” in
start)
$PPTP $PPTPSERVER user $PPTPUSER $PPTPOPTS ipparam pptp
;;
stop)
/usr/bin/killall `/usr/bin/basename $PPTP`
;;
*)
echo “Usage: $0 {start|stop}”
exit 1
;;
esac
exit 0
———————————————————————-
ipparamは次のip-upでの設定で使うので上記名称のまま(“pptp”)か
任意の文字を指定したらip-upもあわせて変更すること。
はじめは上記コメントにあるとおり、debug logfd 2を適用しログを確認。
接続に問題ないのであれば上記のようにコメント外してある方で利用する。
4.ルーティングの記述追加
/etc/ppp/ip-upに接続後のLAN環境に合わせてルーティングを追加。
———————————————————————-
if [ $6 = “pptp” ]; then
route add -net 192.168.0.0/24 dev ${IFNAME}
fi
———————————————————————-
上記は、接続先のネットワークが192.168.0.0/24の場合。
適宜追加してね。
以上で設定は準備完了。
■利用方法
1.rootになってPPTP接続スクリプトを起動する。
# pptp-xxxx start
ログ出力オプションをつけた場合は、上記スクリプトを起動するとログが出力される。
繋がったら、
・ifconfigでIPアドレスが取得できているか
・routeでルーティングが追加されているか
を確認する。
その後、PINGを打つなり、NetFrontで接続先のローカルWebサイトに接続できるか確認する。
以上。
注意事項)
確認できる2つのVPN環境へ接続してみたが、
・PINGの最初10秒ほど返ってこないが10秒ぐらいあとから返るようになる
・別のVPNでは、不定期に返ってくる
という現象が出ている。
まだまだ完全ではないので、アドバイス、間違いの指摘などありましたらコメント残してね。
また、まっさらな状態からは未確認なので、「できない」「これが足らない」「こんなエラーが出る」などあったらコメント残してね。わかる範囲で対応しますよ。
この記事で、Linux Zaurusが実務で使えるPDAとして皆様のお役に立てればいいなぁ。
これで出先にでかいPC(といってもVAIO-U101だったりするが・・)を持って行かなくてすむぞぉ~~~~!!!
pptp動いた(決着、パッケージパックも作りました)
やっと、動きました。 今回、ハマったのは、Norton AntiVirusのインターネットワーク防止の機能でした。 ルーターを使って、インターネットに接続してい…
sl-c1000でvpnを試みています。遠隔地のサーバーにPPTP接続をして、ifconfigとrouteで接続できている事は確認しました。ですがsumbamountによるフォルダの共有ができないどころか、プロトコルをサポートしていないという事でpingすら通りません。どういう事なのか、どなたか教えて頂けませんか?