一般的なDDnsサブドメインを使用すると、電信ブロードバンドサービスが劣化する可能性がある
Categories:
IPv6の切断と穴あけ失敗の問題は3か月以上も悩まされましたが、ついに原因が判明しましたので、皆様と共有いたします。
初めてIPv6切断問題の投稿で助けを求める
IPv6はこれまで正常にアクセスできていましたが、設定を変更していないにもかかわらず、デバイスは独立したIPv6アドレスを持っていても、IPv6ネットワークに接続できません。
curl 6.ipw.cnで返答が得られず、ping6やtraceroute6 2400:3200::1も中断します。
光回線モデムをブリッジモードにしてルーターを使用すると、ルーターのIPv6アドレスを取得できます。これはIPv6にアクセスできるアドレスです。
/56 プレフィックスを取得でき、ルーター下のデバイスはすべて 240e:36f:15c3:3200::/56 のIPv6アドレスを取得できますが、IPv6ウェブサイトに接続できません。
事業者が 240e:36f:15c3:3200:: のルーティングを構築していないのではないかと疑っていますが、確認できません。
ネットユーザーはPCDNのアップロードトラフィックが多すぎるためではないかと指摘していますが、アップロードトラフィックは非常に小さく、PCDNも有効にしていません。
CloudflareやAliyun ESAのリバースプロキシを使用しているせいかもしれません。
2回目の投稿で直接的な原因を確認
ある地域の電信事業者がIPv6へのHTTP/HTTPS接続数が多すぎるため、サービスを劣化させていることが確認されました。その症状は次の通りです:
- 偽IPv6:IPv6は
/56プレフィックスを取得でき、各デバイスのIPv6割り当ては正常ですが、tracertでルーティングが欠落し、実際にはIPv6がインターネットに接続できません。 - 偽トンネリング:Tailscaleテスト接続は直結と表示されますが、遅延が非常に高く、実際のネット速度は極端に遅くなります。
Cloudflare/Aliyun ESAのリバースプロキシを無効にし、何度かルーターを再起動した後、IPv6と真の直結が回復します。
リバースプロキシを停止後も切断が続く
リバースプロキシを停止しても、CloudflareとAliyun ESAのオリジンリクエストを停止しても、時折切断が発生し、長期間続くことがあります。
ドメイン名が漏洩しているか、一般的なサブドメインがスキャンされて長期的にHTTP攻撃を受けている可能性があります。
DDnsドメイン名の解決を無効にし、しばらく待ってからIPv6が正常に戻り、tailscaleのトンネリングも正常に戻りました。
これで切断問題は再発しなくなりました。
最終的な解決策
ここでは、一般的なDDnsサブドメインを使用しないことをお勧めします。例えば:
- home.example.com
- nas.example.com
- router.example.com
- ddns.example.com
- cloud.example.com
- dev.example.com
- test.example.com
- webdav.example.com
これらのうちいくつかは私が以前から使用していたもので、誰かに常にスキャンされており、電信ブロードバンドサービスが劣化し、パブリックIPv6が正常使用できず、トンネリング直結ができない可能性があります。
ネットワークセキュリティにおいてIPを隠す重要性は皆様ご存知だと思いますが、ここではDDnsに使用するドメインも保護することを追加で推奨します。本質的にこれもIPを暴露していることになります。
しかし、サービスを公開する必要がある場合はどうすればよいでしょうか?
ここに2つの実践的ソリューションがあります:
- オリジンリクエストソリューション:これは中継サービスで、リクエストがまずVPSに到達し、その後ホームサーバーに到達します。トラフィックが迂回するため、遅延と帯域幅に一定の影響があります。
- DDnsソリューション:これは直結ソリューションで、接続体験がはるかに良くなります。個人使用では通常接続数制限を超えることはありませんが、ドメインを公開すると、大量のボットが接続数を急上昇させてしまいます。
オリジンリクエストソリューション(リバースプロキシ)
Cloudflare Tunnel
CloudflareのTunnelを使用すると、通常のオリジンリクエストのように数十から数百のIPがアクセスすることはありません。
TailscaleまたはZeroTier
VPNを自作し、前にVPSを配置してVPN経由で内網サービスにアクセスすることで、同時接続数が高くなりすぎるのを防げます。
DDnsソリューション(直結)
パブリックDNS
GUIDなどのランダム文字列を生成してDDnsドメイン名に使用します。ほとんど記憶できませんが、個人的に使用する際の影響は大きくありませんので、ご自身で評価してください。
プライベートDNS
個人用DNSサービスを使用します。例えば:
DDnsの解決に使用します。
この方法では、個人DNSサーバーに接続できる人だけが指定ドメインのカスタム解決IPを取得できます。
このソリューションでは、一般的なDDnsドメイン名を使用できますが、自分のDNSサービスアドレスを漏洩させないように注意が必要です。
補足
巷では、speedtestをサブドメインに使用すると何らかの神秘的な加速効果があるという噂があります。