Windows、macOS、Linux、ルーターでIPv6を有効にする方法
デバイスとネットワークでIPv6を動作させます。Windows、macOS、Linux、および人気のあるルーターブランドのステップバイステップの手順。
前提条件#
IPv6を有効にする前に、3つのことが必要です:
- ISPサポート - ISPに電話するか、ドキュメントを確認してください。IPv6を提供していない場合、他のことは重要ではありません。
- ルーターサポート - 過去5〜7年のルーターは動作するはずです。不明な場合は仕様書を確認してください。
- 最新のOS - Windows 7+、macOS 10.7+、または過去10年のLinuxにはすべてIPv6が含まれています。
ほとんどのISPは誰にも知らせずにIPv6を有効にしています。すでに持っているかもしれません。
TL;DR - 要点まとめ
重要ポイント:
- ping6.netにアクセスするか
ping6 ipv6.google.comを実行してIPv6があるか確認 - Windows/macOS/Linux:IPv6はデフォルトで有効 — ルーターを設定するだけ
- ルーター:IPv6を有効化、接続タイプを「ネイティブ/自動」に設定、ルーターアドバタイズメントを有効化
- セキュリティ:IPv4ポリシーに合わせてIPv6ファイアウォールルールを設定
- プライバシー:MACアドレス追跡を防ぐためクライアントデバイスでプライバシー拡張を有効化
ジャンプ: Windows設定 | macOSセットアップ | Linuxガイド | ルーター設定
すでにIPv6を持っているか確認#
何かを設定する前に、現在の状態を確認してください。ping6.netにアクセスして、IPv6アドレスが自動的に検出されるかどうかを確認します。
コマンドラインから、IPv6のみのホストへのpingを試みます:
# Windows
ping -6 ipv6.google.com
# macOS/Linux
ping6 ipv6.google.com返信が得られたら、完了です。そうでない場合は、読み続けてください。
Windows 10/11#
IPv6はWindowsでデフォルトで有効になっていますが、確認または再有効化する方法は次のとおりです。
GUIメソッド#
Win + Rを押し、ncpa.cplと入力し、Enterを押します- ネットワークアダプターを右クリック → プロパティ
- リストで**インターネットプロトコルバージョン6(TCP/IPv6)**を見つけます
- チェックボックスがチェックされていることを確認します
- それを選択し、プロパティをクリックします
- IPv6アドレスを自動的に取得を選択します
- DNSサーバーアドレスを自動的に取得を選択します
- OKをクリックします
PowerShellメソッド#
管理者としてPowerShellを開きます:
# IPv6ステータスを確認
Get-NetAdapterBinding -ComponentID ms_tcpip6
# 特定のアダプターでIPv6を有効化
Enable-NetAdapterBinding -Name "Ethernet" -ComponentID ms_tcpip6
# すべてのアダプターで有効化
Get-NetAdapter | Enable-NetAdapterBinding -ComponentID ms_tcpip6
# 動作したことを確認
Get-NetIPAddress -AddressFamily IPv6
# 接続をテスト
Test-NetConnection -ComputerName ipv6.google.comうまくいかない場合は、IPv6スタックをリセットします:
netsh int ipv6 reset
ipconfig /flushdnsその後、ネットワークアダプターを再起動するか、再起動します。
WindowsでIPv6を無効にしないでください
Microsoftは、使用していなくてもIPv6を有効のままにすることを明示的に推奨しています。無効にすると、DirectAccess、HomeGroupが壊れ、DNS解決の遅延が発生する可能性があります。
macOS#
IPv6はデフォルトで有効になっています。確認または設定する方法は次のとおりです。
システム設定#
- システム設定 → ネットワークを開きます
- 接続(Wi-FiまたはEthernet)を選択します
- 詳細をクリックします
- TCP/IPタブに移動します
- IPv6を設定で、次を選択します:
- 自動 - SLAAC/DHCPv6用(推奨)
- リンクローカルのみ - ローカルネットワークのみ
- 手動 - 静的アドレス用
ターミナル#
# 現在のIPv6設定を確認
networksetup -getinfo "Wi-Fi"
# 自動IPv6を有効化
networksetup -setv6automatic "Wi-Fi"
# すべてのIPv6アドレスを表示
ifconfig | grep inet6
# 接続をテスト
ping6 ipv6.google.com静的設定の場合:
# 静的アドレスを設定
sudo networksetup -setv6manual "Wi-Fi" 2001:db8::10 64 2001:db8::1Linux#
設定方法は、ディストリビューションとネットワークマネージャーによって異なります。
NetworkManager(Ubuntu、Fedora、RHEL)#
GUI:
- 設定 → ネットワーク
- 接続の横にある歯車アイコンをクリックします
- IPv6タブに移動します
- メソッドを次に設定します:
- 自動 - ルーターアドバタイズメントを使用したSLAAC(デフォルト)
- 自動、DHCPのみ - DHCPv6のみ
- 手動 - 静的設定
- 適用をクリックします
nmcliを使用したコマンドライン:
# 現在の設定を確認
nmcli connection show "Wired connection 1" | grep ipv6
# SLAACを有効化
nmcli connection modify "Wired connection 1" ipv6.method auto
# DHCPv6を有効化
nmcli connection modify "Wired connection 1" ipv6.method dhcp
# 静的設定
nmcli connection modify "Wired connection 1" \
ipv6.method manual \
ipv6.addresses "2001:db8::10/64" \
ipv6.gateway "2001:db8::1"
# 変更を適用
nmcli connection up "Wired connection 1"systemd-networkd(Arch、Debianサーバーインストール)#
/etc/systemd/network/20-wired.networkを編集:
[Match]
Name=eth0
[Network]
DHCP=yes
IPv6AcceptRA=yes
# または静的の場合:
# Address=2001:db8::10/64
# Gateway=2001:db8::1サービスを再起動:
sudo systemctl restart systemd-networkdipコマンドを使用した手動設定#
一時的な設定またはトラブルシューティング用:
# 現在のIPv6アドレスを表示
ip -6 addr show
# IPv6アドレスを追加
sudo ip -6 addr add 2001:db8::10/64 dev eth0
# デフォルトルートを追加
sudo ip -6 route add default via 2001:db8::1 dev eth0
# ルーティングテーブルを確認
ip -6 route showこの設定は再起動後に残りません。永続的な変更には、NetworkManagerまたはsystemd-networkdを使用してください。
Linuxでのテスト#
# IPv6アドレスにping
ping6 2001:4860:4860::8888
# IPv6経由でホスト名にping
ping -6 google.com
# Traceroute
traceroute6 google.com
# ルーティングテーブルを確認
ip -6 route show
# 近隣探索キャッシュを表示
ip -6 neigh showルーター設定#
ルーターは、ISPからIPv6を要求し、LANにプレフィックスをアドバタイズする必要があります。設定はブランドによって異なります。
コンシューマールーターの一般的な手順#
- ルーターにログイン(通常は
192.168.1.1または192.168.0.1) - IPv6設定を見つける(詳細、インターネット、またはWANの下)
- IPv6を有効化
- ISPに基づいて接続タイプを選択:
- ネイティブ/自動 - 最も一般的、最初にこれを使用
- DHCPv6 - ISPがDHCPv6プレフィックス委任を使用
- PPPoE - IPv4にPPPoEを使用している場合
- 6rdまたは6to4 - レガシートンネリング(まれ)
- LANのルーターアドバタイズメントを有効化
- LANクライアントのSLAACまたはDHCPv6(または両方)を有効化
- 保存し、必要に応じて再起動
再起動後30〜60秒待ってから、デバイスでIPv6アドレスを確認してください。
ASUSルーター#
- 詳細設定 → IPv6
- 接続タイプ:ネイティブまたは自動
- インターフェイス:WANタイプに一致(PPPoEの場合はPPP、DHCPの場合はEthernet)
- DHCP-PD:有効化
- ルーターアドバタイズメント:有効化
- 適用
ASUSルーターは通常、正しい設定を自動検出します。「自動」が機能しない場合は、「ネイティブ」を試してください。
TP-Linkルーター#
- 詳細 → IPv6
- IPv6を有効化:オン
- インターネット接続タイプ:動的IP(SLAAC/DHCPv6)
- 保存
TP-Linkファームウェアはモデルによって大きく異なります。一部の古いモデルは、代わりに「自動設定」または「自動検出」が必要です。
Netgearルーター#
- 詳細 → 詳細設定 → IPv6
- インターネット接続タイプ:自動検出(または自動設定)
- 適用
Netgearの自動検出は、ほとんどのISPでうまく機能します。失敗した場合は、手動で「DHCPv6」を試してください。
UniFi(Ubiquiti)#
- 設定 → インターネット
- WANネットワークを選択
- IPv6接続:DHCPv6
- プレフィックス委任サイズ:/60(またはISPが提供する場合は/56)
- IPv6 RA:有効化
- DHCPv6/RDNSS DNS制御:自動
- 変更を適用
UniFiは設定に厳しいです。正しいプレフィックス委任サイズについては、ISPのドキュメントを確認してください。
pfSense / OPNsense#
WANインターフェイス:
- インターフェイス → WAN
- IPv6設定タイプ:DHCPv6
- DHCPv6プレフィックス委任サイズ:60または56(ISPに確認)
- IPv6プレフィックスのみを要求:チェックなし(WANアドレスとプレフィックスの両方が必要)
- IPv6プレフィックスヒントを送信:ISPが必要とする場合はチェック
- 保存 → 適用
LANインターフェイス:
- インターフェイス → LAN
- IPv6設定タイプ:インターフェイスを追跡
- IPv6インターフェイス:WAN
- IPv6プレフィックスID:0(追加のVLANのために増分)
- 保存 → 適用
ルーターアドバタイズメント:
- サービス → DHCPv6サーバーとRA
- LANインターフェイスを選択
- ルーターモード:アシスト(SLAAC + DHCPv6を有効化)
- ルーター優先度:通常
- 保存
pfSenseとOPNsenseは最も制御を提供しますが、ISPのIPv6展開方法を理解する必要があります。ほとんどのケーブルISPは/60プレフィックスでDHCPv6-PDを使用します。
DNS設定#
デバイスは、ルーターアドバタイズメントまたはDHCPv6経由でDNSサーバーを受信しますが、パブリックIPv6 DNSサーバーでオーバーライドできます。
パブリックIPv6 DNSサーバー#
| プロバイダー | プライマリ | セカンダリ | 機能 |
|---|---|---|---|
| Google Public DNS | 2001:4860:4860::8888 | 2001:4860:4860::8844 | 高速、フィルタリングなし |
| Cloudflare | 2606:4700:4700::1111 | 2606:4700:4700::1001 | プライバシー重視、高速 |
| Quad9 | 2620:fe::fe | 2620:fe::9 | マルウェアブロッキング |
| OpenDNS | 2620:119:35::35 | 2620:119:53::53 | コンテンツフィルタリング利用可能 |
DNSサーバーの設定#
Windows(PowerShell):
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" `
-ServerAddresses "2001:4860:4860::8888","2001:4860:4860::8844"macOS:
networksetup -setdnsservers "Wi-Fi" 2001:4860:4860::8888 2001:4860:4860::8844Linux(systemd-resolved):
/etc/systemd/resolved.confを編集:
[Resolve]
DNS=2001:4860:4860::8888 2001:4860:4860::8844その後再起動:
sudo systemctl restart systemd-resolvedLinux(NetworkManager):
nmcli connection modify "Wired connection 1" \
ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"
nmcli connection up "Wired connection 1"プライバシー拡張#
プライバシー拡張がないと、IPv6アドレスにMACアドレスが含まれます。これはネットワーク間で追跡可能です。
プライバシー拡張(RFC 4941)は、定期的にローテーションする一時アドレスを生成します。最新のシステムはこれをデフォルトで有効にしますが、確認してください。
Windows:
# ステータスを確認
netsh interface ipv6 show privacy
# 必要に応じて有効化
netsh interface ipv6 set privacy state=enabledmacOS:
# ステータスを確認(1を返すはず)
sysctl net.inet6.ip6.use_tempaddrプライバシー拡張はmacOSでデフォルトで有効になっています。0を返す場合、システム設定に問題があります。
Linux:
# ステータスを確認(2 = 一時アドレスを優先)
sysctl net.ipv6.conf.all.use_tempaddr
# 一時的に有効化
sudo sysctl -w net.ipv6.conf.all.use_tempaddr=2
# 永続的に有効化
echo "net.ipv6.conf.all.use_tempaddr = 2" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p詳細については、IPv6プライバシー拡張に関する記事を参照してください。
検証#
IPv6を設定した後、すべてが機能することを確認します:
- アドレスを確認:
ipconfig /all(Windows)、ifconfig(macOS/Linux)、またはip -6 addr(Linux)を使用 - 接続を確認:ping6.netにアクセスするか、接続テストを使用
- DNSをテスト:IPv6 DNSルックアップツールを使用
- ルーティングを確認:Tracerouteツールを使用して
2001:4860:4860::8888へのパスをトレース
IPv6アドレス(fe80ではなく2または3で始まる)とIPv6ホストへの成功した接続の両方が表示されるはずです。
fe80アドレスについて
fe80::で始まるリンクローカルアドレスは正常で、すべてのIPv6インターフェイスに存在します。ローカルネットワーク通信にのみ使用され、インターネット接続には使用されません。IPv6インターネットに到達するには、グローバルにルーティング可能なアドレス(2または3で始まる)が必要です。
トラブルシューティング#
IPv6アドレスなし#
順番に確認:
- ISPはIPv6をサポートしていますか?電話するか、ウェブサイトを確認してください。
- ルーターでIPv6が有効になっていますか?ログインして確認してください。
- ルーターでルーターアドバタイズメントが有効になっていますか?RAメッセージをブロードキャストする必要があります。
- ファイアウォールがICMPv6をブロックしていますか?ICMPv6はIPv4のICMPとは異なり、IPv6に必須です。
**クイックテスト:**ルーターをバイパスして、デバイスをモデムに直接接続します。IPv6アドレスを取得した場合、問題はルーター設定にあります。
アドレスはあるが接続なし#
順番に確認:
- デフォルトルートがありますか?
ip -6 route(Linux)またはnetstat -rn -f inet6(macOS)を実行し、defaultエントリを探します。 - ゲートウェイにpingできますか?
ip -6 routeでゲートウェイを見つけ、ping6 <gateway>でpingします。 - 外部IPv6ホストにpingできますか?
ping6 2001:4860:4860::8888を試してください。 - DNSは機能していますか?
nslookup google.com 2001:4860:4860::8888を試してください。
ほとんどの「接続なし」の問題は、デフォルトルートの欠落またはIPv6トラフィックをブロックするファイアウォールルールのいずれかです。
遅いまたは不安定なIPv6#
これは通常、壊れたパスMTU検出(PMTUD)を示します。一部のISPまたはルーターがICMPv6「パケットが大きすぎる」メッセージをブロックし、PMTUDを壊します。
テスト:
# 大きなパケットサイズでping
ping6 -s 1400 ipv6.google.comこれが失敗するが小さなpingが機能する場合、PMTUD問題があります。ISPに連絡するか、ルーターのWANインターフェイスのMTUを1480に削減してください。
詳細なトラブルシューティングについては、IPv6接続のトラブルシューティングに関するガイドを参照してください。
関連記事#
- IPv6トラブルシューティング:一般的な接続問題の修正 - IPv6接続の問題を診断および解決する方法を学ぶ実用的なガイド。
- DHCPv6対SLAAC:デバイスがIPv6アドレスを取得する方法 - IPv6アドレスの自動設定の2つの方法を深く理解します。