Просмотр сообщений
|
Страниц: [1] 2
|
3
|
Главная категория / Общий раздел / Re: Установка нодени на дебиан
|
: 27 Октября 2009, 20:30:49
|
я вот тут еще подумал... можно написать скрипт, который бы задавал интерфейсу имя, основанное на ip клиента. положить скрипт в ip-up.d... соответственно, получить имя интерфейса вообще не проблема... Вот тут http://www.opennet.ru/base/patch/pptpd_fix_int.txt.htmlнашел решение (как в работе - не знаю, не тестил) NEWNAME="ppp-$PEERNAME" [ -z "$PEERNAME" ] && NEWNAME="$1"
if [ -x /sbin/ip ]; then /sbin/ip link set $1 down /sbin/ip link set $1 name $NEWNAME /sbin/ip link set $NEWNAME up fi Если кому-нить интересно подобное решение - поиграйтесь и попробуйте привязать интерфейс к id пользователю, т.к. в случае в ip могут быть проблемы
|
|
|
4
|
Главная категория / Общий раздел / Re: Установка нодени на дебиан
|
: 27 Октября 2009, 20:02:18
|
после авторизации, радиус создает файл по адресу /var/run/radarrt.pppX, где X - номер подключения, на котором висит пользователь. внутри этого файла всего 1 строчка - ip адрес клиенты, который на этом интерфейсе.. Соответственно, получить интерфейс можно примерно так: Кусок из моего nofire.pl $IF_PPP=`grep -il $ip /var/run/radattr* | sed 's/[/]var[/]run[/]radattr[.]//g;'`; chomp $IF_PPP; &Debug("User Ip: $ip; LocalIP: $LocalIp; ID: $id; PPP: $IF_PPP");
теперь с этим интерфейсом можно делать что угодно (например шейпить). Шейпинг, предложенный в первом посту этого топика не подходит, т.к. в том случае предпологается, что у все пользователи ходят через 1 интерфейс, а не как в случае впн, где каждый клиент получает свой "фейс"... В текущем тестовом варианте, шейпинг я вынес вообще в отдельный файл, для удобства задания нового правила... Параметры передаю примерно так: system("sh $HTB start $IF_PPP ${speed_in} ${speed_in}"); (здесь 2 раза указана скорость speed_in, т.к. 1 - для двух направлений скорость одна и та же, 2 - получить speed_out из тарифа не получилось, потому что ее там нет) Вопрос к разработчикам: я или не заметил или этого нету... но где в тарифном плане можно выставить асинхронный канал? когда скорость download и upload разная? Править каждому клиенту в доп поля скорость - не удобно.. Второй вопрос к разработчикам: красивый рестайл админки может претендовать хотя бы на альтернативный шаблон в стандартной поставке nodeny?
|
|
|
6
|
Главная категория / Общий раздел / Re: Установка нодени на дебиан
|
: 25 Октября 2009, 22:33:50
|
Не вижу смысла разводить тут холивар по поводу ОС. Сам лично использую везде Gentoo linux. Когда стал вопрос поднимать сервер, пришел к мысли, что изучать другую систему нет не времени, не желания, а посколько с дженту у меня опыт работы более 5ех лет, вопрос выбора как-то сам отпал. Линукс был, есть и останется серверной ОС. Другой вопрос, что сейчас в ядро, да и саму систему, начинают тащить в сторону десктопа.
Если кому интересно производительность системы, давайте померяемся ..... зоопарк железа разнообразный, включая Xeon E5405 с рейд массивом.
Кстатит о сравнении дистров - как тут выше справедливо заметили, сравнивать разные дистры с фрей не логично.... Относительно безопасности - это проблема скорее не дистра, а программ (которые в том же виде присутствуют в фре) и кривых рук админа. Критические ошибки ядра (особенно ядра) линукса исправляются довольно оперативно, чего не скажешь о фрехе.
З.Ы. если кого обидел, не пинайте, против фряхи ничего не имею...
|
|
|
7
|
Главная категория / Общий раздел / Re: Установка нодени на дебиан
|
: 25 Октября 2009, 15:22:01
|
пришлось немного поправить npserver.pl, т.к. на функцию Add_To_All_Ip и Delete_From_All_Ip отправляется только ip адрес... соответственно получить под.данные не получалось...
З.Ы. Когда полностью закончу настройку системы, биллинга и всех дополнений, напишу тут полное хавту (или может создать отдельный топик?)
|
|
|
8
|
Главная категория / Общий раздел / Re: Установка нодени на дебиан
|
: 25 Октября 2009, 00:52:02
|
Когда вызывается событие Add_To_All_Ip ? Нарисовал функцию, но правила в таблицу не добавляются sub Add_To_All_Ip {
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 текущей записи $dop_param=$p->{dop_param}; # дополнительные параметры учетки клиента
# должны быть в системе дополнительные поля с такими алиасами $mac=$dop_param->{_mac}; $localip=$dop_param->{_localip};
# привязка мак адреса к ip system("$IPT -t filter -A INPUT -i $IF_INT -m mac --mac-source $mac ! -s $localip -j DROP");
}
sub Delete_From_All_Ip {
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 текущей записи $dop_param=$p->{dop_param}; # дополнительные параметры учетки клиента
# должны быть в системе дополнительные поля с такими алиасами $mac=$dop_param->{_mac}; $localip=$dop_param->{_localip};
# УДАЛЯЕМ привязку мак адреса к ip while (!system("$IPT -t filter -D INPUT -i $IF_INT -m mac --mac-source $mac ! -s $localip -j DROP")) {};
}
|
|
|
9
|
Главная категория / Общий раздел / Re: Установка нодени на дебиан
|
: 24 Октября 2009, 20:54:33
|
эм... где тогда я должен блокировать трафик пользователя? Например, я в админке заблокировал пользователя.... значит (по моим соображениям) клиент должен или не подключиться вовсле (не принимается его логин и пароль) или подключиться, но дальше сервера впн (он же шлюз) уйти не должен...
Алгоритм работы (дополните/поправте, если не прав) фаервола: Flush - сбрасываем все цепочки, сбрасываем все правила шейпинга, разрешаем форвардинг между клиентами локальной сети, если фаервол закрытого типа, то разрешаем коннектится клиентам на порт 1723. Разрешаем для подсети впн проход через нат Allow - шейпим интерфейс (ip) только что подключившегося клиента Deny - удаляем правила шейпа для данного интерфейса (ip) Add_To_All_Ip - создаем правила соответствия mac+ip
Если все так, то тогда актуальны все проблемы, описанные в моем предыдущем посту + еще один вопрос - надо как-то получить подсеть разрешенных ip
З.Ы. текущая реализация работает на скриптах, во внешку пускает только определенную подсеть, ip которой выдаются, если пользователь авторизирован... если он заблокирован, авторизацию не пройдет
|
|
|
10
|
Главная категория / Общий раздел / Re: Установка нодени на дебиан
|
: 24 Октября 2009, 20:22:36
|
народ, может кто поможет...? перепробовал кучу вариантов, ничего не получается нужен правильно составленный nofire.pl... в теории должен - блокировать нат на внешний интерфейс (в сторону инета), - разрешать клиентам (только из разрешенных/указанных подсетей) подключаться к pptpd по порту 1723 и форвардинг этим подсетям. - при подключении нового пользователя и проверки, разрешен ли ему выход - создавать правило для пропуска клиента во внешку - создавать правила, где фаервол банит всех, у кого не правильная пара ip+mac (не соответствует значению из доп.полей) Проблемы, с которыми я столкнулся и не знаю, как решить: - удаление правила пропуска клиента после отключени от впн - как проверять, есть ли у пользователя доступ? на сколько я понял, событие Allow срабатывает, даже если доступ запрещен? - как получить данные из доп полей? о_О
|
|
|
12
|
Главная категория / Общий раздел / Re: Установка нодени на дебиан
|
: 24 Октября 2009, 18:21:52
|
судя по всему, в файле ipcad.pl ошибка (в версии, предложеной автором топика)... в логах ядро ругается вот на эту строчку: $rsh.=" -l $1" if $dserver=~s/.+)$//;
ее надо заменить на вот эту: $rsh.=" -l $1" if $dserver=~s/:(.+)$//;
|
|
|
15
|
Главная категория / Общий раздел / Re: Установка нодени на дебиан
|
: 24 Октября 2009, 08:56:44
|
ок, где тогда можно задать ip, который будет выдан пользователю dhcpd сервером? напмерим, у человека локальный ip 10.1.1.20, а после авторизации через впн - 192.168.1.20?
ту да же вопрос - откуда брать локальный ip для генерации hdcpd конфига?
возможно я не правильно понимаю схему работы данного биллинга...
|
|
|
|