3. Схемы подключения SkyDNS Zapret ISP в сеть

3.1. Схема при использовании динамической маршрутизации с внутренним и пограничным маршрутизаторами

_images/schema1.png

SkyDNS Zapret ISP использует exabgp для анонсирования и удаления маршрутов при использовании схемы с динамической маршрутизацией. Демон bgpd, входящий в Quagga, получает маршруты от демона exabgp по BGP. Оба запущены на loopback интерфейсе. Демон ospfd или bgpd (в зависимости от того, какой протокол Вы решите использовать для взаимодействия с маршрутизатором), входящий в Quagga, устанавливает полученные маршруты во внутренний маршрутизатор.

Внимание

Анонсируемые SkyDNS Zapret ISP во внутренний маршрутизатор маршруты не должны попадать на пограничный маршрутизатор, иначе фильтруемый трафик зациклится.

Если пограничный маршрутизатор выполняет функции NAT, то убедитесь, что для сервера фильтрации SkyDNS Zapret ISP не применяются какие-либо NAT ограничения, которые используются в администрируемой сети, например, ограничение на количество сессий. Через систему фильтрации будет проходить трафик множества клиентов, поэтому к ней нельзя применять ограничения, которые применяются к одному клиенту.

3.2. Схема при использовании динамической маршрутизации с одним маршрутизатором

_images/schema2.png

При такой схеме необходимо настроить два VLAN - на vlan100 настроить OSPF или BGP: в зависимости от того, какой из протоколов Вы планируете использовать для анонсирования маршрутов (Динамическая маршрутизация); а через vlan200 настроить выход в интернет. На маршрутизаторе настроить PBR (Policy Based Routing), чтобы запросы из vlan200 не маршрутизировались во vlan100, а уходили в интернет.

Рассмотрим пример настройки PBR на маршрутизаторах Cisco с использованием route-map:

route-map PBR permit 10
 match ip address vlan200 # Какой трафик маршрутизировать
 set ip next-hop 10.0.1.1 # Куда отправлять маршрутизируемый трафик

После создания route-map необходимо применить её на интерфейсе, принимающем трафик:

router(config-if)# ip policy route-map PBR

3.3. Схема при использовании статической маршрутизации

_images/schema3.png

В SkyDNS Zapret ISP есть возможность выгрузить список IP-адресов, в которые разрешаются домены запрещенных ресурсов. Для этого используется команда zi-ctl routes.

Вы можете написать свой скрипт загрузки маршрутов на роутер и добавить правило в cron. Примеры скриптов находятся в директории /usr/share/skydns-zi/examples/ (Статическая маршрутизация).

Правило следует исполнять раз в шесть минут. Время выбрано исходя из периодичности вызова команды создания stub-зон (zi-ctl create-zones) и удаления неактуальных маршрутов (с истёкшим ttl zi-ctl delete-expired).

Внимание

Если Вы используете такой тип подключения, то в конфигурационном файле, Вам необходимо установить значение:

resolver:
    dynamic-routing: false

3.4. Использование какой-либо другой схемы

Вы можете использовать какую-либо другую схему включения SkyDNS Zapret ISP в свою сеть. В это случае Вам необходимо будет обеспечить маршрутизацию трафика к IP-адресам запрещенных ресурсов на сервер SkyDNS Zapret ISP.

Доступные средства:

  1. Quagga, поддерживающая следующие протоколы: OSPF, BGP, IS-IS, RIP. Вы можете настроить маршрутизацию между Quagga и Вашим маршрутизатором по одному из перечисленных протоколов.
  2. Используя команду zi-ctl routes, Вы можете получить список актуальных IP-адресов, после чего передавать их роутеру любым удобным для Вас способом.

3.5. Google Global Cache (GGC)

Если у вас установлена одна или несколько нод GGC, убедитесь, что IP-адрес, с которого SkyDNS Zapret ISP осуществляет запросы к серверам в интернет, входит в адресное пространство, для которого настроено использование GGC.