У меня есть виртуальная машина, к которой получают доступ только через IPv6 (никакой доступный IPv4). Это - Ubuntu 16.04 сервер LTS. Я никогда не использовал IPv6 только машина прежде, и поэтому я должен пропустить что-то тривиальное здесь.
Моя конфигурация:
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)
source /etc/network/interfaces.d/* iface eth0 inet6 static address myIPv6Address netmask 64 dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888
Моя проблема состоит в том, что, в то время как я могу проверить с помощью ping-запросов Google, у меня, кажется, нет доступа к остальной части Интернета. Я не могу проверить с помощью ping-запросов или wget ниоткуда кроме Google (!!!)
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 является nopt, работающим правильно. У меня есть некоторая ошибка на моей конфигурации?
То, что Вы видите, точно как ожидалось. Ваша машина только имеет 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, не наоборот. Таким образом, Ваш сервер IPv6 не будет достижим клиентами, которые только имеют IPv4. Для этого Вам был бы нужен сервис SIIT-DC, но я не знаю, что кто-либо предлагает такую услугу.