web-dev-qa-db-ja.com

DNSのIPv6問題

仮想マシンがあり、IPv6のみを介してアクセスします(IPv4は使用できません)。 Ubuntu 16.04 LTSサーバーです。私はこれまでIPv6専用マシンを使用したことがないため、ここで些細なことを見逃す必要があります。

私の構成:

  1. ifconfig
eth0      Link encap:Ethernet  HWaddr aa:00:08:d0:f9:b2  
          inet6 addr: myIPv6Address/64 Scope:Link
          inet6 addr: myIPv6Address/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:206 errors:0 dropped:0 overruns:0 frame:0
          TX packets:187 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:27034 (27.0 KB)  TX bytes:44976 (44.9 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:82 errors:0 dropped:0 overruns:0 frame:0
          TX packets:82 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:34008 (34.0 KB)  TX bytes:34008 (34.0 KB)
  1. etc/networks
source /etc/network/interfaces.d/*

iface eth0 inet6 static
    address myIPv6Address
    netmask 64
    dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888

私の問題は、Googleにpingを実行できる一方で、インターネットの他の部分にはアクセスできないように見えることです。 Google以外からはpingまたはwgetできません(!!!)

ping6 ipv6.google.com 
PING ipv6.google.com(fra16s14-in-x0e.1e100.net)56 data bytes
64 bytes from fra16s14-in-x0e.1e100.net: icmp_seq=1 ttl=54 time=61.2 ms 
64 bytes from fra16s14-in-x0e.1e100.net: icmp_seq=2 ttl=54 time=61.3 ms 
64 bytes from fra16s14-in-x0e.1e100.net: icmp_seq=3 ttl=54 time=61.3 ms

たとえば、wget http://www.google.com githubから何も取得できません。

wget -6 https://github.com/somefile
--2017-01-02 13:43:54--  
https://github.com/somefile
Resolving github.com (github.com)... failed: Name or service not known.
wget: unable to resolve Host address ‘github.com’    

私は何が欠けていますか? wgetできないはずですか? DNSは正常に動作しているようです。構成にエラーがありますか?

1

あなたが見ているものは、まさに期待どおりです。マシンにはIPv6のみがあります。 GoogleにはIPv4とIPv6の両方があるため、IPv6を介してアクセスできます。ただし、GitHubにはIPv4しかありません。 IPv4とIPv6は異なるプロトコルであるため、互いに通信しません。

基本的に、サーバーとGitHubは異なる言語を話し、翻訳サービスを使用していません。

IPv6クライアントがIPv4サーバーと通信できるようにする変換プロトコルは、NAT64 + DNS64と呼ばれます。理想的には、サーバーがホストされているISPがそのようなサービスを提供する必要があります。そうでない場合は、私の友人(JanŽorž)が自分の研究室でホストしている実験サービスを試すことができます。手順は https://go6lab.si/current-ipv6-tests/nat64dns64-public-test/ にあります。

NAT64では、IPv6クライアントのみがIPv4サーバーにアクセスでき、その逆はできないことに注意してください。そのため、IPv4のみを備えたクライアントはIPv6サーバーに到達できません。そのためには、SIIT-DCサービスが必要ですが、そのようなサービスを提供している人は誰もいません。

4
Sander Steffann