mpd5 вопрос

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
metallic
рядовой
Сообщения: 49
Зарегистрирован: 2007-04-29 13:02:48

mpd5 вопрос

Непрочитанное сообщение metallic » 2009-07-23 11:31:16

В конфиге mpd.conf добавил строчку

set iface up-script "/tmp/up.sh"

но при подключении он не выполняется, хотя права на него 777 и если руками запустить - все нормально
вот полный конфиг, в логах ничего нет на эту тему
startup:
set user admin pass admin
# set user foo1 bar1
set console self 127.0.0.1 5005
set console open
set web self 0.0.0.0 5006
set web open

default:
load pptp_server


pptp_server:
set ippool add pool1 10.10.1.50 10.10.1.99
create bundle template B
#set iface enable proxy-arp
set iface idle 1800
set iface enable tcpmssfix
set ipcp yes vjcomp
set ipcp ranges 10.10.1.1/32 ippool pool1
set ipcp dns 10.0.15.1
#set ipcp nbns 192.168.1.4
set bundle enable compression
set ccp yes mppc
set mppc yes e128
set mppc yes stateless
create link template L pptp
set link action bundle B
set link enable multilink
set link yes acfcomp protocomp
set link no pap chap
set link enable chap
load radius
set link keep-alive 10 60
set link mtu 1460
set link enable incoming
set iface up-script "/tmp/up.sh"

radius:
set radius server localhost testing123 1812 1813
set radius retries 3
set radius timeout 3
set radius me 127.0.0.1
set auth enable radius-auth
set radius enable message-authentic
в чем может быть дело?

Хостинговая компания 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/

Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Re: mpd5 вопрос

Непрочитанное сообщение goshanecr » 2009-07-23 11:44:01

mpd перезапускал после правки конфига?
Попробуй кавычки убрать
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

metallic
рядовой
Сообщения: 49
Зарегистрирован: 2007-04-29 13:02:48

Re: mpd5 вопрос

Непрочитанное сообщение metallic » 2009-07-23 12:11:35

конечно перезапускал, изначально без кавычек было - не помогло

Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Re: mpd5 вопрос

Непрочитанное сообщение goshanecr » 2009-07-23 12:29:23

тогда логи подавай, что при подключении происходит.
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Re: mpd5 вопрос

Непрочитанное сообщение goshanecr » 2009-07-23 12:37:12

ТУТ посмотри, видимо проблема в очерёдности строк у тебя. Сделай по очереди секции iface, ipcp, link и т.д.
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

metallic
рядовой
Сообщения: 49
Зарегистрирован: 2007-04-29 13:02:48

Re: mpd5 вопрос

Непрочитанное сообщение metallic » 2009-07-23 12:55:19

Действительно, последовательность параметров имела значение, спасибо!
Еще вопросец, mpd5 сам ширину канала на интерфейсе регулировать не умеет? Это надо решать на уровне фаервола ipfw или pf ?
Встроенной шейпелки у mpd нету?

Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Re: mpd5 вопрос

Непрочитанное сообщение goshanecr » 2009-07-23 13:11:07

Зачем городить шейпер в том, что для этого не предназначено? В FreeBSD есть DUMMYNET, делить полосу можно и с помощью pf и с помощью ipfw, что больше нравится.
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

metallic
рядовой
Сообщения: 49
Зарегистрирован: 2007-04-29 13:02:48

Re: mpd5 вопрос

Непрочитанное сообщение metallic » 2009-07-23 13:13:59

goshanecr писал(а):Зачем городить шейпер в том, что для этого не предназначено? В FreeBSD есть DUMMYNET, делить полосу можно и с помощью pf и с помощью ipfw, что больше нравится.
да просто хотелось бы в таблице radius параметр задать, типа скорость такая-то, а он мпд передал этот параметр, а тот уже сам бы шейпил :) а тут с фаерволом загоняться надо, ну раз нельзя, тогда буду думать как к фаерволу прикрутить

Аватара пользователя
goshanecr
сержант
Сообщения: 252
Зарегистрирован: 2008-03-31 15:54:49
Откуда: Пермь, Екатеринбург
Контактная информация:

Re: mpd5 вопрос

Непрочитанное сообщение goshanecr » 2009-07-23 13:28:19

А скриптом брать эти самые данные из таблицы и динамически ставить правила шейпинга? Мне кажется нормально всё это реализуемо.. Это может быть полезным :)
Люблю в инете шарить. И браузер мой только Opera !!!
Пользователям стараюсь ставить дистр Ubuntu. Уже 3 человека пересели.
Домашний комп FreeBSD 9.0 amd64
FreeBSD - изменим жизнь к лучшему!

metallic
рядовой
Сообщения: 49
Зарегистрирован: 2007-04-29 13:02:48

Re: mpd5 вопрос

Непрочитанное сообщение metallic » 2009-07-23 13:31:10

Да я так и думал делать, просто думал, что все уже придумано до нас :)

Аватара пользователя
Abigor
старшина
Сообщения: 425
Зарегистрирован: 2006-03-02 11:13:15
Откуда: РФ. г. Иркутск
Контактная информация:

Re: mpd5 вопрос

Непрочитанное сообщение Abigor » 2009-07-27 5:44:32

Ну вообще может, надо только доку почитать по MPD
http://mpd.sourceforge.net/doc5/mpd37.html#37
http://mpd.sourceforge.net/doc/mpd62.html

metallic
рядовой
Сообщения: 49
Зарегистрирован: 2007-04-29 13:02:48

Re: mpd5 вопрос

Непрочитанное сообщение metallic » 2009-07-27 9:02:55

