IPv6の意図しない優先順位で経路切り替え『トラブル事例の話⑧』
「IPv6を有効にしただけなのに、急に通信が不安定になった」──。
pingは通る、でもアプリが遅い・VPNが切れる・監視が途絶える。
原因は IPv6優先通信による“経路切り替え”。
IPv4とIPv6が同時に有効な環境で、アプリやOSがIPv6を優先して通信を始め、
意図せず「別ルート」を通り始めたことによる典型的トラブルだ。
何が起きる?(症状)
IPv6有効化後に社内システムやクラウド接続が不安定
ping(IPv4)は通るがアプリ(IPv6優先)は遅延・タイムアウト
VPN/リモートデスクトップが頻繁に切断される
外部監視で通信断が検知されない(IPv6経由でだけ通っている)
FWログに“未知のIPv6トラフィック”が増加
DNS解決が遅くなる(AAAA優先応答で遅延)
なぜ起きる?(原因)
OSやブラウザがIPv6を自動優先(Happy Eyeballs実装による)
IPv6ルートがデフォルトで広報されており、IPv4より優先度高
IPv6側のFW/ACL/NAT設定が未整備で通信途中でドロップ
DNSがAAAAレコードを返し、IPv6で疎通開始
一部ルータやFWでIPv6無効化前提の設定が残っている
**IPv6トンネル機能(自動6to4, ISATAP)**が勝手に起動
図:IPv6が優先されて“想定外の経路”を通る構成
[Client PC]
├── IPv4: 192.168.0.10 → Internet(FW通過OK)
└── IPv6: 2404:7a80:xxxx::10 → 別ルート(FW未許可)
→ OSがIPv6を優先して通信 → FWでドロップ → タイムアウト
切り分け(最短ルート)
IPv6ルート存在確認
→ ip -6 route show(Windowsなら netsh interface ipv6 show route)DNS解決動作を確認
→ nslookup / dig で AAAA レコード応答を確認通信経路比較
→ tracert(IPv4)と tracert -6(IPv6)でルート差異を確認FWログ確認
→ IPv6トラフィックがドロップされていないかOS設定確認
→ IPv6優先度(prefix policy)を確認:netsh interface ipv6 show prefixpolicies
今すぐできる対処(テンプレ)
一時的に IPv6無効化(確認目的で限定的に)
Windows:
netsh interface ipv6 set teredo disabled netsh interface ipv6 set privacy state=disabled
Linux:
sysctl -w net.ipv6.conf.all.disable_ipv6=1
ルータ・FW側でIPv6経路を一時遮断し挙動を確認
DNSでAAAAレコードを一時削除 or 内部DNSでIPv4優先解決
IPv6運用を継続する場合は、FW/ACLをIPv6用に整備しルート統一
IPv6トンネル自動設定を無効化(6to4, ISATAP, Teredo)
恒久対策/再発防止チェックリスト
IPv6有効化前にFW/ACL/NATルールを設計・実装
DNSのAAAA応答範囲を整理(内部向けに不要なら削除)
IPv6優先度(prefix policy)を社内標準化
IPv6トンネル機能を全端末で明示的に無効化
ネットワーク監視をIPv4/IPv6両方対応に
IPv6ルート広告(RA)の有無をルータ設定で管理
IPv6/IPv4の経路を“同等セキュリティポリシー”で運用
有効化手順書に「影響確認リスト」を追加
落とし穴(よくあるミス)
「IPv6未使用だから大丈夫」と思って放置(実際は勝手に有効)
IPv6がFWを通らず、通信が片方向だけ成立
VPNがIPv4トンネルをIPv6経路で誤って流す
DNSがAAAAを返すだけで一部端末がIPv6優先通信に切り替え
監視がIPv4のみで“障害を検知できない”
変更後の確認ポイント
IPv4/IPv6両経路でアプリが安定動作
DNS解決が遅延なく応答
FWログでIPv6トラフィックが正しく許可/拒否されている
RA/DHCPv6広告が設計通りに配布
IPv6トンネル自動生成が停止している
まとめ
IPv6対応は「次世代化」ではなく、「経路が2本になる」ことを意味する。
そして、多くのトラブルは “IPv6が勝手に優先された” だけで起こる。
IPv6を無効にするのではなく、“IPv4と同じ運用レベルで設計する”。
それが安定稼働への第一歩だ。
使うなら、守る設計も同時に行う──これが現場の現実解。
