Create  Edit  Diff  Mac OS X Serverで作る 小さな計算機室  Index  Search  Changes  RSS  Login

vpn-config

理学研究科の講義室や共通スペースに無線LANを整備しようという計画が 持ち上がり、運用方法や技術面の相談を受けた。

運用を始めるとすると、セキュリティー上の問題をどのようにクリアするかが 悩ましい。すでに別のキャンパスでも実績のある 「どこでもTAINS」 に書かれている方法が良いだろうと考えた。 そうすると、ユーザー認証とデータの暗号化にはVPN(PPTP)を使うことになる。

パケットフィルタ

Mac OS X Serverのサーバー管理でVPNをオンにしてみるも、パソコンから繋がらない。 ファイアウォールの設定を変えてもらって、TCP/UDPのport=1723に加え、IPのGRE パケット(47)も通すようにしたら、繋がるようになった。

認証の設定

ところが、OpenDirectoryに登録しているアカウントで入ろうとすると、認証ではねられる。マニュアルを よく読むと、あらかじめ

sudo /usr/sbin/vpnaddkeyagentuser /LDAPv3/127.0.0.1

しなさいと書いてある。いまローカルホストがLDAPのマスターなので127.0.0.1を指定。 この手のコマンドは名前がそのまま機能を意味しているので分かりやすい。

その後、しばらく経ってから、PPTPのテストを再び行ったら、再び

DSAccessControl plugin: User 'xxxxxx' authorized for access
MPPE required, but keys are not available.  Possible plugin problem?
sent [LCP TermReq id=0x4 "MPPE required but not available"]
rcvd [CCP ConfReq id=0x4 <mppe +H +M +S +L -D +C>]
rcvd [IPCP ConfReq id=0x5 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
rcvd [LCP TermAck id=0x4 "MPPE required but not available"]
Connection terminated.

となってしまった。vpnaddkeyagentuserをもう一度実行したら、あっさり解決。

Windows Mobile 5.0

最近購入したWM5.0機(HP製iPAQ rx4240)がVPNが実装されているので、 試しに接続を試みるも、何度やってもうまくいかない。 ログを見ると、こんな感じであった:

sent [IPCP TermAck id=0x0]
rcvd [IPV6CP ConfReq id=0x0 <addr fe80::020b:6cff:fe5e:a834>]
Unsupported protocol 0x8057 received
sent [LCP ProtRej id=0x2 80 57 01 00 00 0e 01 0a 02 0b 6c ff fe 5e a8 34]
rcvd [CCP ConfReq id=0x0 <mppe -H -M -S -L -D -C>]
Refusing MPPE stateful mode offered by peer
MPPE required but peer negotiation failed
sent [LCP TermReq id=0x3 "MPPE required but peer negotiation failed"]
sent [CCP ConfRej id=0x0 <mppe -H -M -S -L -D -C>]
rcvd [CCP ConfNak id=0x1 <mppe -H -M +S -L -D -C>]
rcvd [LCP TermAck id=0x3]
Connection terminated.
Connect time 0.1 minutes.
Sent 0 bytes, received 0 bytes.
PPTP disconnecting...
PPTP disconnected

色々なサイトを見てみると、どうも、WM5.0のPPTPはWindows Server以外とは相性が悪いらしい。 WM5.0はMPPCという圧縮アルゴリズムを要求するけれども、MSの特許らしくて、MS以外のPPTPサーバーには実装されていない、ようなことが書いてある。 IPSecを使うと、ちゃんと繋がることを確認。

試しに、部局の無線LANシステム(サーバーはWindows Server 2003) に繋いでみようとしたが、認証は通るものの、外部のサイトにアクセスできない。 あれこれ試して(考えて)みた結果、通常のPPTPの設定の他に、 以下を行う必要があるみたいだ:

  1. スタート → 設定 の「接続」タブの中の「接続」を開く
  2. 「詳細設定」のタブを開き、「例外設定」をタップ
  3. 「新しいURLの追加」をタップして、 WEBページとして *.*/* を追加しておく

この例外設定をしておかないと、WM5.0はアクセスポイントから配給された アドレスを使って直接インターネット接続しようとする。 ところが、この大学で使われている「どこでもTAINS」方式の指針に則って、 (VPN通信以外)外部との通信はファイアウォールで遮断されているので、 接続に失敗する。 そうすると、 VPNサーバー側のネットワークからNAT経由で「外」に出なければいけないので、 「外部との接続は全てイントラネットとして処理する」 という、なんだか矛盾した設定にしておかないといけない。

Last modified:2014/10/01 15:46:05
Keyword(s):
References: