MPD ngX

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Dark_ASU
сержант
Сообщения: 258
Зарегистрирован: 2009-10-31 22:13:04
Контактная информация:

MPD ngX

Непрочитанное сообщение Dark_ASU » 2010-11-04 17:32:40

Вопрос такой как каждому юзеру выдавать свой интерфейс.
Скажем так привязать конкретного пользователь к конкретному ng.
Mpd 5.5 \FreeBsd 8.0

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: MPD ngX

Непрочитанное сообщение LMik » 2010-11-04 17:46:48

Насколько помню нельзя так привязать.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

Dark_ASU
сержант
Сообщения: 258
Зарегистрирован: 2009-10-31 22:13:04
Контактная информация:

Re: MPD ngX

Непрочитанное сообщение Dark_ASU » 2010-11-04 18:06:52

В 4 можно было а здесь хз как.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: MPD ngX

Непрочитанное сообщение schizoid » 2010-11-04 18:26:04

не было такого ни в 4.х ни в 3.х
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Dark_ASU
сержант
Сообщения: 258
Зарегистрирован: 2009-10-31 22:13:04
Контактная информация:

Re: MPD ngX

Непрочитанное сообщение Dark_ASU » 2010-11-04 18:33:47

http://www.lissyara.su/articles/freebsd/security/mpd/
А это что и можно ли так сделать в 5.5

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: MPD ngX

Непрочитанное сообщение schizoid » 2010-11-05 10:28:49

а, ну для каждого ИПа интерфейс прописывать.....ну-ну
не запаритесь, если будет несколько сотен коннектов?

вопрос. зачем вам привязка юзер=интерфейс? почему не использовать привязку юзер=ИП
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
skeletor
майор
Сообщения: 2507
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Re: MPD ngX

Непрочитанное сообщение skeletor » 2010-11-05 11:22:10

schizoid писал(а):не было такого ни в 4.х ни в 3.х
А вот как раз было и есть в 4-ке такое!
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: MPD ngX

Непрочитанное сообщение schizoid » 2010-11-05 11:53:36

прописывая вручную и используя mpd.secret?
или это можно заюзать в связке с радиусом?
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
skeletor
майор
Сообщения: 2507
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

Re: MPD ngX

Непрочитанное сообщение skeletor » 2010-11-05 12:07:35

Как хочешь, так и будет :)
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Ыть
проходил мимо

Re: MPD ngX

Непрочитанное сообщение Ыть » 2010-11-05 18:02:55

К ng_x не привязать никак.
Если надо задать ip для юзера - можно посмотреть в сторону радиуса - полезно бывает. Указываете login, pass, ip и все. :)

Гость
проходил мимо

Re: MPD ngX

Непрочитанное сообщение Гость » 2010-11-05 18:30:51

schizoid писал(а):прописывая вручную и используя mpd.secret?
или это можно заюзать в связке с радиусом?
это вы не в ngX привязывались, а к айпи
а айпи по интерфейсам могут прыгать как им вздумается

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: MPD ngX

Непрочитанное сообщение schizoid » 2010-11-05 18:51:43

я собсна об этом и говорю
ядерный взрыв...смертельно красиво...жаль, что не вечно...

darkin
проходил мимо
Сообщения: 8
Зарегистрирован: 2010-11-08 14:44:06

Re: MPD ngX

Непрочитанное сообщение darkin » 2010-11-08 21:13:31

а как быть, если надо к клиенту привязать ifup-script? клиенту выдается постоянный ip через mpd.secret, но клиент - маршрутизатор маленькой удаленной сети, и надо туда прописать маршрут. а как это сделать, если клиенты по ngX прыгают?

snorlov
подполковник
Сообщения: 3829
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Re: MPD ngX

Непрочитанное сообщение snorlov » 2010-11-08 23:02:57

darkin писал(а):а как быть, если надо к клиенту привязать ifup-script? клиенту выдается постоянный ip через mpd.secret, но клиент - маршрутизатор маленькой удаленной сети, и надо туда прописать маршрут. а как это сделать, если клиенты по ngX прыгают?
Поищи по форуме, уже это обсуждалось, там в скрипт в переменные, типа $1,$2, передаются и ip и ngX

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: MPD ngX

Непрочитанное сообщение schizoid » 2010-11-09 0:00:50

ядерный взрыв...смертельно красиво...жаль, что не вечно...

darkin
проходил мимо
Сообщения: 8
Зарегистрирован: 2010-11-08 14:44:06

Re: MPD ngX

Непрочитанное сообщение darkin » 2010-11-09 19:44:25

благодарю, уже разобрался.все оказалось просто, на всякий случай, может, кому пригодится:

mpd.conf, секция pptp_standart:
set iface up-script /usr/local/etc/mpd/routing.sh

routing.sh :

Код: Выделить всё

#!/bin/sh
if [ "$4" = "x.x.x.x" ]  #x.x.x.x - IP, прописанный нужному логину в mpd.secret
     then 
     route add -net y.y.y.y/24 x.x.x.x  #y.y.y.y - сеть за роутером-клиентом pptp
fi
так действительно получается - номер ng пофигу, маршрут по любому пропишется.
ну и таких IF-ов можно насовать сколько надо, по желанию. или вообще case сложить попробовать?

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Re: MPD ngX

Непрочитанное сообщение schizoid » 2010-11-09 22:14:00

мой up-скрипт :)

Код: Выделить всё

#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
###параметры получаемые при выполнении скрипта###
##$1   $2        $3            $4      $5
##ng0 inet 192.168.10.100/32 10.0.0.1 eugene

echo "$1 $2 $3 $4 $5 $6 $7 $8 $9"  >> /usr/local/etc/mpd5/test 2>&1

#номер правила
i=`/bin/echo "select id from freeradius.radcheck where UserName='$5';" |mysql -s -ufreeradius -ppass` >> /usr/local/etc/mpd5/test 2>&1
#пакет скорости интернета
bw=`/bin/echo "select bw from freeradius.radcheck where UserName='$5';" |mysql -s -ufreeradius -ppass` >> /usr/local/etc/mpd5/test 2>&1

time=`date "+%H"`
time_start="00"
time_stop="10"

if  ( [ $time -lt $time_stop ] && [ $time -ge $time_start ] )
 then
    if [ $bw = "bw_128" ]
    then
    bw="bw_384"
        elif [ $bw = "bw_256" ]
        then
        bw="bw_512"
            elif [ $bw = "bw_768" ]
            then
            bw="bw_1536"
                elif [ $bw = "bw_1024" ]
                then
                bw="bw_2048"
                        elif [ $bw = "bw_1536" ]
                        then
                        bw="bw_3072"

 fi
fi

echo ""  >> /usr/local/etc/mpd5/test 2>&1
date=`date "+%Y-%m-%d"`
r_ip=`echo $8`
echo "r_ip=$r_ip" >> /usr/local/etc/mpd5/test
r_mac=`/usr/sbin/arp -n $r_ip|awk '{print $4}'` >> /usr/local/etc/mpd5/test 2>&1
echo "r_mac=$r_mac" >> /usr/local/etc/mpd5/test
mac1=`/bin/echo "select mac1 from freeradius.radcheck where UserName='$5';" |mysql -s -ufreeradius -ppass` >> /usr/local/etc/mpd5/test 2>&1
mac2=`/bin/echo "select mac2 from freeradius.radcheck where UserName='$5';" |mysql -s -ufreeradius -ppass` >> /usr/local/etc/mpd5/test 2>&1
mac3=`/bin/echo "select mac3 from freeradius.radcheck where UserName='$5';" |mysql -s -ufreeradius -ppass` >> /usr/local/etc/mpd5/test 2>&1

echo "-------------------------" >> /usr/local/etc/mpd5/test
echo `date` >> /usr/local/etc/mpd5/test
s=`/bin/echo "select $bw from freeradius.bw;" |mysql -s -ufreeradius -ppass` >> /usr/local/etc/mpd5/test 2>&1

echo "Speed is $s Kbit/s"  >> /usr/local/etc/mpd5/test

num_in=`expr 500 + $i`
num_out=`expr 700 + $i`
num_block=`expr 800 + $i`
pipe_in=$i
pipe_out=`expr 1000 + $i`

echo "For user $5" >> /usr/local/etc/mpd5/test
echo "" >> /usr/local/etc/mpd5/test
#pipe's IN
ipfw add $num_in pipe $pipe_in ip from any to $4 >> /usr/local/etc/mpd5/test 2>&1
#pipe's OUT
ipfw add $num_out pipe $pipe_out ip from $4 to any >> /usr/local/etc/mpd5/test 2>&1
#pipe's speed
ipfw pipe $pipe_in config bw "$s"Kbit/s queue 20 >> /usr/local/etc/mpd5/test 2>&1
ipfw pipe $pipe_out config bw "$s"Kbit/s queue 20 >> /usr/local/etc/mpd5/test 2>&1
echo "" >> /usr/local/etc/mpd5/test
#count
ipfw add $num_in count ip from any to any in via $1 >> /usr/local/etc/mpd5/test 2>&1
ipfw add $num_out count ip from any to any out via $1 >> /usr/local/etc/mpd5/test 2>&1
echo "" >> /usr/local/etc/mpd5/test

# allow all for vpn users
ipfw table 3 add $4

echo "Begin test for mac-adress's" >> /usr/local/etc/mpd5/test

if [ "$r_mac" = "$mac1" ]; then
    echo "mac1 Goot" >> /usr/local/etc/mpd5/test
    elif [ "$r_mac" = "$mac2" ]; then
            echo "mac2 Goot" >> /usr/local/etc/mpd5/test
            elif [ "$r_mac" = "$mac3" ]; then
                echo "mac3 Goot" >> /usr/local/etc/mpd5/test
                else
                echo "Пользователь $5 подключился с чужого компьютера IP=$r_ip (MAC=$r_mac). Правильный мак: $mac1, $mac2 или $mac3"| mail -s "Bad connections!!!" admin@domain.ua
                echo "Пользователь $5 подключился с чужого компьютера IP=$r_ip (MAC=$r_mac). Правильный мак: $mac1, $mac2 или $mac3" >> /usr/local/etc/mpd5/test
                ipfw add $num_block fwd 192.168.10.100,90 log tcp from $4 to any via vlan113 >> /usr/local/etc/mpd5/test 2>&1
fi
это так, для примера.
городить можно все что придумается :)
ядерный взрыв...смертельно красиво...жаль, что не вечно...