M0r1 Николай Нежинский [M0r1]
Предыдущая работа

DNS Forwarder

  
Просмотров: 8
Дата добавления: 20.02.18 в 10:18
Перенаправляет DNS запросы в зависимости от прописанных правил(IP:domain -> DNS) на различные NS серверы и возвращает ответ клиенту от своего имени. Поддерживает черный и белый списки IP, которые используются в "менеджере стратегий". Проверка IP запросившего поддержвает маски(192.168.34.*); так же работает и черный/белый списки. Списки так же поддерживают значение ALL, причем не важно где это ALL встретится, если оно добавлено в список, это означает, что проверка IP на наличие в списке будет положительна для любого IP. Форвардер позволяет задавать количество очередей и количество слотов в каждой очереди.  Каждая очередь – это отдельный поток. В случае обнаружения IP в черном списке через конфиг можно указать способ реакции(игнорирование или ответ "домен не найден"). Архитектура приложения выполнена легко расширяемой. Т.е. можно легко дописать новый Reject Action, Strategy Manager или Default Action и позволить заменять через конфиг. Командный сокет – TCP сокет принимающий и обрабатывающий команды, так же выполнен многопоточно. Интерфейсом написана на Yii2 панелька(Ajax), хотя можно просто подключится к сокету через NetCat и командовать. Команды: добавление/вставка/замена/удаление для экшенов и списков. Подробный лог, в который попадают события от командного сокета(подключение клиента, сами команды) и от Strategy Manager( кто подключился, какой домен и куда отправили ).
Следующая работа
DNS Forwarder
DNS Forwarder
DNS Forwarder
Поделиться: