8. Команды zi-ctl

SkyDNS Zapret ISP предоставляет консольное меню zi-ctl, которое позволяет вручную выполнить действия по управлению системой, если такая возможность потребуется.

Список команд с кратким описанием.
Название команды Краткое описание
check-announce Анонсирует маршруты, отсутствующие на маршрутизаторе.
configure Выполняет настройку OSPF.
convert Заносит данные, полученные из источников, в базу данных.
create-zones Создает stub-зоны на основе записей из таблиц Route и Host.
delete-expired Удаляет маршруты с истекшим ttl.
domain Анонсирует или удаляет связанные с доменом маршруты.
download Производит загрузку подключенных источников.
filter Команда для изменения белого/черного/серого списков.
ipset Команда для работы с ipset.
nets Команда, для манипуляции с сетями, из которых идёт трафик.
route Анонсирует или удаляет указанный маршрут.
routes Выводит список всех маршрутов, содержащихся в таблице routes.
update-announce Производит выгрузку всех маршрутов в таблицу маршрутизации.
user Создаёт нового пользователя или изменяет существующего.
verify Выводит статус адресов (анонсирован или нет) для указанного домена.

Подсказка

У каждой команды есть опция --help, которая выводит краткую информацию по команде вместе со списком допустимых аргументов/параметров.

8.1. zi-ctl check-announce

Команда выявляет наличие различий между маршрутами, находящимися в локальной таблице маршрутизации, и списком маршрутов, хранящемся в базе данных. В ситуации когда маршрут есть в базе, но он отсутствует в таблице, он заносится в неё в этот же момент. Запускается по крону раз в 5 минут.

zi-ctl check-announce

8.2. zi-ctl configure

Выполняет настройку протокола маршрутизации OSPF для простейшей топологии - SkyDNS Zapret ISP и один маршрутизатор. После вызова команды Вам будет предложено ввести различные параметры, необходимые для настройки OSPF.

zi-ctl configure

Помимо этого будут созданы конфигурационные файлы для Quagga.

8.3. zi-ctl convert

Производит преобразование и последующую запись правил фильтрации, полученных из подключенных источников, в базу данных. Выполняется для тех источников, для которых параметр enable_parser: true.

zi-ctl convert [OPTIONS]

Список опций:

  • --name - позволяет преобразовать данные конкретного источника (необязательный). По умолчанию в базу заносятся данные со всех включенных источников.

8.4. zi-ctl create-zones

Создает stub-зоны на основе записей из таблиц Route и Host. Stub-зоны используются фильтрующим DNS-сервером (Фильтрующий DNS-сервер). Выполняется по cron раз в пять минут.

8.5. zi-ctl delete-expired

Удаляет маршруты с истекшим ttl. SkyDNS Zapret ISP использует двойной ttl - настоящий, полученный от dns-сервера и фиктивный (увеличенный). Маршруты удаляются в тот момент, когда истекает фиктивный, поэтому пользователь может не волноваться, что удалятся используемые маршруты.

zi-ctl delete-expired

8.6. zi-ctl domain

Команда для управления отдельным доменом и его маршрутами. Анонсирует/удаляет все маршруты, ассоциированные с доменом. При удалении домен и маршруты удаляются из базы данных.

zi-ctl domain COMMAND DOMAIN

Список параметров:

  • COMMAND - указывает действие, которое следует применить к заданному домену. Варианты: announce/withdraw (обязательный).
  • DOMAIN - указывает с каким доменом будут проводиться манипуляции (обязательный).

Подсказка

  • zi-ctl domain announce yandex.ru - передаст все маршруты ассоциированные с доменом yandex.ru на маршрутизатор.
  • zi-ctl domain withdraw yandex.ru - удалит домен yandex.ru и все его маршруты из базы.

8.7. zi-ctl download

Производит загрузку всех включенных источников (параметр enable_downloader: true). После загрузки происходит запись в базу данных.

zi-ctl download [OPTIONS]

Список возможных опций:

  • --name - позволяет загрузить данные из конкретного источника (необязательный). По умолчанию загружаются все включенные источники.

