У меня есть система Debian Stretch с адресами IPv4 и IPv6 и шлюзом по умолчанию. Адреса IPv4 и IPv6 в Интернете доступны. Когда я запускаю эхо-запрос к домену, имеющему DNS-запись A и AAAA, система пингует IPv4-адрес из записи A. В захвате пакета DNS-запроса я вижу, что и A, и AAAA запрошены и получены ответы. Когда я удаляю IPv4-адрес из системы, очевидно, что все работает, как ожидалось ....
Как это происходит? расстановка приоритетов, я думал, что IPv6 будет предпочтительнее. Если нет, можно ли его изменить?
Поиск в Google мне не очень помог, потому что все просят отключить IPv6 и не хотят его использовать ...
По умолчанию преобразователь предпочитает ipv6 адреса через ipv4. Но в debian была ошибка, из-за которой в некоторых случаях ipv4 предпочтительнее ipv6. Также этим поведением можно управлять с помощью файла /etc/gai.conf
(названного из syscall getaddrinfo
).