自宅ホストサーバーのIPv6対応チェックリスト

エヴァ・ウォン は テクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

安全なアプローチは、アドレス指定、フィルタリング、DNS、アプリケーションの識別情報、外部到達性を個別に検証するデュアルスタック対応レビューを、単一のコマンドではなく、観測可能なゲートの連続として扱うことです。

デュアルスタックの自宅サーバーとルーターでは、IPv6を有効にすると外向きの通信経路は機能する一方で、DNS、受信フィルタリング、リモートからのアプリケーション動作が未検証のままになることが実際のリスクです。現在の識別情報と復旧ポイントを記録し、最も影響の小さい判別から始め、別の変数を変更する前に成功と失敗の結果を解釈し、ストレージが不安定になった場合や、復旧可能なコピーが1つしかなく、それを公開することになる場合は停止します。以下のワークフローは、元のワークロードが成功するか、証拠がエスカレーション境界に達した時点でのみ完了します。

アドレス、プレフィックス、サービスのバインドを一覧化する

ISPから委任されたプレフィックス、ルーターのLANプレフィックス、サーバーのグローバルアドレスとリンクローカルアドレス、アドレスの有効期間、デフォルトルート、DNSリゾルバー、プライバシーアドレスまたは安定したアドレスを使用しているかを記録します。更新後もサーバーに適した状態を維持できるアドレスを特定し、一時的なクライアントアドレスを公開しないようにします。

IPv4とIPv6のリスニングソケットを個別に確認します。::にバインドされたサービスは、IPv4のポートフォワーディングでは到達できなかったインターフェース上でもIPv6接続を受け付ける場合があります。一方、IPv4専用のバインドでは、正常なIPv6ルートがアプリケーション障害のように見えることがあります。

自宅サーバーの公開状態チェックを、隣接する安全ゲートとしてZimaSpaceの公開状態確認ワークフローで実施します。各リスニングプロセス、プロキシルート、証明書名、認証境界の担当者が明確になるまで、AAAAレコードを公開したり、受信ルールを開放したりしないでください。

ルーターとホストのファイアウォール設定の整合性を確認する

ルーター、ホスト、ハイパーバイザー、コンテナの公開レイヤーにおけるステートフルな受信ポリシーを確認します。まずは要求されていない受信を拒否し、その後、公開が必要なサービスまたは信頼できるVPNプレフィックスから到達させる必要があるサービスに限り、送信元、宛先、プロトコル、ポートを絞った例外を作成します。

グローバルアドレスを使用しているからといって、グローバルな到達性が必要になるわけではありません。Internet SocietyのステートフルIPv6ファイアウォールの境界では、IPv6ファイアウォールが外向きの通信を許可しながら、要求されていない受信トラフィックをフィルタリングできることが説明されています。これは、多くのユーザーがNAT自体の機能だと誤って考えている境界です。

同じLANからではなく、外部のIPv6ネットワークからテストします。意図したHTTPSが機能し、管理用、データベース、SMB、未使用のポートが閉鎖またはフィルタリングされたままであることを確認します。サーバーのアドレスと公開プロキシのアドレスがある場合は、その両方に対して繰り返します。

DNS、TLS、ルーティング、パケットサイズを検証する

内部、外部、VPNのクライアントからAレコードとAAAAレコードを問い合わせ、アプリケーションが実際にどのアドレスを使用しているかを記録します。AAAAの宛先が正しい証明書を提示し、そのホスト名をIPv4の場合と同じアプリケーション識別情報へルーティングすることを確認します。

IPv6経由で通常のリクエストと大きな転送をテストします。ICMPv6のPacket Too Bigメッセージは経路動作の一部であるため、ICMPv6を広範にブロックすると、小さなページは読み込めても経路MTUブラックホールが発生することがあります。すべてのICMPを任意扱いするのではなく、必要な制御トラフィックを許可してください。

アドレスファミリーごとにログと動作を比較します。IPv4が機能しているのにIPv6が失敗する場合は、ルーティング、ファイアウォール、DNS、プロキシの証拠から違いを特定できるまで、AAAAレコードを公開しないか、適用範囲を狭めてください。

リリース前に障害と永続性のテストを実施する

メンテナンス時間帯にルーター接続を再起動するかプレフィックスを更新し、サーバーのアドレス、使用している場合はダイナミックDNS、ファイアウォールオブジェクト、プロキシのバインドが設計どおりに更新されることを確認します。サーバーを再起動し、公開サービスが起動する前にルールが読み込まれることを確認します。

IPv4が維持されたままIPv6を失う場合と、IPv6が維持されたままIPv4を失う場合をテストします。クライアントは予測可能な方法でフェイルオーバーするか、依存関係を明確に示す必要があります。一方のアドレスファミリーが別のサービスや古いアドレスへ黙って到達するなら、デュアルスタックという表示には意味がありません。

IPv6経由で意図したサービスが外部から機能し、意図しないポートがブロックされたままで、DNSとTLSが一致し、プレフィックスの変更によってポリシーが回避されない場合にのみ、対応完了と宣言します。結果が一致しない場合は、まずAAAAレコードの公開をロールバックし、その後の修正に備えてパケットとファイアウォールの証拠を保存します。

サポートとヒント

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.