8.8. zi-ctl filter

Команда для управления правилами фильтрации.

zi-ctl filter COMMAND [ARGS]

Список параметров:

  • add - добавляет запись в черный/белый/серый список. [ARGS] - последовательность аргументов из:
    1. LIST_TYPE - тип списка.
    2. BLOCK_TYPE - тип блокировки (URL, домен, IP-адрес).
    3. VALUE - значение.

    См. раздел Списки исключений для дополнительной информации.

  • restore - восстанавливает черный/белый/серый список из файла. [ARGS] - последовательность аргументов из:
    1. LIST_TYPE - тип списка.
    2. FILES - пути к файлам с сохранёнными списками.
  • list - выводит список всех записей для чёрного/белого/серого списка. Вызвав с параметром -o, вывод информации произойдёт в указанный файл.

  • clear - очищает список по номеру. Чтобы получить списки с их номерами, вызовите команду с параметром --help.

  • clean_all - очищает все таблицы, связанные с процессом фильтрации. Созданные пользователи и добавленные сети останутся.

Подсказка

  • zi-ctl filter add white domain yandex.ru - добавляет домен yandex.ru в белый список.
  • zi-ctl filter list black - выводит список всех правил Чёрного списка.

8.9. zi-ctl ipset

Конманда для работы с ipset’ами.

zi-ctl ipset COMMAND [OPTIONS]

Список параметров:

  • save - формирует ipset’ы на основе таблиц в бд. Запускается по cron раз в 5 минут.
  • update - пересоздаёт ipset’ы и правила ip(6)tables.

Список опций:

  • --recreate - команда zi-ctl ipset update может быть вызвана с этой опцией, чтобы выполнить полное пересоздание правил ip(6)tables и ipset’ов. Старые правила будут удалены.

8.10. zi-ctl nets

Команда для настройки фильтруемых сетей.

zi-ctl nets COMMAND [ARGS]

Список параметров:

  • list - выводит список всех фильтруемых сетей.
  • add - добавляет новые сети. Если вызвана с параметром --bypass, трафик из указанных сетей фильтроваться не будет. [ARGS] - последовательность сетей.
  • delete - удаляет указанные сети. [ARGS] - последовательность сетей.

Подсказка

  • zi-ctl nets add 192.168.0.0/24 192.168.1.0/24 - добавляет сети к фильтруемым.
  • zi-ctl nets add 192.168.2.0/24 --bypass - трафик из сети 192.168.2.0/24 фильтроваться не будет.

8.11. zi-ctl route

Анонсирует/удаляет переданный маршрут.

zi-ctl route COMMAND ROUTE

Подсказка

  • zi-ctl route announce 1.1.2.0/24 - передаст маршрут к сети 1.1.2.0/24 на маршрутизатор.
  • zi-ctl route withdraw 1.3.4.7/32 - удалит маршрут на IP-адрес 1.3.4.7/32 из таблицы маршрутизации.

Список параметров:

  • COMMAND - указывает действие, которое следует применить к заданному маршруту. Варианты: announce/withdraw (обязательный).
  • ROUTE - указывает с каким маршрутом будут проводиться манипуляции (обязательный).

8.12. zi-ctl routes

Выводит на экран список маршрутов, находящихся в базе данных. По умолчанию выводятся маршруты протокола IPv4.

zi-ctl routes [OPTIONS]

Список опций:

  • --ipv6 - выводятся маршруты протокола IPv6.

Подсказка

zi-ctl routes --ipv6 - выведет список маршрутов протокола IPv6.

8.13. zi-ctl update-announce

Производит выгрузку всех маршрутов в таблицу маршрутизации.

8.14. zi-ctl user

Позволяет управлять пользователями - создание новых или изменение параметров существующих.

Список аргументов:

  • list - выводит список всех существующих пользователей.
  • edit - добавляет нового пользователя или изменяет реквизиты существующего. Выполняется в интерактивном режиме.

8.15. zi-ctl verify

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

Подсказка

zi-ctl verify ya.ru - выведет статус для каждого из IP адресов Яндекса (отсутствие/наличие в таблице маршрутизации).