да я уже сделал шейпер через PF и якоря, там все просто и удобно

milleroff
рядовой
Сообщения: 36
Зарегистрирован: 2009-07-25 18:31:32
Откуда: Кишинев

Re: mpd5 вопрос

Непрочитанное сообщение milleroff » 2009-07-27 15:08:28

metallic писал(а):да я уже сделал шейпер через PF и якоря, там все просто и удобно
А через mpd-limit еще легче ... тем более: "internal filter/shaper/limiter based on ng_bpf+ng_car expected to work faster with big number of active links."

metallic
рядовой
Сообщения: 49
Зарегистрирован: 2007-04-29 13:02:48

Re: mpd5 вопрос

Непрочитанное сообщение metallic » 2009-07-27 15:24:03

milleroff писал(а):
metallic писал(а):да я уже сделал шейпер через PF и якоря, там все просто и удобно
А через mpd-limit еще легче ... тем более: "internal filter/shaper/limiter based on ng_bpf+ng_car expected to work faster with big number of active links."
Я про этот mpd-limit не понял, это такой модуль к мпд, который на линках скорость ограничивает или он просто правила в фаервол добавляет?

milleroff
рядовой
Сообщения: 36
Зарегистрирован: 2009-07-25 18:31:32
Откуда: Кишинев

Re: mpd5 вопрос

Непрочитанное сообщение milleroff » 2009-07-27 15:42:57

metallic, канал можно резать/фильтровать/шейпить разными способами:

1. Через скрипты.
2. Через встроенную поддержку ipfw.
3. Через встроенный ng_bpf/ng_car.

Про последний можно прочитать тут: http://mpd.sourceforge.net/doc5/mpd30.html (внизу страницы).

metallic
рядовой
Сообщения: 49
Зарегистрирован: 2007-04-29 13:02:48

Re: mpd5 вопрос

Непрочитанное сообщение metallic » 2009-07-29 14:19:11

Поступил вопрос в личку, как я организовал шейпер. Отвечу публично, может еще кому пригодится.

Система FreeBSD, первым делом собираем ядро с поддержкой ALTQ, как это сделать:
добавляем в конфиг
options ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
options ALTQ_RED # Random Early Detection (RED)
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)
options ALTQ_NOPCC # Required for SMP build
http://www.freebsd.org/doc/ru_RU.KOI8-R ... ls-pf.html

Дальше конфигурим PF (/etc/pf.conf)

У меня получилось вот так:
int_if="em0"
ext_if="em1"
vpn_net="10.10.1.0/24"
icmp_types="echoreq"
tarifs="{ tarif-256 tarif-512 tarif-1024 tarif-1536 tarif-2048 tarif-3072 tarif-4096 tarif-5120 tarif-unlim }"

set limit { states 20000, frags 20000, src-nodes 5000 }
set block-policy return

scrub in all

altq on $int_if cbq bandwidth 100Mb queue $tarifs
altq on $ext_if cbq bandwidth 100Mb queue $tarifs
queue tarif-unlim bandwidth 50Mb cbq(default)
queue tarif-256 bandwidth 256Kb cbq
queue tarif-512 bandwidth 512Kb cbq
queue tarif-1024 bandwidth 1024Kb cbq
queue tarif-1536 bandwidth 1536Kb cbq
queue tarif-2048 bandwidth 2048Kb cbq
queue tarif-3072 bandwidth 3072Kb cbq
queue tarif-4096 bandwidth 4096Kb cbq
queue tarif-5120 bandwidth 5120Kb cbq

set skip on lo0

nat pass from $vpn_net to any -> $ext_if

block in
pass out keep state
antispoof quick for { lo $int_if }
pass in quick on $int_if
pass in inet proto icmp from $vpn_net to any icmp-type $icmp_types
anchor "nat/*" from $vpn_net to any
int_if="em0" - локальный интерфейс, который смотрит в локальную сеть

ext_if="em1" - внешний интерфейс, смотрит в интернет

vpn_net="10.10.1.0/24" - диапазон адресов выдаваемых mpd (виртуальные адреса)

загружаем конфиг

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

pfctl -f /etc/pf.conf
Ну считаем, что у вас мпд уже сконфигурен как надо, допустим он при старте запускает скрипт /tmp/up.sh, который содержит следующее:

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

#!/bin/sh

echo "pass in from $4 to any queue tarif-256" | pfctl -a "nat/$5" -f -
После подключения для пользователя в якорь nat добавится правило, разрешающее выход в интернет и при этом, весь трафик будет пропущен через очередь tarif-256, тут можно вписать любую нужную очередь из описанных в pf.conf, т.е. tarif-512, tarif-1024 и т.д.

Пример скрипта, который после отключения пользователя удалит правила и все записи из таблицы состояний об этом пользователе(этот скрипт тоже должен быть прописан в конфиге mpd):

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

#!/bin/sh

pfctl -a "nat/$5" -F rules
pfctl -k $4
Вроде все, еще пару комманд для диагностики:

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

Просмотр списка вложенных якорей
pfctl -a 'nat' -sA

Просмотр списка правил в якоре
pfctl -a 'nat/username' -s rules

byteplayer
проходил мимо
Сообщения: 1
Зарегистрирован: 2011-04-07 11:39:57

Re: mpd5 вопрос

Непрочитанное сообщение byteplayer » 2011-04-07 11:43:44

самое интересное -- как нормальный полисер сделать без mpd с помощью ng_bpf+ng_car
чтобы активировать эту связку на физическом интерфейсе или на влане и резать клиентов по src_ip & dst_ip без особого ущерба для ЦПУ