Skip to main content

Завершение настройки и проверка

Ограничение доступа к web-интерфейсу по IP-адресу

Из соображений безопасности рекомендуем Вам ограничить доступ к web-интерфйсу по IP-адресу:

iptables -I INPUT -p tcp ! -s <YOUR_IP_ADDRESS> --dport 80 -j DROP

<YOUR_IP_ADDRESS> - IP-адрес компьютера, с которого Вы будете использовать web-интерфейс.

Первоначальная проверка
  • Убедитесь, что сервер SkyDNS Zapret ISP имеет выход в интернет.

С сервера выполните команды ping 8.8.8.8 и ping ya.ru - эти ресурсы должны быть доступны.

  • Проверьте работоспособность локального DNS-сервера:
# На сервере
dig @127.0.0.1 yandex.ru
  • Проверьте, что работает фильтрующий DNS-сервер:
# На сервере
dig @127.0.0.2 <SOME_BLOCKED_DOMAIN>

# На клиенте
dig @%s.%s.%s.%s <SOME_BLOCKED_DOMAIN>

В ответе будут IP-адреса, с неизменяющимся ttl равным 3600.

  • Загрузите источники, используя консольную команду zi-ctl download:
sudo zi-ctl download

Она выполняется несколько минут. На выходе будут сообщения вида:

2018-06-28 12:20:56,697 Downloading module <SRC_NAME> has finished. # Загрузка завершилась успешно
2018-06-28 12:20:57,405 Parsing module <SRC_NAME> has finished. # Загруженные данные были успешно занесены в базу

<SRC_NAME> - название источника (MJ - для списка Министерства юстиции РФ, RKN - для списка Роскомнадзора)

  • Перезапустите сервис zi-update:
sudo supervisorctl restart zi-update

Проверьте, что он работает:

tail -f /var/log/skydns-zi/updater.log

На выходе будет лог, в котором указана текущая скорость разрешения доменных имен и количество успешно/неуспешно разрешенных доменов на текущий момент. Также там должна присутствовать информация о соответствии доменом с IP-адресами:

2018-10-05 11:06:04,812 Host <domain>: ip <ipv4>
2018-10-05 11:06:04,812 Host <domain>: ip <ipv6>
2018-10-05 11:06:04,812 Could not resolve domain <domain> into IPv4/IPv6
  • Проверьте настройку маршрутизации:

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

Выполните команду service quagga status и проверьте наличие следующих процессов:

CGroup: /system.slice/quagga.service
        ├─30266 /usr/lib/quagga/zebra --daemon -A 127.0.0.1 # Основной демон Quagga.
        ├─30270 /usr/lib/quagga/bgpd --daemon -A 127.0.0.1 # Демон BGP.
        ├─30274 /usr/lib/quagga/ospfd --daemon -A 127.0.0.1 # Демон OSPF.
        └─30279 /usr/lib/quagga/watchquagga --daemon zebra bgpd ospfd # Демон мониторинга.

Проверьте, что запущен Exabgp service exabgp status.

Для проверки состояния BGP-сессии между Exabgp и Quagga выполните команду:

vtysh -E -c "sh ip bgp neighbors"

Для проверки состояния соседей по OSPF выполните команду:

vtysh -E -c "sh ip ospf neighbor"

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

  • Проверьте правила iptables и списки ipset.

Выполните команды iptables-save и ipset list. Убедитесь в правильности правил iptables (предполагаемые правила располагаются в /usr/share/skydns-zi/firewall.conf) и наличии списков ipset.

  • Проверьте, что запущен сервис Squid:
service squid status

Если все шаги пройдены, то система работает корректно.

Дополнительная проверка

После выполнения первоначальной проверки, рекомендуется выполнить проверку утилитой SkyDNS Zapret Check.

Это позволит Вам выявить наличие каких-либо неявных проблем.

Логирование

По умолчанию после установки включен уровень записи в логи DEBUG - подробное отслеживание всего, что происходит в системе. После завершения настройки, в случае, если объем дискового пространства, которым Вы располагаете, меньше 20 Gb, установите уровень записи в логи INFO (логируются основные события - загрузка списков и т.п) или WARNING (только предупреждения и ошибки). Сделать это можно в файле /etc/skydns-zi/config.yml:

---
loglevel: DEBUG # (DEBUG, INFO, WARNING)

После изменения уровня логирования нужно перезапустить сервисы:

sudo service squid restart
sudo supervisorctl restart zi-update

Файлы логов системы фильтрации находятся в папке /var/log/skydns-zi/. Предназначение файлов в папке /var/log/skydns-zi/:

  1. Логи acl пишутся в acl.log.
  2. Работу zi-update можно отслеживать в updater.log.
  3. Проверять анонс маршрутов можно через routing.log.
  4. Всё остальное пишется в isp-filter.log.

Файлы логов squid находятся в папке /var/log/squid/.

Файлы логов supervisor, который управляет zi-update, находятся в папке /var/log/supervisor/.

Файлы логов uwsgi (web-интерфейс) находятся в /var/log/uwsgi/.