... Пример описывает возможность разрешить доступ группы абонентов к заданным хостам в Интернет. Это может быть полезно, если Вы устанавливаете IPTV приставку у абонента с возможностью просмотра *youtube* и подобных сервисов, но при этом остальные сайты абоненту не нужны. h6. 1.Создание списка разрешенных хостов: Список разрешенных хостов будет называться *crb_trust_custom_list*, разрешаем доступ к хосту 10.20.30.40: {code} /ip firewall address-list add address=10.20.30.40 list=crb_trust_custom_list {code} h6. 2. Модифицируем схему прохождения трафика в цепочке forward: Создадим правила разрешающие хождение трафика между адресами в листах *crb_trust_custom_list* и *crb_custom_auth_list*: {code} /ip firewall filter add chain=crb_forward comment=trust_custom_accept_dst dst-address-list=crb_trust_custom_list src-address-list=crb_custom_auth_list action=accept /ip firewall filter add chain=crb_forward comment=trust_custom_accept_src src-address-list=crb_trust_custom_list dst-address-list=crb_custom_auth_list action=accept /ip firewall filter add chain=crb_forward comment=trust_custom_drop_dst dst-address-list=!crb_trust_custom_list src-address-list=crb_custom_auth_list action=drop /ip firewall filter add chain=crb_forward comment=trust_custom_drop_src src-address-list=!crb_trust_custom_list dst-address-list=crb_custom_auth_list action=drop {code} Необходимо разместить данные правила перед правилом блокировки неавторизованных абонентов с помощью команды *move* RouteOS: {code} /ip firewall filter move numbers=[find comment=trust_custom_accept_src] destination=[[find comment=drop_no_auth] -1 ] /ip firewall filter move numbers=[find comment=trust_custom_accept_dst] destination=[[find comment=drop_no_auth] -2 ] /ip firewall filter move numbers=[find comment=trust_custom_drop_dst] destination=[[find comment=drop_no_auth] -3 ] /ip firewall filter move numbers=[find comment=trust_custom_drop_src] destination=[[find comment=drop_no_auth] -4 ] {code} h6. 3. Модифицируем скрипт событий: Для заполнения адрес листа *crb_custom_auth_list* ip адресами абонентов нужно модифицировать скрипт [session|Пользовательская схема]. Переопределим две функции *user_add* и *user_del* Так же обратите внимание, что в примере используется переменная *tarif_id* равная *1136*. Это значит, что адреса в список *crb_custom_auth_list* будут добавляться только, для абоенентов с id тарифа *1136*. {code} #!/bin/bash . $(dirname $BASH_SOURCE)/../bin/session
|