Биллинговая система Nodeny

Главная категория => Общий раздел => Тема начата: nops от 01 Апреля 2010, 15:14:04



Название: IP+MAC Как реализовать?
Отправлено: nops от 01 Апреля 2010, 15:14:04
Всем привет.
Назрел такой вопрос. Я конечно понимаю, что многим покажется непрактично. Или ещё что-то, но у меня появилась необходимость.
 
я понимаю что нужно в правила фаервола добавить к IP адресу ещё и MAC-адрес. Вопрос как.
Вообщем, посоветовшись, мне подсказали ковырять nofire.pl
Вскрыл, почитал, попытался поанализировать, но мало что понял. Вывожу свои размышления:
Код:
# ==================
# Разрешение доступа
sub Allow
{
 my $p=$_[0];
 my($auth,$dop_param,$i,$id,$ip,$mid,$n,$num,$num1,$num2,$opt,$options);
 my($paket,$pipe2,$pipe_in,$pipe_out,$speed2,$speed_in,$speed_out);

 $ip=$p->{ip};
 $id=$p->{id};   # id текущей записи (по таблице users)
 $num=$p->{num};  # виртуальный уникальный id текущей записи
 $mid=$p->{mid};  # id основной записи (по таблице users)
 $auth=$p->{auth};  # режим авторизации (on,off,ong)
 $paket=$p->{paket};
 $speed2=$p->{speed2};  # альтернативная скорость, указанная в пакете
 $options=$p->{options}; # модификаторы скорости
 $main_num=$p->{main_num}; # виртуальный уникальный id основной записи
 $speed_in=$p->{speed_in}; # скорость к клиенту, указанная в пакете
 $speed_out=$p->{speed_out};
 $dop_param=$p->{dop_param}; # дополнительные параметры учетки клиента
 $plan_flags=$p->{plan_flags}; # флаги пакета тарификации

 ($num1,$num2)=&Get_Ipfw_Num($num); # номера правил ipfw `от клиента` и `на клиента`
 $Need_Del_Rule{$ip}=0;  # признак, что для $ip персонального правила не создано,
     # 0 останется если все будет оформлено через таблицы

 &Add_Tbl_Rule(0,$ip);
тут описываются переменные и последнее добавляет правило.
если я правильно понимаю, то в переменные мы дописываем что-то вроде:
Код:
my($mac_d);
$mac_d=$p->{mac};
и в полледнюю строчку дописываем, чтобы получилось так:
Код:
&Add_Tbl_Rule(0,$ip,$mac_d);
в этом случае, если я правильно понял, добавляется mac-адрес в таблицу маршрутизации, и вместо только ip-адреса будет ещё и mac-адрес.
 
Подскажите друзья, я правильно мысли или нет. Если нет, помогите решить проблемку эту.
Не спрашивайте, зачем это надо, mac-адрес же легко подменить.
Просто надо это. Народ странный немного, а в нашем городе ещё и тупой. Не знают что mac-адрес менять можно, а уж тем более КАК, они вообще не представляют)))
 
Заранее благодарен всем!
P.S. нужно IP+MAC без авторизатора.


Название: Re: IP+MAC Как реализовать?
Отправлено: smallcms от 01 Апреля 2010, 22:08:29
ipguard


Название: Re: IP+MAC Как реализовать?
Отправлено: nops от 02 Апреля 2010, 03:15:46
И что?
Я попросил поподробнее расписать, кто может. Сам бы понимал, не спрашивал.


