Настройка команд сервера доступа для привязки IP к MAC на IPN тарифе

Материал из ExpertBilling
Перейти к: навигация, поиск

Предварительно нужно добавить следующее правило на сервер доступа

/ip firewall chain=forward action=accept src-address=1.1.1.1 dst-address=1.1.1.1 commant=placeholder

Выше этого правила будут добавляться правила привязки IP+mac.

Эти команды нужно прописать в команды управления сервером доступа(вторая закладка в окне настроек сервера доступа)

Ipn actions.png

Добавить субаккаунт:
/ip firewall filter add chain=forward place-before=[find comment=placeholder] action=accept src-address=$subacc_ipn_ip_address src-mac-address=$subacc_ipn_mac_address comment=$subacc_id-out disabled=yes;/ip firewall filter add chain=forward place-before=[find comment=placeholder] action=accept dst-address=$subacc_ipn_ip_address comment=$subacc_id-in disabled=yes;
Удалить субаккаунт:
/ip firewall filter remove [find comment=$subacc_id-in];/ip firewall filter remove [find comment=$subacc_id-out];/queue simple remove [find comment=$acc_account_id-$subacc_id]
Включить субаккаунт:
/ip firewall filter set [find comment=$subacc_id-out] src-address=$subacc_ipn_ip_address src-mac-address=$subacc_ipn_mac_address disabled=no;/ip firewall filter set [find comment=$subacc_id-in] dst-address=$subacc_ipn_ip_address disabled=no
Отключить субаккаунт:
/ip firewall filter set [find comment=$subacc_id-out] src-address=$subacc_ipn_ip_address src-mac-address=$subacc_ipn_mac_address disabled=yes;/ip firewall filter set [find comment=$subacc_id-in] dst-address=$subacc_ipn_ip_address disabled=yes
Установить скорость для VPN:
/queue simple set [find interface=<$access_type-$subacc_username>] max-limit=$max_limit_tx/$max_limit_rx burst-limit=$burst_limit_tx/$burst_limit_rx burst-threshold=$burst_treshold_tx/$burst_treshold_rx burst-time=$burst_time_tx/$burst_time_rx priority=$priority limit-at=$min_limit_tx/$min_limit_rx
Установить скорость для IPN субаккаунта:
/queue simple remove [find name=$acc_account_id-$subacc_id]; /queue simple add name=$acc_account_id-$subacc_id max-limit=$max_limit_tx/$max_limit_rx burst-limit=$burst_limit_tx/$burst_limit_rx burst-threshold=$burst_treshold_tx/$burst_treshold_rx burst-time=$burst_time_tx/$burst_time_rx priority=$priority limit-at=$min_limit_tx/$min_limit_rx target-addresses=$subacc_ipn_ip_address/32
Сбросить VPN сессию:
/interface $access_type-server remove [find user=$subacc_username]

Показанный набор команд только управляет правилами форвардинга пакетов и настройками очередей. Если у вас на сервере предусмотрен NAT для клиентов, то возможно 2 варианта действий:

  • Вы разрешаете NAT всей вашей IP сети(те, кого нет в правилах файервола всё равно не пройдут);
  • К правилам добавления/удаления/включения/отключения субаккаунта нужно добавить команду добавления/удаления/включения/выключения IP адреса абонента в адрес-листе и создать на маршутизаторе NAT правило, разрешающее NAT указанному адрес-листу.

Второй вариант более правильный.