Интеграция с Микротик. Хук event.sh для MikroTik.

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (1)

просмотр истории страницы
{code}

h2 Хук для IPv6

{code}
Хук для IPv6

SSH="/usr/bin/ssh -T <имя пользователя на Микротик>@<ip-адрес Микротика>"
export IP_BLOCK_FULL_LIST="$LISTDIR/load/ip6_block.load"
ip6_regex=${ip6_regex:-[0-9a-fA-F]+:[0-9a-fA-F:/]+}

# отсекаем лишнее из вывода /print
__only_ip() {
egrep -o "$ip6_regex"
}

# Отправляем на оборудование команду на блокирование ip адреса
ip_block_full_add() {
local ip="$1"
echo "/ipv6 firewall address-list add list=reductor_ip6_block_list address=$ip comment=${ip}_reductor_ip6_block" | $SSH
}
# Отправляем на оборудование команду на снятие блокировки ip адреса
ip_block_full_del() {
local ip="$1"
echo "/ipv6 firewall address-list remove [find comment=${ip}_reductor_ip6_block]" | $SSH
}

mikrotik_firewall_prepare() {
echo "/ipv6 firewall filter add chain=reductor_forward comment=reductor_ip6_block dst-address-list=reductor_ip6_block_list action=drop" | $SSH
echo "/ipv6 firewall filter add chain=forward action=jump jump-target=reductor_forward place-before=0" | $SSH
}

# Получаем список заблокированных IP
ip_block_full_get() {
# mikrotik_firewall_prepare
echo "/ipv6 firewall address-list print where list=reductor_ip6_block_list" | $SSH | __only_ip
}
{code}

h2. Чтобы всё заработало нужно: