VPN: привязка ip или mac к логину.
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
VPN: привязка ip или mac к логину.
вобщем картина такая: есть биллинг локалки, траффик считается роутерами исходя из мака и айпишника и передается на биллинг сервак.
в домашних сетях народ более хитрый, нежели зажравшиеся буржуи из элитных домов, которых мы подключаем лично. юзеры самопальных дом.сетей без труда меняют маки и тырят друг у друга траффик, в результате получается нехорошо. я бы такую конфигурацию отверг изначально, но все это начиналось задолго до меня и теперь все надо переделывать.
решили внедрять VPN на линуксе и соответствующий биллинг который мы обсудим отдельно. но сразу остановить старый биллинг и поднять новый вот так разом нельзя. надо постепенно заменять компоненты всей системы по одному. таким образом считать траффик непосредственно по VPN интерфейсам не представляется возможным. траффик считается на роутерах, которые лежат между юзерами и VPN серваком, по прежнему, по маку и айпишнику. незная логин нельзя выйти в инет, но можно выходить по своему логину с чужим маком и айпишником. задача - позволить логинится на определенные логины только с определенных айпишников(несоответствие мака и айпишника отловит роутер). решение временное, но необходимое.
второй вариант решения - парсить логи и вылавливать несоответствие логина и айпишника при поднятии ppp линков, но это уж совсем брутальный костыль.
третий вариант, windows style - при жалобах на воровство траффика копатся в логах руками.
в домашних сетях народ более хитрый, нежели зажравшиеся буржуи из элитных домов, которых мы подключаем лично. юзеры самопальных дом.сетей без труда меняют маки и тырят друг у друга траффик, в результате получается нехорошо. я бы такую конфигурацию отверг изначально, но все это начиналось задолго до меня и теперь все надо переделывать.
решили внедрять VPN на линуксе и соответствующий биллинг который мы обсудим отдельно. но сразу остановить старый биллинг и поднять новый вот так разом нельзя. надо постепенно заменять компоненты всей системы по одному. таким образом считать траффик непосредственно по VPN интерфейсам не представляется возможным. траффик считается на роутерах, которые лежат между юзерами и VPN серваком, по прежнему, по маку и айпишнику. незная логин нельзя выйти в инет, но можно выходить по своему логину с чужим маком и айпишником. задача - позволить логинится на определенные логины только с определенных айпишников(несоответствие мака и айпишника отловит роутер). решение временное, но необходимое.
второй вариант решения - парсить логи и вылавливать несоответствие логина и айпишника при поднятии ppp линков, но это уж совсем брутальный костыль.
третий вариант, windows style - при жалобах на воровство траффика копатся в логах руками.
Re: VPN: привязка ip или mac к логину.
vpn - pptp (poptop+pppd)?
Дебильный вариант добавть в конец /etc/ppp/ip-up что-то типа:
remote=`cat /path/to/user/file | grep "^$PEERNAME" | awk '{print $2}'`
[ -n "$remote" -a "$remote" != "$6" ] && { sleep 1 ; kill -term `cat /var/run/$IFNAME.pid` ; } &
Где файл /path/to/user/file имеет вид:
name ip
Правильный вариант - через радиус.
Дебильный вариант добавть в конец /etc/ppp/ip-up что-то типа:
remote=`cat /path/to/user/file | grep "^$PEERNAME" | awk '{print $2}'`
[ -n "$remote" -a "$remote" != "$6" ] && { sleep 1 ; kill -term `cat /var/run/$IFNAME.pid` ; } &
Где файл /path/to/user/file имеет вид:
name ip
Правильный вариант - через радиус.
лучше решение это cisco+radius или mpd+radius+*bsd на худой конец.
Хотя циско все равно говно Там тоже проблем хватает.
Хотя циско все равно говно Там тоже проблем хватает.
Join jabber.org.by. avb@jabber.org.by
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
1.я честноговоря не совсем просек как именно работает скрипт предложенный в качестве дебильного варианта. и как его написать - не совсем представляю. что передается в качетсве шестого параметра и откуда оно берется? да и awk я как-то не пользовался. в чем смысл? поясни плиз.
2.как достичь аутентификации средствами радиуса - я понял, но как не позволять юзеру аутентифицироватся, если он лезет с чужого айпишника - тоже пока не ясно.
2.как достичь аутентификации средствами радиуса - я понял, но как не позволять юзеру аутентифицироватся, если он лезет с чужого айпишника - тоже пока не ясно.
man pppd, man pptpd - ip.tes+or писал(а):что передается в качетсве шестого параметра и откуда оно берется?
Прибить процесс pppd. Получится юзер залогинится, но его сразу выкинет.tes+or писал(а):в чем смысл? поясни плиз.
А это уж как ты в радиус сервере определишь.tes+or писал(а): я понял, но как не позволять юзеру аутентифицироватся, если он лезет с чужого айпишника - тоже пока не ясно.
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
еще раз. как именно получается айпишник? если ты говоришь об айпишнике ppp интерфейса, то с одного конца, это локальный айпишник для сервака, а с другого - то что выдается клиенту. айпишник опорной сети в мане вообще нигде не фигурирует, я его читал и проблема именно в этом.man pppd, man pptpd - ip.
узнать бы айпишник с которого юзер логинится, а там я уже разберусь.
---
насчет радиуса - допустим. посмотрю еще - может пойму.
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
хм.. *сделал вид что понял* там где у нас стоят управляемые свичи мы все на уровне физического порта и рубим, а вот там где цепочки из мыльниц, там и юзеры поумнее не от хорошей жизни и следить за ними сложнее в виду специфики мыльниц, что и порождает проблему, решить которую я и задумал при помощи VPNа, а для этого надо как-то получать айпишник юзера с которого он, юзер, коннектится.
я пока что видел этот айпишник только в логах на дебаг режиме(кажется) и пока ничего лучше чем автоматический разбор логов не придумал. логи пишутся в файл, файл периодически читает перл скрипт на кроне и проверяет, какие логины логинились с каких айпишников, и если все без обмана - не трогает юзера, а если он слишком хитрый, делает соответствующему процессу kill -9, после чего(в обоих случаях) делает логу ротэйт.
почти смешно, да
будут идеи попрозаичнее?
я пока что видел этот айпишник только в логах на дебаг режиме(кажется) и пока ничего лучше чем автоматический разбор логов не придумал. логи пишутся в файл, файл периодически читает перл скрипт на кроне и проверяет, какие логины логинились с каких айпишников, и если все без обмана - не трогает юзера, а если он слишком хитрый, делает соответствующему процессу kill -9, после чего(в обоих случаях) делает логу ротэйт.
почти смешно, да
будут идеи попрозаичнее?
- tes+or
- Неотъемлемая часть форума
- Сообщения: 535
- Зарегистрирован: 16 дек 2004, 17:47
- Откуда: minsk
- Контактная информация:
Llama,
из коммента в ip-up:
из мана pppd:
т.е. это айпишник клиента по дефолту если этому параметру не назначить что-то другое? пока не проверял, но по логике это работать не должно.
из коммента в ip-up:
Код: Выделить всё
# the followings parameters are available:
# $1 = interface-name
# $2 = tty-device
# $3 = speed
# $4 = local-IP-address
# $5 = remote-IP-address
# $6 = ipparam
Код: Выделить всё
ipparam string
Provides an extra parameter to the ip-up, ip-pre-up and ip-down scripts. If this option is given, the string supplied is given as the 6th parameter to those scripts.