DNS Resolver



  • Здравствуйте. Совершенно нубский вопрос, но он не дает мне покоя.
    Есть pf 2.3.4. В System/General Setup вписан dns 10.0.0.111 (winserv2016), который находится в локальной сети. Включен DNS Resolver. Стоят галки:

    Enable DNSSEC Support
    Enable Forwarding Mode
    Register DHCP leases in the DNS Resolver
    Register DHCP static mappings in the DNS Resolver

    В Advanced Settings:

    Hide Identity
    Hide Version
    Prefetch Support
    Prefetch DNS Key Support
    Harden DNSSEC Data

    Подключаюсь по ssh

    /root: nslookup
    > trans.ns1.build
    ;; Got SERVFAIL reply from 127.0.0.1, trying next server
    Server:         10.0.0.111
    Address:        10.0.0.111#53
    
    Name:   trans.ns1.build
    Address: 10.0.0.91
    ;; Got SERVFAIL reply from 127.0.0.1, trying next server
    

    Проходит где-то 5 минут

    > trans.ns1.build
    Server:         127.0.0.1
    Address:        127.0.0.1#53
    
    ** server can't find trans.ns1.build: NXDOMAIN
    

    Если на клиенте в dns прописать локальный dns, то все резолвится, но если выставить в качестве днс pf, который должен резолвить по вписанному dns, то происходит вещь описанная выше.
    С клиента (win10) на котором прописан dns pf'a, если произвести nslookup trans.ns1.build 10.0.0.111, то все резолвится
    Отсюда вопрос: как победить проблему?



  • Доброе.
    А на 10.0.0.111 (winserv2016) поддержка dnssec вкл и работает корректно ?



  • И проверьте опцию "DNS Rebind" — если она не отключена то pfSense будет пытаться блокировать все DNS ответы, содержащие приватные сети.



  • @werter:

    Доброе.
    А на 10.0.0.111 (winserv2016) поддержка dnssec вкл и работает корректно ?

    Подписал прямую и обратную зону используя рекомендуемые параметры. Как узнать корректность работы не знаю.
    @PbIXTOP:

    И проверьте опцию "DNS Rebind" — если она не отключена то pfSense будет пытаться блокировать все DNS ответы, содержащие приватные сети.

    Добавил в Custom options
    server:
    private-domain: "ns1.build"
    Пробовал отключать так же rebind check и dnssec, результат тот же, дальше 127.0.0.1#53 не идет
    Кстати еще такой вопрос. Например я хочу перенаправлять все днс запросы на пф, создав при этом правило, но при этом я хочу создать разрешающее правило на 1 из днсов поставив правило выше запрещающих, как оно должно выглядить?
    И такой вопрос,  можно ли заставить ходить на определенный домен по опрределенному днсу? например использовать тот же 10.0.0.111 если заголовок *.ns1.build



  • @borg:

    И такой вопрос,  можно ли заставить ходить на определенный домен по опрределенному днсу? например использовать тот же 10.0.0.111 если заголовок *.ns1.build

    Для это существует простая настройка Domain Overwrite, как в Resolver, так и в DNS Forwader

    @borg:

    Кстати еще такой вопрос. Например я хочу перенаправлять все днс запросы на пф, создав при этом правило, но при этом я хочу создать разрешающее правило на 1 из днсов поставив правило выше запрещающих, как оно должно выглядить?

    Я для запрета использовать стороние DNS серверы писал такие правила:
    1. Делал Port Forward на LAN интерфейсе все, ну или почти все, запросы на 53 в 127.0.0.1:53
    2. Разрешал доступ к DNS портам на LAN address и localhost.
    3. Остальные запросы на 53 порт отправляю на всякий случай в DROP.

    @borg:

    Пробовал отключать так же rebind check и dnssec, результат тот же, дальше 127.0.0.1#53 не идет

    DNS Forwader на rebind обычно в лог кидает предупреждение. Как себя при этом ведет Resolver не знаю - не могу я нормально готовить Unbound.



  • С запрещающим правилом понятно, а как создать разрешающее, например, вот я перенаправил все днс запросы на пф, но хочу например чтобы можно было ходить на 8.8.8.8 в обход пфа, пробовал сделать вот так:
    Destination Invert match 8.8.8.8
    Destination port range DNS
    Redirect target IP 10.20.10.111
    Redirect target port DNS
    Но видимо оно не правильное



  • 2 borg
    Доброе.
    Кэш днс сбрасывали в подопытных системах?  Что у 10.20.10.111 стоит в кач-ве ДНС в сет. настройках ?

    Попробуйте так. Оставьте только это правило. Отдельное запрещающее не требуется (проверить ?) :

    Source not\invert 10.20.10.111
    Destination any
    Destination port range DNS
    Redirect target IP 127.0.0.1
    Redirect target port DNS



  • Сбрасывал. В качестве днс он сам же. Прописал в Domain Overwrite этот днс и все поперло. Проверять как будет если иначе сделать страшно, боязнь все сломать) соберусь как нибудь с силами когда появится доп время и из бейкапа уже попробую подругому



  • В догонку по теме рекомендую :
    как то у нас тут проскакивала тема по ДНСам от яндекса
    вот статейка https://habrahabr.ru/post/196844/
    вот детальней https://dns.yandex.ru/
    настроил на работе "семейный" - мне очень понравилось :)

    Адреса Яндекс.DNS:

    Базовый
    77.88.8.1
    77.88.8.8

    Безопасный
    77.88.8.2
    77.88.8.88

    Семейный
    77.88.8.3
    77.88.8.7