Возможность перехода на Abills
Добавлено: Чт сен 28, 2017 10:06 am
Доброго времени суток.
Хотел бы проконсультироваться со знающими людьми, по поводу перехода на Abills. Интересует вопрос, смогу ли я подружить Abills, со своим текущим шлюзом и шейпером. Попробую максимально подробно описать мою текущую схему.
Сейчас у меня 3 сервера, все на FreeBSD, сервер биллинга, доступа(шлюз), и шейпер. Все это мне досталось в наследство, лет 10 назад... Теперь о каждом немного подробней.
Биллинг(его я и хочу заменить)
Набор perl скриптов: WEB интерфейс, обработка полученной статистики со шлюза, управление абонентами(заведение, платежи и т.д.), БД Postgres, yp сервер. С него происходит управление доступом и скоростями. Происходит это примерно следующим образом: при изменении доступа(открыть, закрыть), скрипт делает выборку из БД, и формирует некую yp таблицу, в которой помимо IP клиента, и другой информации, есть значение 1 или 0, в зависимости от того, открыт доступ у абонента или нет. Далее, по ssh, вызывается скрипт на шлюзе, который через ypcat table, получает эту информацию, и формирует таблицу для pf с IP адресами клиентов, у которых разрешен доступ. Изменение скорости, происходит примерно так же, но формируется другая таблица, в которой содержится соответствие IP адресу клиента, некой скорости, согласно тарифу. И так же по ssh запускает скрипт на шейпере, который сует IP адреса в нужные пайпы у ipwf.
Шлюз
Сбор статистики через Netflow, контроль доступа клиентов к интернету, через таблицу pf и контроль соответствия IP и vlan'а (тега). Если с первыми все понятно, но о последнем поподробней.
Эта привязка IP к vlan'у, осуществляется самописным модулем для Netgraph, и задается примерно так: ngctl msg em3_vlang: set { ipaddr=172.16.80.18 vlan=425 }. Информацию о IP, vlan и интерфейса(их несколько, em2, em3 и т.д.), скрипт берет из yp таблицы, о которой я писал выше. У каждого клиента свой vlan(тег). Соответственно, если клиент пытается подключиться с другого порта (на котором соответственно другой vlan), получить доступа к интернету он не сможет.
Шейпер
Тут все просто. Если шлюз пропустил клиента, то на шейпере его натит pf, а ipfw режет скорость. Про скрипт который формирует правила я так же писал выше.
Собственно возможно ли подружить Abills с этим хозяйством?
P.S. может нужна еще какая нибудь информация?
Хотел бы проконсультироваться со знающими людьми, по поводу перехода на Abills. Интересует вопрос, смогу ли я подружить Abills, со своим текущим шлюзом и шейпером. Попробую максимально подробно описать мою текущую схему.
Сейчас у меня 3 сервера, все на FreeBSD, сервер биллинга, доступа(шлюз), и шейпер. Все это мне досталось в наследство, лет 10 назад... Теперь о каждом немного подробней.
Биллинг(его я и хочу заменить)
Набор perl скриптов: WEB интерфейс, обработка полученной статистики со шлюза, управление абонентами(заведение, платежи и т.д.), БД Postgres, yp сервер. С него происходит управление доступом и скоростями. Происходит это примерно следующим образом: при изменении доступа(открыть, закрыть), скрипт делает выборку из БД, и формирует некую yp таблицу, в которой помимо IP клиента, и другой информации, есть значение 1 или 0, в зависимости от того, открыт доступ у абонента или нет. Далее, по ssh, вызывается скрипт на шлюзе, который через ypcat table, получает эту информацию, и формирует таблицу для pf с IP адресами клиентов, у которых разрешен доступ. Изменение скорости, происходит примерно так же, но формируется другая таблица, в которой содержится соответствие IP адресу клиента, некой скорости, согласно тарифу. И так же по ssh запускает скрипт на шейпере, который сует IP адреса в нужные пайпы у ipwf.
Шлюз
Сбор статистики через Netflow, контроль доступа клиентов к интернету, через таблицу pf и контроль соответствия IP и vlan'а (тега). Если с первыми все понятно, но о последнем поподробней.
Эта привязка IP к vlan'у, осуществляется самописным модулем для Netgraph, и задается примерно так: ngctl msg em3_vlang: set { ipaddr=172.16.80.18 vlan=425 }. Информацию о IP, vlan и интерфейса(их несколько, em2, em3 и т.д.), скрипт берет из yp таблицы, о которой я писал выше. У каждого клиента свой vlan(тег). Соответственно, если клиент пытается подключиться с другого порта (на котором соответственно другой vlan), получить доступа к интернету он не сможет.
Шейпер
Тут все просто. Если шлюз пропустил клиента, то на шейпере его натит pf, а ipfw режет скорость. Про скрипт который формирует правила я так же писал выше.
Собственно возможно ли подружить Abills с этим хозяйством?
P.S. может нужна еще какая нибудь информация?