Название: Re: IP+MAC Как реализовать?
Отправлено: hayarm от 02 Апреля 2010, 09:01:37
 >:( gde support, pochemu otveta net na etogo voprosa???,

ммм.. я не понял, что за наезды? ты оплачивал саппорт, чтобы что-то требовать? думаю, что нет
тогда будь добр вести себя адекватно! (c) elite


Название: Re: IP+MAC Как реализовать?
Отправлено: Fredik от 02 Апреля 2010, 09:13:19
Цитировать
ipguard

юзай поиск я приблизительно расписывал


Название: Re: IP+MAC Как реализовать?
Отправлено: nops от 02 Апреля 2010, 10:57:43
Дело в том, что у меня проблемы с перлом. Я не могу никак понять что там и как происходит(((( Потому и спрашиваю.
Я нашёл тему, там эта же связка, но с авторизатором ещё, но мне надо без авторизатора. Тут просто надо, чтобы в таблицу маршрутизации добавлялось правило не просто IP, а включая MAC-адрес


Название: Re: IP+MAC Как реализовать?
Отправлено: elite от 02 Апреля 2010, 11:27:06
Тут просто надо, чтобы в таблицу маршрутизации добавлялось правило не просто IP, а включая MAC-адрес
дядько, учите матчасть и не пишите бред...


Название: Re: IP+MAC Как реализовать?
Отправлено: nops от 02 Апреля 2010, 15:26:29
зайди поиск я приблизительно аписывал
Если вы на это намекаете http://forum.nodeny.com.ua/index.php?topic=127.msg4626#msg4626 то это не подходит. К тому же ipguard, на сколько я понял, это железка с установленной софтинкой.
У меня шлюз, всё в одном, и шлюз и биллинг и базы...., но у так далее.
Мне нужно на этом шлюзе заставить фаервол выпускать в инет только тех юзеров, у которых совпадает и IP и MAC.
 
Допустим, создаю юзера с IP:192.168.100.10 прописываю мак скажем 11:22:33:44:55:66
Далее, включаю доступ "всегда online"
в фаервол добавляется правило 192.168.100.10/32 и скажем 1008(ну так, на вскидку, я понимаю, что там расчитывается)
И пользователь, с любым MAC-адресом может вбить у себя этот IP и будет в инете. Зато пользователь, кто владелец этой учётки, включит комп и обломится.....
Вот у нужно, чтобы при другом MAC-адресе, отличном от того, который мы указали при создании пользователя, доступа в инет небыло. В данном случае не важно, подменят MAC-адрес или нет, это уже никого не волнует, главное что эта проверка есть. (Поймите меня, у нас в городе всего 100к народу, 80% из них, вообще не знают что такое интернет и что с ним можно делать. Остаются 20к. Город "закрытый", у нас по прежнему социализм и все привыкли к халяве. )
Поймите, очень нужна такая реализация. в Других биллингах она есть, поэтому и прошу помощи у вас ГУРУ.
знал бы я перл, разобрался, но перл нифига не паскаль, с которым я когда-то, 13 лет назад работал.


Название: Re: IP+MAC Как реализовать?
Отправлено: goletsa от 02 Апреля 2010, 16:29:41
Задайте статическую арп запись и работать будет только при совпадении пары ип-мак
man arp в помощь.


Название: Re: IP+MAC Как реализовать?
Отправлено: nops от 02 Апреля 2010, 16:48:28
не подходит.
нельзя что ли поправить nofire.pl
Наверняка можно.
Вот и спрашиваю как.


Название: Re: IP+MAC Как реализовать?
Отправлено: ser970 от 02 Апреля 2010, 19:34:15
ты уверен что обломится ?! через 20 мин я буду иметь все (ну или очень много) мак+апи
далее легким движением мышки меняю мак так как апи да и все.
и о какой защите тогда идет речь если она не способна выдерджать даже 1 минуты?

прописывать на порту апи мак  это уже другое.
на мыльницах защищенную сеть не посториь  что бы ты не делал.

но если не смущает все это то можно реализовать хоть на перле хоть на пхп 
запрос к базе выбор в цикле всех мак апи и запись а стат арп.
дергать по крону (или в билинг). дай точное ТЗ напишу (но без тех поддержки).   


Название: Re: IP+MAC Как реализовать?
Отправлено: nops от 03 Апреля 2010, 07:09:27
Нужно научить биллинг проверять ещё и MAC.
Нет авторизатора, исключительно IP+MAC
Нужно чтобы пользователь, с другим MAC-ом не смог выйти в инет, введя правельный IP. В других биллингах это есть, вот и говорю, что надо и в этом.
Оборудование возможно будет потом. Но реализовать надо сейчас.
При чём тут стат арп я не понимаю, когда-то я делал на линуксе, дык там всё просто. Прописывается правило в фаерволе, типа построутинг там IP потом MAC потом куда и разрешаем.
Если нужно, могу полностью строчку правила для IPTABLES написать.... Эта просто так, поверхностно. Вот и тут так же надо. Мне ненадо забивать статику...
 
P.S. Город у нас "сраный" пардон за выражение, по другому не скажешь. Люди привыкли к халяве, у нас до сих пор социализм. Гляньте тут http://novour.fsay.net/


Название: Re: IP+MAC Как реализовать?
Отправлено: Fredik от 03 Апреля 2010, 07:38:11
должно работать на 49.32
мак адреса хрантся в доп данных в поле _mac
создаем файл  /usr/local/etc/arp.conf
создаем файл  /usr/local/nodeny/arp.txt

пишем в него (arp.txt)


правим 192.168.100.0/24 на свою подсеть


Цитировать
<file>/usr/local/etc/arp.conf</file>
<reload>/usr/sbin/arp -f /usr/local/etc/arp.conf</reload>
<template>1</template>


<filtr net='192.168.100.0/24' dopdata-_mac='^..:..:..:..:..:..$' state='^on$'>
<ip> <dopdata-_mac>
</filtr>

и все

потом
cd /usr/local/nodeny/
perl nomake.pl arp.txt  &


скрипт забьет мак юзера только если у него стоит статус включен и мак присудсвует и соответствует шаблону (^..:..:..:..:..:..$)


ставим в атозагрузку и радуемся ))


для удобства берем http://forum.nodeny.com.ua/index.php?topic=265.0 (говорим спасибо Andrey Zentavr ) и получаем мак не отходя от кассы ))


Название: Re: IP+MAC Как реализовать?
Отправлено: nops от 03 Апреля 2010, 07:51:29
должно работать на 49.32
мак адреса хрантся в доп данных в поле _mac
создаем файл  /usr/local/etc/arp.conf
создаем файл  /usr/local/nodeny/arp.txt

пишем в него (arp.txt)


правим 192.168.100.0/24 на свою подсеть


и все

потом
cd /usr/local/nodeny/
perl nomake.pl arp.txt  &


скрипт забьет мак юзера только если у него стоит статус включен и мак присудсвует и соответствует шаблону (^..:..:..:..:..:..$)


ставим в атозагрузку и радуемся ))


для удобства берем http://forum.nodeny.com.ua/index.php?topic=265.0 (говорим спасибо Andrey Zentavr ) и получаем мак не отходя от кассы ))

И в результате, доступ будет иметь только тот юзкр, у которого совпадает IP и MAC?
а не надо добавлять правила в фаервол что ли?


Название: Re: IP+MAC Как реализовать?
Отправлено: Fredik от 03 Апреля 2010, 07:57:09
ну ты ж это просил? вот я и решил помочь

а скрипт "вертушка" изменил мак - он быстренько перезаписался , вобщем  удобно


Название: Re: IP+MAC Как реализовать?
Отправлено: nops от 03 Апреля 2010, 08:08:58
Я ещё пытаюсь понять ведь....
Если я правильно понял, то инет будет только у тех, чьи IP+MAC прописаны в erp.conf так?
И доступ будет так же блокироваться в фаерволе.....


Название: Re: IP+MAC Как реализовать?
Отправлено: poxy. от 03 Апреля 2010, 11:53:50
должно работать на 49.32
мак адреса хрантся в доп данных в поле _mac
создаем файл  /usr/local/etc/arp.conf
создаем файл  /usr/local/nodeny/arp.txt

пишем в него (arp.txt)


правим 192.168.100.0/24 на свою подсеть


и все

потом
cd /usr/local/nodeny/
perl nomake.pl arp.txt  &


скрипт забьет мак юзера только если у него стоит статус включен и мак присудсвует и соответствует шаблону (^..:..:..:..:..:..$)


ставим в атозагрузку и радуемся ))


