2010年7月20日火曜日

iPhone VPN接続不調

またまたVPN接続障害。orz

久しぶりに会社から自宅LANへのVPN接続が必要な状況になったため、iPhoneで自宅の玄箱にVPN接続。
パスワードを入れるとすぐに「サーバーから切断された」旨のメッセージが出て接続できない。

最近変更のあったのもとしては、
  1. iOS 4へのアップグレード
  2. 社内ルーターの更新
ぐらいだけど、つい先日外出先からリモートデスクトップ操作のために接続した時は問題なかったので社内ルーターのせいかと思いきや、ADSL回線で単独Wi-Fiを"FreeSpot"に切り替えても繋がらない。 試しにWi-Fi自体を切ってしまって3G回線経由でトライしてみるとあっさり繋がった。 玄箱サーバーのDebianにログインしてログを確認してみたところ、Wi-Fi経由でもちゃんとセッションは張れている様子。 pppセッションが張られてネゴが始まろうとする時に"Modem hangup"となってしまう。
pppd[23327]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
pppd[23327]: pptpd-logwtmp: $Version$
pppd[23327]: pppd 2.4.4 started by root, uid 0
pppd[23327]: Using interface ppp0
pppd[23327]: Connect: ppp0 <--> /dev/pts/1
pppd[23327]: Modem hangup
pppd[23327]: Connection terminated.
pppd[23327]: Exit.
同じ端末で、経路が違うと接続できないとなれば、通常はファイアウォールがらみかMTU値などのパケット損失っぽいんだけど、iPhone、Debian双方の設定見直しても特に悪そうなところが見あたらない。

まぁ3G回線経由で使えるので致命的では無いんだけど、やはりWi-Fi使えるところではレスポンスが違いますからね。
また時間が空いた時にでも検証しましょう。

4 件のコメント :

  1. はじめまして、WiFi経由のPPTP接続で検索しましたら、ここがヒットしました。
    結論として、BBルータやWiFiスポットに「PPTPパススルー」機能がなければ難しいようです。IPsecやVPNパススルーとはポートの設定が違うので、特殊プロトコルをサポートしていないということかもしれません。
    EMobileのD25HWはOKです。

    返信削除
  2. >Gatoさん

    はじまして。
    Gatoさんのコメントに触発されて、放置していた会社のLANからのVPN接続不良を検証してみました。
    実際私の環境はルーターに実装しているVPN機能を利用しているわけではなく固定IPのフレッツ光でLinuxサーバーを立ち上げてそこでPPTPサーバーを運用しています。
    (ルーターが絡むのはファイヤーウォールくらいなんです)

    3G回線で繋がってブロードバンド回線だとハングアップするという事で、手っ取り早くPPPセッションのMTUの調整をしてみました。
    やってみれば何てことはなく、1000まで落とす事で会社のLAN(Wi-Fi含む)からもPPPセッションが張れるようになりました。

    返信削除
  3. > 実際私の環境はルーターに実装しているVPN機能を利用しているわけではなく固定IPのフレッツ光でLinuxサーバーを立ち上げてそこでPPTPサーバーを運用しています。
     私の方は、当初「RTX1100のPPTP機能」でテストしていたのですが、メンテの関係で、UTM経由のDMZ配下のCentOS5でテストしています。
     iPodとAndroid端末がWiFi経由でLAN内のWebを中々参照できないため、PPTPサーバの iptablesで
    ptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
    を追加しましたが、ダメだったので、ルーティングを疑いましたが、greの受信はできているのに、こちらからの送信に返事を返していないことが分かり、「PPTPパススルー」に行き着きました。以下その時のログです。
    > pppd[NUM]: local IP address 192,168.3.222
    > pppd[NUM]: remote IP address 192,168.30.201
    > pppd[NUM]: pptpd-logwtmp.so ip-up ppp0 i_user-001 global-ipaddr
    > pppd[NUM]: CTRL:Session time out, ending call
    > pppd[NUM]: Modem hangup
    > pppd[NUM]: pptpd-logwtmp.so ip-down ppp0
    > pppd[NUM]: Connect time 5.9 minutes.
    > pppd[NUM]: Sent 44680 bytes, received 5876 bytes.
    > pppd[NUM]: Sent 44680 bytes, received 5876 bytes.
    > pppd[NUM]: MPPE disabled
    > pppd[NUM]: Connection terminated.
    > pppd[NUM]: Exit.

    返信削除
  4. > Gatoさん

    Gatoさんのログを拝見させもらうと

    > pppd[NUM]: CTRL:Session time out, ending call
    > pppd[NUM]: Modem hangup

    で、タイムアウトしてしまってPPPのセッションが失敗している状態のようですね。

    当方ではCTUのファイヤーウォールとLinux(Debian)のiptablesにPPTPとGREのポートを許可しただけでセッションは通るようになったんです。
    その後の通信不安定さがネックでした。

    返信削除