本文へスキップ
  1. ホーム
  2. ブログ
  3. ホテルのWi-FiでVPNがつながらない?原因と対処法

ホテルのWi-FiでVPNがつながらない?原因と対処法

ホテルでVPNが「接続中」のまま進まない原因は、ログインページ、UDPのブロック、DNSのフィルタリングのどれかがほとんど。見分け方と、ステルスモードで通る理由を説明します。

PryVPNチーム公開7分で読めます
結論

原因はほぼ次の3つのどれかです。Wi-Fiのログインページでまだ認証していない、最近のVPNが使うUDP通信をネットワークがブロックしている、DNSがフィルタリングされている。まずログインを済ませ、そのうえで通常のウェブ通信と同じTCP 443番ポートを使うモードに切り替えます。PryVPNの自動モードなら、この切り替えを自動で行います。

チェックインしてホテルのWi-Fiにつなぎ、VPNをオンにしたのに、「接続中」のまま進まない。もどかしいものですが、原因がわからないことはまずありません。ホテルや空港、大学のネットワークがVPNを止める方法は限られていて、どれも予想がつき、それぞれに対処法があります。

3つの原因と症状

見えている症状 考えられる原因 有効な対処
何も読み込まれず、Androidに「ネットワークにログイン」と表示される Wi-Fiのログインページがすべての接続を止めている 先にログインしてから接続する
VPNなしならサイトは開けるが、VPNがタイムアウトする ネットワークがUDPをブロックしているか、VPNのプロトコルを識別している TCP 443番ポートのトンネル(ステルスモード)
一部のサイトが開けない、またはホテルのページに飛ばされる ネットワークがDNSをフィルタリング・書き換えしている トンネル内でDNSを解決するVPN

似ているけれどブロックではない4つ目のケースもあります。接続はできているのに、100部屋で同じ回線を分け合っているために極端に遅い場合です。これはVPNの設定では直りません。モバイルデータ通信なら改善するかもしれません。

ステップ1:ログインページ

ホテルや空港のネットワークの多くは、ログインページで利用規約に同意したり部屋番号を入力したりするまで、すべての通信を止めています。これをキャプティブポータルと呼びます。ネットワークはその存在をスマートフォンに知らせることができ(RFC 8910という規格がその方法を定めています)、Androidはそれを検出して「ネットワークにログイン」という通知を出します。

ログインするまでは、何も通らないので、VPNも通りません。次の順で進めてください。

  1. 通知をタップするか、Wi-Fi設定でネットワーク名をタップします。
  2. 規約に同意するか、コードを入力します。
  3. VPNに戻って接続します。

AndroidのVPNを常時接続とVPNなしの接続をブロックをオンにしていると、ログインページが開かないことがあります。常時接続をいったんオフにしてログインし、終わったら元に戻してください。詳しくはヘルプ記事のWi-Fiのログインページをご覧ください。

ホテルによっては、滞在中でも1日ごと、あるいは数時間ごとにログインが切れます。PryVPNはネットワークが再びログインページを出し始めたことに気づくと、つながらないサーバーを次々に試すのではなく、ログインするよう案内します。

ステップ2:UDPがブロックされている場合

WireGuardを含む最近のVPNは、UDPで通信します。速く、プロトコルがもともとそのために設計されているからです。ところが、ホテルや会社、学校のファイアウォールの多くは、ウェブの通信(TCPの80番と443番ポート)とDNSだけを通し、それ以外は捨ててしまいます。さらに進んで、形からVPNのプロトコルを見分けるものもあります。WireGuardの接続は必ず同じサイズ・同じ構造のハンドシェイクで始まるため、フィルターにとっては見つけやすいのです。

こうした制限の理由は、たいてい平凡なものです。閲覧用に帯域を確保したい、有料の「プレミアム」回線を売りたい、セキュリティポリシーで決まっている、あるいは単にファイアウォールが初期設定のままだった、といったことです。

解決策は、こうしたネットワークが決してブロックしないもの、つまりTCP 443番ポートの暗号化されたウェブ通信にVPNを載せることです。

ステルスモードのしくみ

