Я имею (предпринятый к), настраивает dnscache на Ubuntu 14.04 (Надежный человек), чтобы сделать двойной стек для обслуживания запросов И запросов авторитетных серверов имен.
Чтобы быть ясным, я использую dbndns пакет, который имеет патч IPv6 fefe.
Я установил dbndns и dnscache-управляемые пакеты. Я удостоверился это /etc/service/dnscache/env/IP
был 0.0.0.0
и /etc/service/dnscache/env/IPSEND
был 0.0.0.0
.
Я также включил наши диапазоны IP /etc/service/dnscache/root/ip
.
Я могу теперь загрузить aaaa и использование записей dig
на другой машине и по IPv4 и по IPv6. Но testipv6.com имеет тест для загрузки записей от IPv6 только авторитетный сервер имен. Для тестирования этого это загружает URL http://ds.v6ns.test-ipv6.com/ip/?callback=?. Если я рою имя хоста для этого, ds.v6ns.test-ipv6.com
использование 8.8.8.8
(IPv6 Google включил сервер DNS), я возвращаю запись AAAA. Но выполнение того же к моему dbndns кэшу (по IPv4 и IPv6) не возвращает результата.
IPSEND должен быть изменен? Если так, что к? Я не хочу повреждать разрешение материала для IPv4 только авторитетные серверы имен.
к сожалению, это не сработает, даже если dbndns пропатчен.
Для работы вам потребуются два экземпляра dnscache, один с определенным IPv4-адресом (используя его, как вы это делали ранее) и один с конкретным IPv6-адресом:
root@fw0:/service# grep '' dnscache*/env/IP*
dnscache/env/IP:10.66.1.1
dnscache/env/IPSEND:198.51.100.1
dnscache6/env/IP:2001:db8:10:30::1
dnscache6/env/IPSEND:0.0.0.0
замените 10.66.1.1
на свой частный IPv4, а 198.51.100.1
на ваш общедоступный IPv4 и 2001: db8: 10: 30 :: 1
с вашими (общедоступными) адресами IPv6. Затем он работает для меня:
# dig aaaa ds.v6ns.test-ipv6.com @2001:db8:10:30::1
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> aaaa ds.v6ns.test-ipv6.com @2001:db8:10:30::1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32403
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;ds.v6ns.test-ipv6.com. IN AAAA
;; ANSWER SECTION:
ds.v6ns.test-ipv6.com. 360 IN AAAA 2001:470:1:18::119
У меня была та же проблема, и я обнаружил, что она исправлена обновлением test23
Фефе до его патча test27
; в частности, различия в query.c
устранили эту проблему.
В основном это изменения примерно такие:
-dtype = z->level ? DNS_T_A : z->type;
+dtype = z->level ? (z->ipv6[z->level] ? DNS_T_AAAA : DNS_T_A) : z->type;
Однако в операторе if вокруг строки 950 отсутствуют фигурные скобки (о которых я сообщу Fefe), и вам также необходимо изменить dtype
по-другому, если у вас есть исправления безопасности из http://www.your.org/dnscache/ применены (что, вероятно, вам следует) .
Я поддерживаю сильно объединенный и настроенный (для поддержки IPv6 в стиле OpenBSD) его вариант, но вот мой патч для query.c , который должен помочь вам объединить их.
IPSEND
должен быть ::
, чтобы это работало, конечно. Упомянутый вами тестовый хост ds.v6ns.test-ipv6.com
работает у меня после изменения и терпит неудачу раньше, поэтому я почти уверен, что это было.