Назад | Перейти на главную страницу

Почему я вижу ошибки разрешения IPv6, несмотря на отключение IPv6 в привязке?

Я вижу такие строки, как

Feb 13 21:45:48 srv named[2355]: address not available resolving 'secure.gravatar.com/A/IN': 2a04:fa87:ffff::c6b5:7405#53
Feb 13 21:42:29 srv named[2355]: address not available resolving 'la1.akamaiedge.net/AAAA/IN': 2001:500:a8::e#53

в /var/log/syslog несмотря на бег bind только в режиме IPv4

srv # cat /etc/default/bind9
# run resolvconf?
RESOLVCONF=no

# startup options for the server
OPTIONS="-u bind -4"

Почему это так?

Если система использует systemd, то редактируя /etc/default/bind9 не будет иметь никакого эффекта.

редактировать /lib/systemd/system/bind9.service файл вместо этого и добавьте -4 возможность ExecStart переменная. Я использую Ubuntu 16, и мне пришлось это сделать.

ExecStart=/usr/sbin/named -f -4 -u bind

Также дважды проверьте, что после перезапуска named работает с -4 вариант.

На самом деле есть ошибка, связанная с этой путаницей конфигурации https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/1565060

В -4 Параметр только изменения указывает привязке прослушивать и отвечать на пакеты IPv4. Это не отключает использование AAAA записи.

Так есть ли способ отказаться от адресов IPv6 в привязке?

Если это то, что вы действительно хотите, вы можете настроить конфигурацию привязки, включив в нее следующее. Вы должны отключить проверку dnssec, так как вы удаляете действительные записи.

options {
    ...
    dnssec-enable no;
    filter-aaaa-on-v4 yes;
    ...
};

В качестве альтернативы добавлению -4 к named командная строка (которая работает, но может быть неудобной в зависимости от того, как named запущен), также можно добавить в конфигурацию следующее с аналогичным эффектом, касающимся отсутствия попыток подключения через IPv6:

server ::/0 {
        bogus yes;
};

Это помечает серверы с адресами IPv6 как фальшивка, предотвращая запросы к этим адресам.

Это, вероятно, само собой разумеется, но оба эти варианта следует использовать только в средах без глобального подключения IPv6, где named постоянно регистрирует подобные ошибки для всего.
Если вы сталкиваетесь только с некоторыми случайными проблемами с подключением к определенным серверам, это не повод отключать использование всего протокола с вашей стороны.