Я использую IPv4 + IPv6 на сервере (№1).
Иногда IPv4-адрес сопоставляется с другим сервером (№2), поэтому №1 недоступен через IPv4, но остается доступным через IPv6.
В этом случае поиск IPv6 dns не будет работать.
$ ping6 mirror.ipv6.hetzner.de
unknown host
Если я отключу адрес IPv4, все будет работать нормально.
$ ping6 mirror.ipv6.hetzner.de
PING mirror.ipv6.hetzner.de(2a01:4f8:0:a101::1:1) 56 data bytes
64 bytes from 2a01:4f8:0:a101::1:1: icmp_seq=1 ttl=60 time=0.469 ms
Как это возможно? Сеть IPv6 должна служить запасным вариантом, если адрес IPv4 сопоставлен с другим сервером. Но если я не могу разрешить какие-либо имена хостов, я не могу работать с ним.
Есть ли возможности заставить IPv6 dns работать, несмотря на то, что IPv4 доступен или нет?
Редактировать:
/etc/resolv.conf
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 213.133.99.99
nameserver 213.133.100.100
nameserver 213.133.98.98
nameserver 2a01:4f8:0:a0a1::add:1010
nameserver 2a01:4f8:0:a102::add:9999
nameserver 2a01:4f8:0:a111::add:9898
Маршрутизация:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 5.9.61.167 0.0.0.0 UG 100 0 0 eth0
5.9.61.167 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
$ route -6
Kernel IPv6 routing table
Destination Next Hop Flag Met Ref Use If
2a01:4f8:162:7ffe:1::2/128 :: U 1024 0 1 eth0
2a01:4f8:162:7ffe:6::/80 :: U 256 0 0 eth0
fe80::/64 :: U 256 0 0 eth0
::/0 2a01:4f8:162:7ffe:1::2 UG 1024 0 0 eth0
::/0 :: !n -1 1 6 lo
::1/128 :: Un 0 1 5 lo
2a01:4f8:162:7ffe:6::2/128 :: Un 0 1 190 lo
fe80::5054:ff:fe3d:5f4c/128 :: Un 0 1 0 lo
ff00::/8 :: U 256 0 0 eth0
::/0 :: !n -1 1 6 lo
Вы описываете ситуацию как «IPv4-адрес сопоставлен с другим сервером». Означает ли это, что IPv4-адрес фактически удален с сервера №1 (не настроен из сетевого интерфейса) или просто он не маршрутизируется в систему?
Я спрашиваю об этом, потому что порядок в resolv.conf сначала будет пробовать IPv4, а затем IPv6, поэтому, когда сервер `` думает '', что у него есть IPv4, он отправит пакет по IPv4 и никогда не увидит ответа (а сервер # 2 проигнорирует его ).
Решением было бы выяснить, какой процесс вызывает адреса IPv4 в конфигурации resolvconf и какой процесс вызывает адреса IPv6, и переключить их в / etc / resolvconf / interface-order