PryVPNのステルスモード(Stealth)は、WireGuardのトンネルを、TCP 443番ポート上の本物のTLS 1.3接続の中に入れます。HTTPSのサイトが使うのと同じプロトコル、同じポートです。多くのフィルターからは、安全なウェブサイトへの接続がひとつ増えたようにしか見えません。

  • 本物のTLSで、確認もしています。 アプリはPryVPNのサーバー証明書を固定(ピン留め)しているので、途中で接続を横取りしようとするネットワークが気づかれずに割り込むことはできません。一部の企業ネットワークやウイルス対策ソフトのように、証明書を差し替えて暗号化通信を検査するネットワークでは、PryVPNは何も送らずに接続を拒否し、その旨をお知らせします。
  • 自動モードが代わりに切り替えます。 PryVPNはまずUDPを試します。約7秒以内にサーバーから応答がなければステルスモードに切り替え、そのネットワークでは数時間それを記憶します。ハンドシェイクがタイムアウトしたときは、**TCP 443で再試行(ステルス)**をタップすることもできます。
  • 代償もあります。 トンネルがTCPを通るため、ステルスモードはUDPより遅くなります。Android 10以降が必要です。また、有効な間はPryVPNのアプリ自体がトンネルの外に出て、そのTLS接続がサーバーに届くようにしています。ほかのアプリはすべて保護されたままです。
  • 見えなくなるわけではありません。 VPNをブロックするネットワークの多くは通過できますが、高度な検査を行うネットワークでは検出・遮断されることもあります。できないことを約束するより、正直にお伝えします。

設定 › プロトコルから手動で選ぶこともできます。各オプションはプロトコルのヘルプ記事で説明しています。

ステップ3:DNSのフィルタリングや書き換え

ネットワークによっては、DNSの問い合わせに自分で答えてしまいます。自前のページに誘導したり、広告を差し込んだり、特定のカテゴリのサイトをブロックしたりします。PryVPNでは問い合わせがトンネルを通って自社のリゾルバーに届くため、ホテルのDNSには見えず、回答を書き換えることもできません。

それでもつながらないとき

ごく一部のネットワークは、決まった少数のサービスしか通さないか、すべての接続を詳しく検査しています。これはどんな設定でも越えられません。その場合の選択肢は次のとおりです。

  • 別のロケーションを試す。 特定のサーバーアドレスだけをブロックしているフィルターもあります。
  • モバイルデータ通信を使うか、別のスマートフォンからテザリングする。海外ではローミング料金に注意してください。
  • フロントに聞いてみる。 ビジネス客向けに制限の少ないネットワークを用意しているホテルもあります。

使っても問題ない?

ホテルのWi-FiでVPNを使うのはごく普通のことで、ホテルの規約で禁止されていることはまれです。VPNの利用はほとんどの国で合法ですが、制限や禁止をしている国もあります。渡航先のルールは出発前に確認してください。基本は旅行時の利用のヘルプ記事にまとめています。

職場や大学のネットワークは事情が違います。あなたが同意したルールに従って運用されているからです。仕事や研究に必要なものがブロックされている場合は、まず情報システムの担当部署に相談してください。また、勤務先や学校が管理しているスマートフォンでは、その設定を回避しようとしないでください。

PryVPNの対応

  • Wi-Fiのログインページを検出し、黙って失敗するのではなく、ログインするよう案内します。
  • 自動モードでは、UDPがブロックされているとTCP 443番ポートのステルスモードに切り替え、ネットワークごとに記憶します。
  • 可能な場合は別の都市に予備のサーバーを用意し、接続中のサーバーが応答しなくなると数秒で切り替えます。
  • AndroidのVPNを常時接続とVPNなしの接続をブロックをオンにしておけば、トンネルが切れている間、アプリの通信はホテルのネットワークに流れず、システムが止めます。Android自体にあるいくつかの例外は、キルスイッチの記事に記載しています。

これで世界中のあらゆるネットワークでの接続が保証されるわけではありません。それでも、よくあるホテルや空港、キャンパスのWi-Fiなら、ネットワークの専門家にならなくてもつながります。VPNではなくサイトそのものがブロックされている場合は、サイトのブロック解除をお読みください。

いま困っているなら、無料の「このWi-FiでVPNが繋がらない」診断をお試しください。いる場所と起きていることを選ぶだけで、あなたに合った手順を表示します。

参考資料

  1. RFC 8910:DHCPとルーター広告によるキャプティブポータルの識別(英語)
  2. Android Developers:NetworkCapabilities(キャプティブポータルの検出、英語)
  3. WireGuard:プロトコルと暗号(英語)
  4. RFC 8446:TLS 1.3(英語)

誤りに気づいたらsupport@pryvpn.comまでお知らせください。修正して日付を更新します。

著者について

PryVPNチーム

PryVPNのAndroidアプリ、サーバー、ネットワークを開発しているメンバーです。公開前に、PryVPNに関する記述をすべてプライバシーポリシーと照らし合わせています。

私たちの書き方
ベータに参加

ベータ版でPryVPNを試す

無料・カード不要・アクティビティログなし。ベータに参加いただければ、枠が空きしだいメールでお知らせします。PryVPNはGoogle Playからインストールします。

ベータに参加