Рейтинг:0

Делегирование DNS с BIND и Cloudflare

флаг it

наверное, обычный вопрос, но я уже несколько месяцев трачу на это часы. Если вам нужны другие журналы/вывод/объяснение/и т.д. Просто спроси :)

Заранее спасибо!

Что мне нужно

  • Зона local.example.com должен управляться локальным сервером 10.20.0.9
  • Локальные серверы (10.20.0.0/24) доступны только из сети. но
  • Их имена хостов xxx.local.example.com доступны по всему миру из Интернета

Что у меня есть до сих пор

Я использую CloudFlare в качестве провайдера DNS, следуя это руководство, я настроил следующее:

  • Записи в CloudFlare:
    ns.example.com A 10.20.0.9 (локальный DNS-сервер)
    loc.example.com NS ns.example.com (делегирование в локальный DNS)
    
  • Записывает файл на моем локальном DNS-сервере (10.20.0.9 с помощью привязки9)
    loc.example.com. В SOA ns.example.com. hostmaster.example.com. (
        1628517915
        3600
        600
        24 часа
        3600 )
    s1.loc.example.com. В А 10.20.0.9
    

Моя проблема

CloudFlare не отвечает на мой запрос поиска NS для loc.example.com с ns.example.com как и ожидалось. Вместо этого запрос просто завершается с ошибкой "сбой сервера" (см. последний журнал CLI)...

