DNS + OpenDNS



  • Здравствуйте! Стоит задача фильтровать весть трафик сети с помощью pfsense. По http все ок, а вот с https траблы… Хотел задействовать OpenDNS в качестве фильтра https(плюс доп фильтрация http если сквид что не отфильтрует). Но проблема в том что во первых несколько машин нужно выпускать в инет без фильтрации, плюс фильтрация должна отключаться на время обеда(freetime). Со squid все хорошо, но динамически переключать dns я не смог. Возможно ли это вообще?
    В сети один КД 192.168.1.10, он же dhcp и локальный dns. Настроена пересылка неразрешенных запросов на pfsense 192.168.1.3, он же основной шлюз. Инет приходит в SOHO роутер 192.168.0.1 и через него на pfsense. Пытался NATом перенаправить запросы на 53 порт на 192.168.0.1, не получается. Только MITM не предлагайте. 3 сетевуху вставить нет возможности, если только USB(надежность?). Да и можно ли по расписанию переключать WAN, тоже не нашел. Буду рад помощи.



  • @postal2201:

    В сети один КД 192.168.1.10, он же dhcp и локальный dns. Настроена пересылка неразрешенных запросов на pfsense 192.168.1.3,

    Менять адрес пересылки можно так, не забыв про clearcache.



  • На тех компьютерах, где нужно всё всегда указывайте pfSense, в качестве DNS.
    Не забываем в Domain Overrides (Forwarder/Resolver) добавить адрес КД.

    Да, и SOHO роутер, в большинстве случаев, имеет смысл исключить из цепочки.



  • На тех компьютерах, где нужно всё всегда указывайте pfSense, в качестве DNS.
    Не забываем в Domain Overrides (Forwarder/Resolver) добавить адрес КД.

    Scodezan, добрый вечер. Немного не понял это: "где нужно всё всегда указывайте pfSense", всегда что фильтровать или пропускать без фильтра? Как виндовым dhcp раздавать разным клиентам разные dns? В Domain Overrides Forwarder адрес КД добавлен, а вот суть reslover`а я так и не понял, для чего он нужен? И так же остается вопрос как все это привязать к расписанию.



  • @postal2201:

    Как виндовым dhcp раздавать разным клиентам разные dns?

    По моему проще на самих клиентах указывать нужный dns.

    @postal2201:

    а вот суть reslover`а я так и не понял, для чего он нужен?

    Не обращайте внимания. В pfSense либо DNS Forwarder либо DNS Resolver, кому что роднее.

    @postal2201:

    И так же остается вопрос как все это привязать к расписанию.

    Делаете 2 "скрипта" и запускаете их планировщиком заданий на виндовом сервере.



  • А нельзя ли как нибудь NATом разруливать DNS запросы. Допустим на КД в качестве пересылки указываем OpenDNS, а на сенсе NATом перенаправляем запросы DNS на КД, по расписанию правило отключаем и идем куда хотим.



  • NAT в pfSense работает своеобразно, возможно потребуется добавить ещё один интерфейс, это раз. В нём не предусмотрено расписание, это два.



  • @postal2201:

    А нельзя ли как нибудь NATом разруливать DNS запросы. Допустим на КД в качестве пересылки указываем OpenDNS, а на сенсе NATом перенаправляем запросы DNS на КД, по расписанию правило отключаем и идем куда хотим.

    Доброе. Можно.
    Port forward на LAN интерфейсе. В source указывать необх. вам локальн. IP.
    Сделать Reset states не забудьте после создания вышеописанных правил.



  • Доброе. Можно.
    Port forward на LAN интерфейсе. В source указывать необх. вам локальн. IP.
    Сделать Reset states не забудьте после создания вышеописанных правил.

    Здравствуйте. Что-то не идет. На КД(192.168.1.10) в адреса пересылки добавил только openDNS. На клиентах шлюз и dns 192.168.1.3(pfsense). Все клиенты идут без фильтрации по dns. Теперь допустим хочу отфильтровать 192.168.1.120. Создаю следующее правило в NAT на pfsense:

    Все равно адреса разрешаются на сенсе. ЧЯДНТ?



  • Снимите галку на Allow DNS server list to be overridden by DHCP/PPP on WAN  в System: General Setup. Сделайте reset states . На клиентах сбросьте кэш днс.

    И покажите скрин правил fw на LAN.



  • Снимите галку на Allow DNS server list to be overridden by DHCP/PPP on WAN  в System: General Setup. Сделайте reset states . На клиентах сбросьте кэш днс.

    Это все было сделано. Кэш сбрасываю при любом изменении как на серверах так и на клиентах.



  • И покажите скрин правил fw на LAN

    А вот это не понял. Скрин выше разве это не то что нужно?



  • Скринов в сообщениях не видно - не используйте внешние сервисы для картинок.
    Я, чтоб реализовать подобноее (трафик боссов и не боссов) поднимал несколько экземпляров dnsmasq, на разных интерфейсох и каждый имел свои настройки, и просто через port forward отправлял в нужный.



  • @PbIXTOP:

    Скринов в сообщениях не видно - не используйте внешние сервисы для картинок.
    Я, чтоб реализовать подобноее (трафик боссов и не боссов) поднимал несколько экземпляров dnsmasq, на разных интерфейсох и каждый имел свои настройки, и просто через port forward отправлял в нужный.

    Доброе.
    Кстати, да.
    Dnsmasq довольно гибок.
    Но сперва все же попробовать с port forw.



  • Скрин fw сделал вложением.

    поднимал несколько экземпляров dnsmasq, на разных интерфейсах и каждый имел свои настройки, и просто через port forward отправлял в нужный.

    А можно по подробнее. Прошу заметить у меня  физически только 2 сетевые карты.




  • А можно по подробнее. Прошу заметить у меня  физически только 2 сетевые карты.

    Если свитч поддерживает, остается возможность использовать VLAN.



  • Если уж port forwarder, можно и на разных портах поднимать.

    Только не пойму нафига всё так сложно?



  • Если уж port forwarder, можно и на разных портах поднимать.

    Хм…? А сработает ли такая схема: на клиентах шлюз=pfsens, dns=КД, на КД-->пересылка неразрешенных запросов на pfsens, на pfsens два экземпляра dnsmasq на одном интерфейсе но на разных портах, ну а далее port forward.
    И еще не пойму один момент: в настройках dns forwader слушает все интерфейсы. Для чего ему слушать WAN?



  • @postal2201:

    Хм…? А сработает ли такая схема: на клиентах шлюз=pfsens, dns=КД, на КД-->пересылка неразрешенных запросов на pfsens, на pfsens два экземпляра dnsmasq на одном интерфейсе но на разных портах, ну а далее port forward.

    Бред. 1. port forward не будет знать от кого пришёл запрос, соответственно никакие условия там не попишешь. 2. MS не работает на нестандартных портах.

    @postal2201:

    И еще не пойму один момент: в настройках dns forwader слушает все интерфейсы. Для чего ему слушать WAN?

    Потому что в 99% случаев его используют для проброса портов на внутренние сервера, скажем http или vpn.



  • Если свитч поддерживает, остается возможность использовать VLAN

    Свич поддерживает, но с vlan никогда работать не приходилось. Буду рад любой помощи :)



  • @postal2201:

    Скрин fw сделал вложением.

    поднимал несколько экземпляров dnsmasq, на разных интерфейсах и каждый имел свои настройки, и просто через port forward отправлял в нужный.

    А можно по подробнее. Прошу заметить у меня  физически только 2 сетевые карты.

    Я использую приблизительно вот такие настройки для запуска 2-х dnsmasq

    log-queries
    log-facility=/var/log/dnsmasq.log
    conf-file=/usr/local/etc/dnsmasq.more.conf
    conf-file=/root/blackdns.txt
    
    

    И отдельный запуск dnsmasq

    
    #!/bin/sh
    
    rc_start() {
            dnsmasq -C /usr/local/etc/dnsmasq_client.conf -I lo0 --pid-file=/var/run/dnsmasq_client.pid &
            }
    
    rc_stop() {
            kill -9 `cat /var/run/dnsmasq_client.pid`
    }
    
    case $1 in
            start)
                    rc_start
                    ;;
            stop)
                    rc_stop
                    ;;
            restart)
                    rc_stop
                    rc_start
                    ;;
    esac
    
    
    
    interface=ale0_vlan2
    interface=lo0
    bind-interfaces
    stop-dns-rebind
    

    Как-то так все и работает
    Если покопаться в документации на dnsmasq наверное можно будет запустить не только на интерфейсах, но и на Virtual IP

    ![2016-09-09 11_32_38 - Services_ DNS forwarder.png](/public/imported_attachments/1/2016-09-09 11_32_38 - Services_ DNS forwarder.png)
    ![2016-09-09 11_32_38 - Services_ DNS forwarder.png_thumb](/public/imported_attachments/1/2016-09-09 11_32_38 - Services_ DNS forwarder.png_thumb)



  • @postal2201:

    Если свитч поддерживает, остается возможность использовать VLAN

    Свич поддерживает, но с vlan никогда работать не приходилось. Буду рад любой помощи :)

    Нужна поддержка VLAN и со стороны сетевой карты. Можно грубо ориентироваться на вывод команды ifconfig:
    Пример:
    fxp0: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
    options=4209b<rxcsum,txcsum,<strong>VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWTSO>

    VLAN в вашем случае это аналог нескольких сетевых карт, на каждую из корых можно повесть свой DHCP\DNS.
    Читайте, как настроить VLAN на вашем свитче.
    Минусы такого решения:
    1.Пропускная способность всех VLAN равна сумме пропускной способности сетевой карты, на которую назначены VLAN.
    2. Доступ из  каждой VLAN в другую VLAN нужно будет настраивать на pfSense.</rxcsum,txcsum,<strong></up,broadcast,running,simplex,multicast>