Пришла мне тут идея, по защите от DNS spoofing, скрипт в блокнотике нарисовал, а проверить не могу, так как нет доступа к микротику.
"in-interface-list=Internet" заменить на входящий интерфейс, чаще всего "in-interface=eth1"
или типа того.
В общем нужна проверка, критика и советы приветствуются. В RAW блокирую, так как это ближе всего ко "входу", и если где-то рубить входящий DNS spoofing, то только там.
Идея вот такая:
Код: Выделить всё
# For ROS >6.4
#
# Задаём адреса нужных нам серверов
# OpenDNS
:local ns1 "208.67.222.222";
:local ns2 "208.67.220.220";
# GoogleDNS
:local ns3 "8.8.8.8";
:local ns4 "8.8.4.4";
# DNS Set Включаем DNS Сервер, с нужными серверами
/ip dns set allow-remote-requests=yes servers=$ns1,$ns2,$ns3,$ns4
# Делаем лист адресов DNS
/ip firewall address-list
add address=$ns1 list=DNS_Adress_List
add address=$ns2 list=DNS_Adress_List
add address=$ns3 list=DNS_Adress_List
add address=$ns4 list=DNS_Adress_List
# Все остальное на UDP/53 кроме интересующих нас серверов безжалостно режем на подлете, тоесть в RAW
/ip firewall raw
add action=drop chain=prerouting dst-port=53 protocol=udp in-interface-list=Internet src-address-list=!DNS_Adress_List