для удобства берем http://forum.nodeny.com.ua/index.php?topic=265.0 (говорим спасибо Andrey Zentavr ) и получаем мак не отходя от кассы ))

Пасиб !+1 к карме :)


Название: Re: IP+MAC Как реализовать?
Отправлено: goletsa от 03 Апреля 2010, 13:34:43
Правда полюбому это ненадежно, arp-scan в считанные секунды насканит пары маков.
Статику есть смысл использовать при разделении на сегменты vlan'ами.
Для тупого оборудования только терминировать с испольщованием пароля.


Название: Re: IP+MAC Как реализовать?
Отправлено: evp от 04 Апреля 2010, 00:23:41
Ребята, давайте не будем обобщать. Например, у меня хомяк с левым MAC просто не выйдет в сеть - ему свитч на доступе не даст это сделать :) Поэтому в моих условиях привязка mac-ip очень даже себя оправдывает. Прошу в своих ответах не мерять пионерские сети с нормальным коммерческим доступом :) Вопрос подмены мака - это не вопрос, по крайней мере у меня. Напомню, для целей тарификации мы должны однозначно идентифицировать пакет по принадлежности к тому или иному клиенту. Привязка MAC на порту коммутатора эту задачу решает с избыточной надежностью.


Название: Re: IP+MAC Как реализовать?
Отправлено: elite от 04 Апреля 2010, 09:18:02
evp
а какие свичи используешь на доступе?
привязку на свичах мак адреса осуществляешь вручную или интегрировал с биллингом?
почему не используешь опшн82?


Название: Re: IP+MAC Как реализовать?
Отправлено: goletsa от 04 Апреля 2010, 10:53:25
evp
а какие свичи используешь на доступе?
привязку на свичах мак адреса осуществляешь вручную или интегрировал с биллингом?
почему не используешь опшн82?
Опция 82 непривязывает к маку.
Он позволяет выдать определенному порту определный ип. Ну и может проверить при этом мак. Для привязки надо мутить с port-security\ipguard.
У мну например выдает пока без жетских привязок, но у мну vlan-на-свич настроено.


Название: Re: IP+MAC Как реализовать?
Отправлено: elite от 04 Апреля 2010, 11:29:21
Опция 82 непривязывает к маку.
а к маку и не надо привязывать
использование опшн82 автоматически подразумевает использование айписурсгард :)


Название: Re: IP+MAC Как реализовать?
Отправлено: evp от 06 Апреля 2010, 15:58:15
evp
а какие свичи используешь на доступе?
привязку на свичах мак адреса осуществляешь вручную или интегрировал с биллингом?
почему не используешь опшн82?
Свитчи довольно простые, в основной массе TP-Link TL-SL2428 WEB. Они просто не умеют option 82. Из-за их простоты их не возможно интегрировать с биллингом и приходится привязки делать вручную. Сейчас рассматриваем им замену. Возможно это будет что-то из серии TP-Link 3428. Вот тогда уже и встанет вопрос об интеграции и option 82 :)