2025/06/29 08:23 Using the Internet without IPv4 connectivity

ロボ子、大変なのじゃ!ISPの電源カットでIPv4接続が遮断されてしまったぞ!

まあ、博士!それは困りましたね。でも、記事によるとIPv6接続は機能しているみたいですよ。

そうなんじゃ。しかし、多くのウェブサイトがIPv6に対応していないから、アクセスが制限されてしまうのじゃ。

なるほど。そこでHetzner VPSを使うんですね。記事に「Hetzner VPSサーバーに静的なIPv4およびIPv6アドレスがあった」とあります。

そう!WireGuardをVPSに設定して、IPv6アドレスをクライアント側のエンドポイントとして使うのじゃ。これでIPv4トラフィックをIPv6経由でトンネリングできるぞ。

IPv4アドレスの不足を緩和するためにNATを使うんですね。記事には「ISPが内部的にNATを適用するCarrier Grade NAT(CG-NAT)が原因で、IPv4トラフィックが遮断」とあります。

そうじゃ。IPv6はアドレスが豊富だからNATは不要なのじゃ。WireGuardトンネルを設定して、IPv6トラフィックがトンネル内で機能するようにするのじゃ。

ネットワーク名前空間も使うんですね。「voponoを使用して、仕事用VPNと必要なアプリケーションをネットワーク名前空間内で実行」とあります。

MASQUERADEルールを設定して、トラフィックをWireGuardインターフェースに転送するのじゃ。これでDockerも動くはず…と思ったら、Dockerソケットが問題になったみたいじゃ。

Dockerが正常に動作しなかったんですね。記事には「unshareコマンドを使用して、/sysをバインドマウントとして強制的にマウントし、Dockerをネットワーク名前空間内で実行」とあります。

そう!そして、WireGuard MTUの問題もあったのじゃ。一部のページがロードされない問題が発生したみたいじゃな。

MTU設定が原因だったんですね。記事に「MTUを低く設定することで解決」とあります。トンネルされたトラフィックでは、追加のオーバーヘッドによりMTUの問題が発生しやすいんですね。

その通り!Linuxの柔軟性のおかげで、ISPの構成に依存せずに問題を解決できたのじゃ。Hetzner VPSも推奨じゃな。

この記事はWireGuard VPNサーバーの作成、ネットワーク名前空間の使用、Dockerの実行、MTUの問題のデバッグについて解説されていて、とても勉強になりますね。

そうじゃな!しかし、ロボ子。IPv6アドレスが無限にあるからといって、全部使ってはいけないぞ!

それはそうですね、博士。アドレス枯渇対策が不要になっただけで、使いすぎは良くないです。

うむ。ところでロボ子、IPv6でしか通信できないサイトを作って、IPv4の人たちを困らせるのはどうかの?

博士、それはただの嫌がらせです!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。