サーバープロバイダーからネイティブIPv6/64サブネットを受け取りましたが、希望どおりに再生できません。
仮想マシンを実行していますが、仮想マシンに独自のパブリックIPを持たせたいです。
次の情報を入手したとしましょう。
IP:1:1:1:1 ::/64、ゲートウェイ:1:1:1:0 :: 1
ここで、ホストマシンにip 1:1:1:1 :: 1を設定し、残りをeth0からすべての仮想マシンがブリッジされる内部br0にルーティングするようにします。
ルートマシンからping6ipv6.google.comを実行することは可能であるため、これまでのところ機能しているようです。
ルーティングを有効にしましたが、パケットは内部マシンから(br0から)eth0を介して適切に転送されているようですが、それ以上のことはありません...応答がありません。
Eth0はbr0の一部ではないことに注意してください。
何か案は?
プロバイダーが実際にroutesサブネットをホストに接続していない限り、ゲストのIPのICMPv6近隣検出(ND)をプロキシするようにホストを設定する必要があります。
2001:0DB8:A::/64
が割り当てられているとすると、ホストは2001:0DB8:A::1
でeth0
になり、ゲストVMは仮想ブリッジで2001:0DB8:A::2
を使用しますbr0
)。NDクエリをプロキシするようにホストに指示するには、次のコマンドを発行します。
ip -6 neigh add proxy 2001:0DB8:A::2 dev eth0
また、IPv6に対して転送およびNDプロキシが有効になっていることを確認してください。
sysctl -w net.ipv6.conf.all.forwarding=1
sysctl -w net.ipv6.conf.all.proxy_ndp=1
ゲストでは、br0
上のホストのリンクローカルアドレスをデフォルトゲートウェイとして使用します。または、ホストのbr0
インターフェイスにIPを追加し、それをゲストのデフォルトゲートウェイとして使用します。
トンネルプロバイダーまたはISPからネイティブ/ 64を受け取った場合は、それを問題なくIPv6インターネットにルーティングできます。プロキシNDPも必要ありません。 VirtualBoxやVMwareWorkstation/Playerを含むほとんどの仮想マシンでは、ホストは、ホストのLANネットワークにブリッジもNATルーティングもされていないプライベートネットワークをセットアップできます。 LinuxでVirtualBoxを使用していると仮定すると、[設定]-> [ネットワーク]で新しいホストオンリーネットワークを作成できます。おそらく_vboxnet1
_のような名前になります。 IPv4設定は無視して、DHCPを無効のままにしておくことができます。次に、[ホストオンリーネットワーク]を選択し、仮想マシンのネットワークアダプターの下にある_vboxnet1
_を選択します。既存のIPv4用アダプターを保持する場合は、新しいネットワークアダプターを作成できます。これで、ホストコンピューターを通常の古いIPv6ルーターとして使用できるようになります。 _vboxnet1
_でプレフィックスをアドバタイズし、_/etc/sysctl.conf
_でIPv6転送を有効にするようにradvdを設定する必要があります。 _net.ipv6.conf.all.forward=1
_です。また、同じ/ 64ネットワークから_vboxnet1
_に静的IPv6アドレスを割り当てることもできます。ただし、その/ 64ネットワークからホスト上の別のアダプタにアドレスを割り当てないことが重要です。そうしないと、正しくルーティングする方法がわかりません。