несколько дней назад я проводил несколько экспериментов с связыванием 9 в докере и столкнулся с аномальным поведением. Ожидая обновления привязки до стабильной версии 9.20 с поддержкой DOH на вышестоящих серверах, я всегда использовал это руководство на своих DNS-серверах: Руководство по Cloudflared
Я всегда получал этот результат, когда проверял 1.1.1.1/help ДОХОК
Однако, если я запущу dockerbind9 на хосте, на котором работает Cloudflared, я получу такой результат:
Мой именованный.conf:
tls local-tls {
key-file "/etc/bind/ssl/privkey.pem";
cert-file "/etc/bind/ssl/fullchain.pem";
};
options {
listen-on port 53 {any;};
listen-on port 443 tls local-tls http default {any;};
allow-query {any;};
recursion yes;
forwarders {
127.0.0.1 port 5053;
};
};
Также пробовал использовать:
tls local-tls {
key-file "/etc/bind/ssl/privkey.pem";
cert-file "/etc/bind/ssl/fullchain.pem";
};
options {
listen-on port 53 {any;};
listen-on port 443 tls local-tls http default {any;};
allow-query {any;};
recursion yes;
forwarders {
172.17.0.1 port 5053;
};
};
Но результат тот же
Мой файл компоновки докера:
version: '3'
services:
bind9:
image: ubuntu/bind9
container_name: bind9
environment:
- BIND9_USER=root
- TZ=Europe/Rome
ports:
- "53:53"
- "53:53/udp"
- "443:443/tcp"
volumes:
- ./config:/etc/bind
- ./cache:/var/cache/bind
- ./records:/var/lib/bind
- ./ssl:/etc/bind/ssl
- ./zones:/etc/bind/zones
- ./keys:/etc/bind/keys
- ./run:/var/run
restart: unless-stopped
Кто-нибудь может указать мне правильное направление? Спасибо :)
Включите DOH на вышестоящем сервере в докеризованной среде BIND9.





Я нашел решение
В этом файле /etc/default/cloudflared
Добавьте опцию -адрес 0.0.0.0 Сюда:
CLOUDFLARED_OPTS=-адрес 0.0.0.0 --port 5053 --upstream https://1.1.1.1/dns-query --upstream https://1.0.0.1/dns-query
Затем перейдите в файл Name.conf и добавьте сервер пересылки объявлений с адресом хоста Docker, обычно это 172.17.0.1.
forwarders {
172.17.0.1 port 5053;
};
Теперь это работает!!!
Для большей безопасности вы также можете использовать адрес 172.17.0.1 в опции -address. Таким образом, DNS-прокси принимает соединения только из сети докера.
CLOUDFLARED_OPTS=-адрес 172.17.0.1 --порт 5053 --upstream https://1.1.1.1/dns-query --upstream https://1.0.0.1/dns-query