forum.bitel.ru http://forum.bitel.ru/ |
|
Nas на freebsd http://forum.bitel.ru/viewtopic.php?f=5&t=1873 |
Страница 1 из 4 |
Автор: | Sinoptik [ 03 фев 2009, 05:37 ] |
Заголовок сообщения: | Nas на freebsd |
Есть несколько насов на linux. Почитал wiki - заинтриговала идея возможности разделения скоростей для городского трафика\внешнего (для pppd таких атрибутов не нашёл) Решил поднять nas на freebsd/ Соответственно возникло несколько вопросов и проблем: 1) в linux radius-client есть параметр nas_identifier в прилагаемых конфигах в mpd.conf для радиуса только Код: set radius retries 2 set radius timeout 10 set radius server 10.0.0.5 secret set radius me 10.0.0.1 как происходит идентификация наса? и где в конфиге указан ip на котором vpn висит 2)при запуске 001-netflow.sh вываливается Код: ngctl: send msg: File exists
ngctl: line 1: error in file решилось подгрузкой netgraph и ng_ether один раз но при перезагрузке опять та же проблема, несмотря что они подгружены.. Заранее спасибо |
Автор: | and [ 03 фев 2009, 10:54 ] |
Заголовок сообщения: | Re: Nas на freebsd |
Sinoptik писал(а): Есть несколько насов на linux. Почитал wiki - заинтриговала идея возможности разделения скоростей для городского трафика\внешнего
(для pppd таких атрибутов не нашёл) На pppd таких атрибутов нет! При делении скоростей на городской и внешний трафик, можно просто усовершенствовать шейпер прописав адреса которые находятся внутри городской зоны и к которым скорость будет ставиться по Вашему желанию. |
Автор: | Sinoptik [ 03 фев 2009, 15:44 ] |
Заголовок сообщения: | |
именно для этого я и начал разбираться с mpd Кстати а что нужно в ip-up добавить, чтобы к определённой подсетке скорость другую выставить? и как сделать, чтоб первые десять кб на высокой скорости отдавались (выбросы вроде это называются)? |
Автор: | snark [ 05 фев 2009, 19:23 ] |
Заголовок сообщения: | |
Sinoptik писал(а): Кстати а что нужно в ip-up добавить, чтобы к определённой подсетке скорость другую выставить? лучше это делать не в скриптах, а через RADIUS атрибуты ... Sinoptik писал(а): как сделать, чтоб первые десять кб на высокой скорости отдавались (выбросы вроде это называются)?
никак! пока 30 строк в netflow пакете не наберется ng_netflow его не отдаст ... P.S. /me думает что пора статью в вики писать про 5-й MPD ... |
Автор: | Sinoptik [ 06 фев 2009, 01:47 ] |
Заголовок сообщения: | |
я наверно неправильно вопрос сформулировал.. Ситуация такая - у меня насы на debian, но вследствии того, что так и не решил пару проблем с шейпингом городского трафика и отключением по snmp, решил поэкспериментировать с freebsd соответственно при настройке mpd4 по wiki возникло несколько вопросов: 1) где в конфиге указывается nas_identifer или он не нужен? как билинг идентифицирует нас этот? 2) где в конфиге указывается интерфейс, на котором впн слушается - у меня мпд нормально запускается ,однако впн не конектит.. Если кто-нибудь может выложить рабочий конфиг для мпд5 - вообще хорошо - там говорят уже нетфлов есть и не надо костылей лишних строить.. |
Автор: | snark [ 06 фев 2009, 17:16 ] |
Заголовок сообщения: | |
Sinoptik писал(а): 1) где в конфиге указывается nas_identifer или он не нужен? как билинг идентифицирует нас этот? тыц! MPD manual писал(а): set radius identifier name Send the given name in the RAD_NAS_IDENTIFIER attribute to the server. If not set the local hostname is used. но на самом деле это не обязательно, т.к. БГБ в общем то определяет NAS по IP адресу/секрету, а в конфиге NAS-а Вы указываете как производится сброс юзеров ... Sinoptik писал(а): 2) где в конфиге указывается интерфейс, на котором впн слушается - у меня мпд нормально запускается ,однако впн не конектит.. тыц! MPD manual писал(а): set pptp self ipaddr [ port ] Sets the local IP address and port for the PPTP connection. тыц! MPD manual писал(а): set link enable option ... ... incoming This option enables the acceptance of incoming connections. If this option is disabled, mpd will not accept incoming connections using this link. To avoid races it is advised to enable it after all other link options are configured. The default is disable. Sinoptik писал(а): Если кто-нибудь может выложить рабочий конфиг для мпд5 - вообще хорошо - там говорят уже нетфлов есть и не надо костылей лишних строить..
вполне рабочий конфиг РРРоЕ сервера: Код: startup: set user foo bar admin set console self 127.0.0.1 5005 set console open radius: set auth disable internal set auth max-logins 1 CI set auth enable radius-auth set auth enable radius-acct set auth acct-update 60 set radius server IP.адрес.BGB.RADIUS-а RADIUS-секрет 1812 1813 set radius me IP.адрес.MPD.машины set radius timeout 15 set radius retries 3 default: set ippool add stat 192.168.255.100 192.168.255.200 create bundle template B set ipcp ranges 127.0.0.1/32 ippool stat set ipcp dns IP.адрес.DNS.сервера set ipcp no vjcomp set ipcp no req-pri-dns set ipcp no req-sec-dns set ipcp no req-pri-nbns set ipcp no req-sec-nbns create link template L pppoe set link action bundle B set link max-children 1000 set link no multilink set link no shortseq set link no chap eap pap set link enable pap set pppoe acname Internet load radius create link template 100 L set pppoe iface vlan100 set link enable incoming create link template 200 L set pppoe iface vlan200 set link enable incoming create link template 300 L set pppoe iface vlan300 set link enable incoming для netflow поправить: Код: startup:
set netflow self IP.адрес.MPD.машины порт set netflow peer IP.адрес.BGB.RADIUS-а порт set netflow timeouts не_активн. активн. default: create bundle template B set iface enable netflow-in set iface enable netflow-out но я бы этого не советовал, т.к. не вижу нужды плодить кучу ng_netflow нод, когда можно создать только одну ноду и через ng_ipfw заворачивать только нужный трафик ... |
Автор: | Sinoptik [ 06 фев 2009, 19:03 ] |
Заголовок сообщения: | |
Спасибо большое! - буду разбираться |
Автор: | snark [ 06 фев 2009, 19:42 ] |
Заголовок сообщения: | |
если что - спрашивайте свои вопросы |
Автор: | Sinoptik [ 14 фев 2009, 05:23 ] |
Заголовок сообщения: | |
разбираюсь потихоньку.. у меня завелось всё с таким конфигом: Код: startup:
# configure mpd users set user foo bar admin set user foo1 bar1 # configure the console set console self 127.0.0.1 5005 set console open # configure the web server set web self 0.0.0.0 5006 set web open set ippool add sat 192.168.169.1 192.168.169.255 set netflow peer 192.168.105.5 2001 set netflow self 192.168.105.17 32345 set netflow timeouts 10 10 default: load pptp_server pptp_server: create bundle template pptp_b set iface enable netflow-in set iface enable netflow-out set iface enable tcpmssfix set ipcp yes vjcomp set ipcp ranges 192.168.5.1/32 ippool sat set ipcp dns 192.168.64.254 192.168.64.252 set bundle enable compression set ccp yes mppc set mppc yes compress set mppc yes e40 set mppc yes e56 set mppc yes e128 set mppc yes stateless create link template pptp_link pptp set link action bundle pptp_b set link enable multilink set link yes acfcomp protocomp set link no pap chap set link enable chap set link keep-alive 10 60 set link mtu 1460 set pptp self 192.168.105.17 set link enable incoming set auth enable radius-auth set auth enable radius-acct set radius enable report-mac set radius me 192.168.105.17 set radius retries 3 set radius timeout 10 set radius server 192.168.105.5 12345678 1812 1813 теперь вопрос про атрибуты: в вики написан пример, как к подсети не ограничивать скорость: Цитата: attrset.1.title=Скорость 64-Арена
attrset.1.attributes=mpd-filter=1#1=match dst net 82.200.107.0/27 and src net 192.168.120.0/24;mpd-filter=2#1=match src net 82.200.107.0/27 and dst net 192.168.120.0/24;mpd-limit=in#1=flt1 pass;mpd-limit=in#2=all shape 64000 4000 pass;mpd-limit=out#1=flt2 pass;mpd-limit=out#2=all shape 64000 4000 pass; #для сетки 82.200.107.0/27 и 192.168.120.0/24 без ограничений #для остально интернета первые 4 кб без ограничений, потом скорость ограничивается до 64 кб/с а как быть, если подсеток таких 20? прям так и перечислять подряд? или можно поэстетичнее сделать? |
Автор: | Sinoptik [ 15 фев 2009, 09:50 ] |
Заголовок сообщения: | |
и со сбрасыванием по snmp подскажите пожалуйста - брал конфиги из вики - не сбрасывается |
Автор: | snark [ 16 фев 2009, 13:40 ] |
Заголовок сообщения: | |
Sinoptik писал(а): и со сбрасыванием по snmp подскажите пожалуйста - брал конфиги из вики - не сбрасывается и не будет, т.к. там скрипты под mpd4 ... под mpd5 надо их подправить либо написать свои Sinoptik писал(а): а как быть, если подсеток таких 20? прям так и перечислять подряд? или можно поэстетичнее сделать?
либо описать все сети, либо аггрегировать их в одну большую сеть ... можно руками, а можно, например, с помощью aggregate ставите: Код: cd /usr/ports/net-mgmt/aggregate && make install clean а потом:Код: # cat net_list.txt | aggregate -q где net_list.txt файл вида:192.168.0.0/21 192.168.8.0/23 Код: 192.168.0.0/24
192.168.1.0/24 192.168.2.0/24 192.168.3.0/24 192.168.4.0/24 192.168.5.0/24 192.168.6.0/24 192.168.7.0/24 192.168.8.0/24 192.168.9.0/24 |
Автор: | Sinoptik [ 16 фев 2009, 15:31 ] |
Заголовок сообщения: | |
спасибо большое. видимо придётся на 4й мпд откатываться |
Автор: | snark [ 16 фев 2009, 16:08 ] |
Заголовок сообщения: | |
Sinoptik писал(а): видимо придётся на 4й мпд откатываться
это зачем еще? из за нежелания (лени?) написать что-то в духе этого (рабочий скрипт кстати): Код: #!/bin/sh
if [ -z "$*" ]; then exit 0 fi mpd_host='127.0.0.1' mpd_port='5005' mpd_user='foo' mpd_pass='bar' if [ $1 = '-s' ]; then if [ -n "$4" ]; then port=`printf "$mpd_user\r$mpd_pass\rshow sessions\rexit\r" | nc -4n $mpd_host $mpd_port | grep -E 'ng[0-9]+' | awk '{print $6}'` if [ -n "$port" ]; then if [ $4 -eq $port ]; then printf "$mpd_user\r$mpd_pass\rlink [%X]\rclose\rexit\r" $4 | nc -4n $mpd_host $mpd_port > /dev/null 2>&1 exit 0 fi fi fi fi if [ $1 = '-g' ]; then echo $2 echo 'string' check_port=`echo $2 | sed s/'.1.3.6.1.4.1.2021.255.'//g | awk '{print $1}'` sessions=`printf "$mpd_user\r$mpd_pass\rshow sessions\rexit\r" | nc -4n $mpd_host $mpd_port | grep -E 'ng[0-9]+' | awk '{print $6":"$8}'` for i in $sessions; do port=`echo $i | sed s/:/' '/g | awk '{print $1}'` if [ $port -eq $check_port ]; then user=`echo $i | sed s/:/' '/g | awk '{print $2}'` break fi done if [ -z $user ]; then echo '-' else echo $user fi fi |
Автор: | Sinoptik [ 16 фев 2009, 16:43 ] |
Заголовок сообщения: | |
Да у вас же уже есть всё необходимое, чтобы написать статью в wiki про mpd5 |
Автор: | snark [ 16 фев 2009, 17:09 ] |
Заголовок сообщения: | |
не совсем ... нету: - готового скрипта мониторига кол-ва подключившихся клиентов, есть только глухая бета версия - 100% понятного всем вокруг скрипта запуска ng_ipfw + ng_netflow для экспорта статистики на 2++ разных порта и/или IP адреса, mpd сам не умеет, а хочется без стороннего софта сделать разделение потоков для учета по netflow + детализация, опять же есть только бета, но ее надо под rc.ng переписать чтоб кошернее было - толкового rc.firewall чтобы люди в нем не заблудились ну и еще всякого по мелочи ... в кучу - оно все работает, но народ может не понять, а этого не хочется ... хочется чтоб могли просто копи/пастить с минимумом вопросов |
Автор: | Sinoptik [ 21 фев 2009, 12:01 ] |
Заголовок сообщения: | |
объясните пожалуйста по поводу фильтров Код: attrset.1.attributes=mpd-filter=1#1=match dst net 82.200.107.0/27 and src net 192.168.120.0/24;mpd-filter=2#1=match src net 82.200.107.0/27 and dst net 192.168.120.0/24;mpd-limit=in#1=flt1 pass;mpd-limit=in#2=all shape 64000 4000 pass;mpd-limit=out#1=flt2 pass;mpd-limit=out#2=all shape 64000 4000 pass;
например Цитата: match dst net 82.200.107.0/27 and src net 192.168.120.0/24
это то есть надо всегда указывать сеть назначения и пул источника или я путаю? как например не шейпить три сети x.x.x.x y.y.y.y z.z.z.z а остальное резать до 256? |
Автор: | Sinoptik [ 21 фев 2009, 16:39 ] |
Заголовок сообщения: | |
Код: attrset.1.attributes=mpd-filter=1#1=match dst net x.x.x.x and dst net y.y.y.y and dst net z.z.z.z;mpd-filter=2#1=match src net x.x.x.x and src net y.y.y.y and src net z.z.z.z;mpd-limit=in#1=flt1 pass;mpd-limit=in#2=all shape 64000 4000 pass;mpd-limit=out#1=flt2 pass;mpd-limit=out#2=all shape 64000 4000 pass;
так должно? |
Автор: | snark [ 24 фев 2009, 15:08 ] |
Заголовок сообщения: | |
тут я уже писал как можно ... в общем виде: - рисуем правила для mpd для сетей x.x.x.0/24 и y.y.y.0/24 трафик с/на которых не должен шейпится: Код: mpd-filter=1#1=match dst net x.x.x.0/24; mpd-filter=1#2=match dst net y.y.y.0/24; mpd-filter=2#1=match src net x.x.x.0/24; mpd-filter=2#2=match src net y.y.y.0/24; mpd-limit=in#1=flt1 pass; mpd-limit=in#2=all rate-limit 256000 pass; mpd-limit=out#1=flt2 pass; mpd-limit=out#2=all shape 256000 pass - прикручиваем эти правила к БГБ: Код: attrset.1.title=256k
attrset.1.attributes=mpd-filter=1#1=match dst net x.x.x.0/24;mpd-filter=1#2=match dst net y.y.y.0/24;mpd-filter=2#1=match src net x.x.x.0/24;mpd-filter=2#2=match src net y.y.y.0/24;mpd-limit=in#1=flt1 pass;mpd-limit=in#2=all rate-limit 256000 pass;mpd-limit=out#1=flt2 pass;mpd-limit=out#2=all shape 256000 pass |
Автор: | Sinoptik [ 24 фев 2009, 19:31 ] |
Заголовок сообщения: | |
по аналогии соответственно остальные сети mpd-filter=1#3 mpd-filter=1#4 так? rate-limit от shape чем отличается? |
Автор: | Sinoptik [ 24 фев 2009, 19:32 ] |
Заголовок сообщения: | |
по аналогии соответственно остальные сети mpd-filter=1#3 mpd-filter=1#4 так? rate-limit от shape чем отличается? |
Автор: | snark [ 24 фев 2009, 20:07 ] |
Заголовок сообщения: | |
Sinoptik писал(а): по аналогии соответственно остальные сети mpd-filter=1#3 mpd-filter=1#4 так? можно так, а можно в одну строку ... man tcpdump гляньте, там синтаксис такой же Sinoptik писал(а): rate-limit от shape чем отличается?
в кратце: полисинг - отбрасыание пакетов свыше установленной скорости шейпинг - постановка пакетов в очередь подробности можно почитать тут |
Автор: | Sinoptik [ 25 фев 2009, 00:08 ] |
Заголовок сообщения: | |
а с точки зрения анлимов что лучше? полисинг наверно на пинг плохо влияет? |
Автор: | snark [ 25 фев 2009, 00:15 ] |
Заголовок сообщения: | |
Sinoptik писал(а): а с точки зрения анлимов что лучше?
все зависит от скорости оных анлимов ... для низкоскоростных анлимов (64-512 kbps) желательно использовать шейпинг, а для более скоростных (1++ Mbps) лучше использовать полисинг, т.к. накладные расходы (потребеление ресурсов РС-юка) возрастают, а результат уже не так сильно заметен ... IMHO для исходящего от юзера трафика, вне зависимости от скорости его анлима лучше использовать полисинг, т.к. отброшенные пакеты всеравно передаются по Вашей сети, а не по каналу в Интернет, т.е. Вам их переприем ничего не стоит, а нагрузка на РС-юк меньше ... |
Автор: | Sinoptik [ 25 фев 2009, 01:04 ] |
Заголовок сообщения: | |
спасиб, пошёл rtfm-ить) |
Автор: | Nik [ 27 фев 2009, 15:33 ] |
Заголовок сообщения: | |
snark писал(а): не совсем ... нету:
- готового скрипта мониторига кол-ва подключившихся клиентов, есть только глухая бета версия А грепнуть вывод ifconfig и посчитать количество ng интерфейсов? |
Автор: | snark [ 27 фев 2009, 16:51 ] |
Заголовок сообщения: | |
Nik писал(а): А грепнуть вывод ifconfig и посчитать количество ng интерфейсов?
пока что идея такая: Код: #!/bin/sh
mpd_host='127.0.0.1' mpd_port='5005' mpd_user='foo' mpd_pass='bar' sessions=`printf "$mpd_user\r$mpd_pass\rshow sessions\rexit\r" | nc -4n $mpd_host $mpd_port | grep -E 'ng[0-9]+' | awk '{print $5}'` cnt=0 for i in $sessions; do cnt=$(($cnt + 1)) done echo $cnt |
Автор: | Nik [ 27 фев 2009, 16:56 ] |
Заголовок сообщения: | |
Кошмар какой: printf, nc, fgrep, awk.... ifconfig | fgrep 10.96.0.1 -c IP подставить от своего конца VPN тунеля, работает на 3-4-5 версиях mpd. |
Автор: | snark [ 27 фев 2009, 17:01 ] |
Заголовок сообщения: | |
Nik писал(а): Кошмар какой: printf, nc, fgrep, awk.... в чем кошмар то? в получении данных непосредственно от самого mpd? Nik писал(а): ifconfig | fgrep 10.96.0.1 -c
IP подставить от своего конца VPN тунеля, работает на 3-4-5 версиях mpd. ах, как интересно! а если у меня РРРоЕ? что мне тогда подставлять? а если РРРоЕ + РРТР (и такое у людей с этого форума есть) тогда что? `ifconfig | grep ng` ? но ведь это ifconfig, grep ... "кошмар какой"(с) |
Автор: | Nik [ 27 фев 2009, 18:40 ] |
Заголовок сообщения: | |
snark писал(а): Nik писал(а): Кошмар какой: printf, nc, fgrep, awk.... в чем кошмар то? в получении данных непосредственно от самого mpd? Nik писал(а): ifconfig | fgrep 10.96.0.1 -c IP подставить от своего конца VPN тунеля, работает на 3-4-5 версиях mpd. ах, как интересно! а если у меня РРРоЕ? И что? У тебя там не PPP завёрнуто чтоли? Точно так же грепнуть по IP который со стороны MPD в тунеле. |
Автор: | snark [ 27 фев 2009, 18:46 ] |
Заголовок сообщения: | |
Nik писал(а): И что? У тебя там не PPP завёрнуто чтоли? Точно так же грепнуть по IP который со стороны MPD в тунеле.
таки чем плох метод получения данных непосредственно из самого mpd? или это не кошерно? |
Страница 1 из 4 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |