Привязка IP+MAC

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

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

просмотр истории страницы
В стандартной реализации связки Billing и XGE (вклчая Softrouter) отсутствует привязка ip+mac. Если она требуется, необходимо отредакритовать скрипт управления XGE в биллинге и, при необходимости, добавить синхронизатор MAC привязок.
{info}IP+MAC привязки реализованы через создание статических записей в ARP таблице{info}

{toc}

h1. Скрипт событий
# Создайте папку для измененного скрипта:
{code}mkdir -p /app/asr_billing/cfg/var/lib/event/{code}
touch /app/asr_billing/cfg/var/lib/event/xge_router.sh
chmod a+x /app/asr_billing/cfg/var/lib/event/xge_router.sh{code}
# Созддайте файл */app/asr_billing/cfg/var/lib/event/xge_router.sh* со следующим содержимым:
{code}#!/bin/bash
{code}/app/asr_billing/service restart{code}

h1. Синхронизация привязок MAC+IP на XGE по БД биллинга
Описано создание привязок на стороне XGE в случае если Вы решили внедрить привязку IP+MAC, у абонентов заведены MAC-адреса в учетных записях и Вы хотите назначить привязки на стороне XGE.
# Создайте файл скрипта
{code}touch /app/base/cfg/set_xge_ip_mac.sh
chmod a+x /app/base/cfg/set_xge_ip_mac.sh{code}
Заполните скрипт */app/base/cfg/set_xge_ip_mac.sh*
{code}#!/bin/bash

sqlexec "set heading off; select uf_ip2string(ip),mac from users where mac!='' and ip!=0 and deleted=0 and opt82=0 and abonent_id>1" | grep -v "^$" | sort -u | awk '$1$2{print $1";"$2}' > /tmp/ipmac.list

while IFS=';' read ip mac; do
if [[ $1 == "remove" ]]; then
chroot /app/xge xgesh session $ip mac remove
elif [[ $1 == "set" ]]; then
chroot /app/xge xgesh session $ip mac set $mac
else
echo xgesh session $ip mac set $mac
fi
done <<< "$(</tmp/ipmac.list)"{code}
Скрипт ожидает передачи параметров:
#* *set* - установить привязки
#* *remove* - удалить привязки
#* *без параметров* - напечатать в терминал команды для установки привязок по пользовательским сессиям без выполнения
# Запустите синхронизацию:
{code}bash -x /app/base/cfg/set_xge_ip_mac.sh set &>>/var/log/xge_ipmac_set.log{code}
Лог синхронизации можно будет найти по пути */var/log/xge_ipmac_set.log*

h1. Синхронизация IP+MAC по ARP таблице
Синхронизация выполняется вручную при необходимости, например при внедрении функции если абоненты уже заведены, но ранее привязка не исопльзовалась.
Скриты получают MAC-адреса абонентов из ARP-таблицы XGE.
# Создайте файлы скриптов и установите права на выполнение
{code}touch /app/xge/cfg/mac_autoget.sh
touch /app/base/cfg/mac_process.sh
chmod a+x /app/xge/cfg/mac_autoget.sh
chmod a+x /app/base/cfg/mac_process.sh{code}
# Создайте указанные ниже файлы и со следующим содержимым:
*/app/xge/cfg/mac_autoget.sh*
main{code}
# Запустите синхронизацию:
{code}bash -x /app/base/cfg/mac_process.sh &>>/var/log/xge_ipmac_arp_sync.log{code}
Лог синхронизации можно будет найти по пути */var/log/xge_ipmac_arp_sync.log*