вывод командной строки

  • копать ns.example.com

    ; <<>> DiG 9.11.5-P4-5.1+deb10u5-Debian <<>> ns.example.com
    ;; глобальные параметры: +cmd
    ;; Получил ответ:
    ;; ->>HEADER<<- код операции: QUERY, статус: NOERROR, id: 10036
    ;; флаги: qr rd ra; ЗАПРОС: 1, ОТВЕТ: 1, ПОЛНОМОЧИЯ: 0, ДОПОЛНИТЕЛЬНО: 1
    
    ;; ДОПОЛНИТЕЛЬНЫЙ ПСЕВДОРАЗДЕЛ:
    ; ЭДНС: версия: 0, флаги:; УДП: 1232
    ;; РАЗДЕЛ ВОПРОСОВ:
    ;ns.example.com. В
    
    ;; РАЗДЕЛ ОТВЕТОВ:
    ns.example.com. 300 В А 10.20.0.9
    
    ;; Время запроса: 111 мс
    ;; СЕРВЕР: 1.1.1.1#53(1.1.1.1)
    ;; КОГДА: пн, 9 августа, 16:42:06 по центральноевропейскому летнему времени 2021 г.
    ;; РАЗМЕР MSG rcvd: 66
    

    Итак, сервер имен разрешает наш локальный IP-адрес, отлично!

  • копать @10.20.0.9 NS loc.example.com

    ; <<>> DiG 9.11.5-P4-5.1+deb10u5-Debian <<>> @10.20.0.9 NS loc.example.com
    ; (найден 1 сервер)
    ;; глобальные параметры: +cmd
    ;; Получил ответ:
    ;; ->>HEADER<<- код операции: QUERY, статус: NOERROR, id: 47653
    ;; флаги: qr aa rd ra; ЗАПРОС: 1, ОТВЕТ: 1, ПОЛНОМОЧИЯ: 0, ДОПОЛНИТЕЛЬНО: 1
    
    ;; ДОПОЛНИТЕЛЬНЫЙ ПСЕВДОРАЗДЕЛ:
    ; ЭДНС: версия: 0, флаги:; UDP: 4096
    ; COOKIE: 7fa7e218d1c20f1e113b236e61113fb96c1b101d374cbde7 (хорошо)
    ;; РАЗДЕЛ ВОПРОСОВ:
    ;loc.example.com. В НС
    
    ;; РАЗДЕЛ ОТВЕТОВ:
    loc.example.com. 3600 В NS ns.example.com.
    
    ;; Время запроса: 1 мс
    ;; СЕРВЕР: 10.20.0.9#53(10.20.0.9)
    ;; КОГДА: Пн, 9 августа, 16:46:17 по центральноевропейскому летнему времени 2021 г.
    ;; РАЗМЕР MSG rcvd: 96
    

    Наш локальный DNS-сервер знает, что он отвечает за поддомен

  • копать @ 10.20.0.9 s1.loc.example.com

    ; <<>> DiG 9.11.5-P4-5.1+deb10u5-Debian <<>> @10.20.0.9 s1.loc.example.com
    ; (найден 1 сервер)
    ;; глобальные параметры: +cmd
    ;; Получил ответ:
    ;; ->>HEADER<<- код операции: QUERY, статус: NOERROR, id: 38039
    ;; флаги: qr aa rd ra; ЗАПРОС: 1, ОТВЕТ: 1, ВЛАСТЬ: 1, ДОПОЛНИТЕЛЬНО: 1
    
    ;; ДОПОЛНИТЕЛЬНЫЙ ПСЕВДОРАЗДЕЛ:
    ; ЭДНС: версия: 0, флаги:; UDP: 4096
    ; COOKIE: 7790b2d359140e5f04be8596611140927c7321fefc1fbbe9 (хорошо)
    ;; РАЗДЕЛ ВОПРОСОВ:
    ;s1.loc.example.com. В
    
    ;; РАЗДЕЛ ОТВЕТОВ:
    s1.loc.example.com. 3600 В А 10.20.0.1
    
    ;; ОТДЕЛ ПОЛНОМОЧИЙ:
    loc.example.com. 3600 В NS ns.example.com.
    
    ;; Время запроса: 1 мс
    ;; СЕРВЕР: 10.20.0.9#53(10.20.0.9)
    ;; КОГДА: Пн, 9 августа, 16:49:54 CEST 2021
    ;; РАЗМЕР MSG rcvd: 119
    

    Таким образом, локальный DNS может разрешать наши локальные хосты.

  • копать @1.1.1.1 NS loc.example.com

    ; <<>> DiG 9.11.5-P4-5.1+deb10u5-Debian <<>> @1.1.1.1 NS loc.example.com
    ; (найден 1 сервер)
    ;; глобальные параметры: +cmd
    ;; Получил ответ:
    ;; ->>HEADER<<- код операции: QUERY, статус: SERVFAIL, id: 33748
    ;; флаги: qr rd ra; ЗАПРОС: 1, ОТВЕТ: 0, АВТОРИЗАЦИЯ: 0, ДОПОЛНИТЕЛЬНО: 1
    
    ;; ДОПОЛНИТЕЛЬНЫЙ ПСЕВДОРАЗДЕЛ:
    ; ЭДНС: версия: 0, флаги:; УДП: 1232
    ; ОПТ=15: 00 16 (""..")
    ;; РАЗДЕЛ ВОПРОСОВ:
    ;loc.example.com. В НС
    
    ;; Время запроса: 12 мс
    ;; СЕРВЕР: 1.1.1.1#53(1.1.1.1)
    ;; КОГДА: Пн, 9 августа, 16:51:45 по центральноевропейскому летнему времени 2021 г.
    ;; РАЗМЕР MSG rcvd: 57
    

    Вот в чем проблема: CloudFlare НЕ отвечает на наш запрос записи NS. Почему :о?

флаг cn
Это проблема подключения? Есть ли способ для «1.1.1.1» связаться с вашим сервером имен? (Брандмауэр?)
флаг fr
У вас не может быть публично разрешаемых имен, если серверы имен, ответственные за эти имена, находятся в диапазонах адресов RFC1918.
флаг it
@Tomek, но как большие парни справляются с этими задачами? Я имею в виду, что я мог бы просто направить своих VPN-клиентов на локальный DNS-сервер, но это также переопределит их настройки DNS для всех других доменов...
флаг fr
Это именно то, что делает VPN моего работодателя, когда я его использую. Кроме того, он заменяет маршрут по умолчанию, который в любом случае делает недействительными любые другие серверы имен.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.