|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (7)
просмотр истории страницы... |
Внимательно проверьте что то, что вы получаете на выходе из функции "получение списка IP" совпадает по формату с содержимым синхронизируемого списка. Частая ошибка - синхронизация не работает из-за того что с маршрутизатора получаются подсети вида x.x.x.x/32, а в списке x.x.x.x или наоборот. |
Ещё один момент - ipset в Linux (по крайней мере в CentOS 6) имеет смешанный формат - маски /32 скрываются, а все остальные остаются. Это тоже может приводить к проблемам при фильтрации. |
|
h2. Примеры |
h2. Пример - фильтрация ip_https и ip_subnet_block на Linux роутере |
|
h3. Синхронизация ip_https и ip_subnet_block на один Linux-роутер |
h3. Вводные данные |
* На роутере фильтрация производится с помощью ipset. |
... |
* Создание фильтрующих правил для iptables обеспечивается его настройками, а не скриптом синхронизации |
На Carbon Reductor создаём список |
h3. Настройки на Carbon Reductor 1. Подготавливаем окружение к работе Управление роутером будет осуществляться по SSH в автоматическом режиме. Для этого нужно избавиться от необходимости вводить пароль. Можно сделать это несколькими способами: * обмен ssh-ключами * использование sshpass * использование ssh + tcl/expect (не знаю зачем) Рассматриваем первый вариант - SSH-ключи. Для упрощения рассматриваем вариант работы под рутом, без sudo и настройки TTY. Это не очень секьюрно, но секьюрность можно настроить потом, когда заработает основная функциональность. Если SSH-ключей нет - создайте их: {code} ssh-keygen {code} Обменяйтесь ключами с роутером. Считаем, что IP роутера - 10.50.140.73. {code} ssh-copy-id root@10.50.140.73 {code} Создаём ipset (нужно это автоматизировать иначе после перезагрузки роутера это перестанет работать). {code} ipset create ip_https hash:net {code} 2. Создаём список хуков: {code} /usr/local/Reductor/userinfo/hooks.events_https.sh /usr/local/Reductor/userinfo/hooks.events_block.sh {code} 3. Смотрим на формат синхронизируемых списков: * ip_https.load - x.x.x.x/yy * ip_subnet_block.load - x.x.x.x/yy Нам везёт и хуки будут почти идентичными. 4. Хук для ip_https.load |