Ищестя Debian server | Крымский форум

Ищестя Debian server

  • Добро пожаловать на форум! Рады видеть вас здесь! Зарегистрируйтесь или Войдите в аккаунт, чтобы иметь полный доступ к площадке!

svip

Местный житель
Ветеран
Сообщения
1,535
Реакции
9
Репутация
13
Есть ли у кого Debian серверная версия со стабильным ядром, желательно с таким чтобы патч imq нормально ставал и не паниковал.

Ставил на бубунте 7.10 - без проблем (но поддержки этой версии уже нет). на 8.04(2.6.24-16-server) ставится патч, компилится, с новым ядром подымается, но какого-то х....ра модуль imq отсутствует вообще (modprobe imq).

Хочется поставить debian и поднять на нем, но с интернета качать - напряжно. Может у кого есть? чтобы в Crimea-IX положить? или есть решение для ubunt-ы 8.04 (2.6.24-16-server)???
 
Может както можно обойтись без imq в принципе ?
Как звучит задача ?
 
exn

Банальная задача. допустим 100 клиентов на анлиме на eth1. VPN коннект к серверу на eth1(ppp0)
У каждого клиента в базе свои параметы download (rate и ceil) И upload (rate и ceil)

Нужно общий канал резать между юзверями по их параметрам rate и ceil. у некоторых ceil доходит до ширины общего канала. + преоретизация трафа ICMP, www, все остальное. + нужно чтобы трубы канала не были жестко ограничены а раздавались на соседние класcы + маршрутиация на внутренний сервак, без ограничения скорости.

Щас в общем все сделано, но упал сервак (стоявший на 7.10 бубунте) и поднять 7.10 не удается из-за отсутствия ПО.

шейпер на закрузгу такого рода. (на аплоад - аналогично)
вызывается при подключении клиента на pptpd. Правила очищаются при отключении. Авторизация и статистика сидит на радиусе первом.

Код

#!/bin/sh

# Интерфейс
IP=${5}

IPINTERNET="ч.ч.ч.ч"
DEVINTERNET="ppp0"

DEVDOWN="imq1"
DEVUP="imq0"

if [ -f /var/run/radattr.$1 ]
then
DOWNSPEED='/usr/bin/awk '/PPPD-Downstream-Speed-Limit/ {print $2}' /var/run/radattr.$1'
UPSPEED='/usr/bin/awk '/PPPD-Upstream-Speed-Limit/ {print $2}' /var/run/radattr.$1'
ID='/usr/bin/awk '/ID-User/ {print $2}' /var/run/radattr.$1'


iptables -t mangle -A POSTROUTING -o $1 -j IMQ --todev 1
iptables -t mangle -A PREROUTING -i $1 -j IMQ --todev 0
iptables -t nat -A POSTROUTING -s $IP --out-interface $DEVINTERNET -j SNAT --to-source $IPINTERNET


ICMP="match ip protocol 1 0xff"
TCP="match ip protocol 6 0xff"
UDP="match ip protocol 17 0xff"
DPORT="match ip dport"
SPORT="match ip sport"
SRC="match ip src"
DST="match ip dst"
U32="protocol ip u32"


#-------------------------------------------------------------------------------
# DOWNLOAD
#-------------------------------------------------------------------------------

# ping
tc class add dev $DEVDOWN parent 1:1 classid 1:1${ID}1 htb rate ${DOWNSPEED}kbit ceil 999kbit prio 1
# ssh
tc class add dev $DEVDOWN parent 1:1 classid 1:1${ID}2 htb rate ${DOWNSPEED}kbit ceil 500kbit prio 2
# www
tc class add dev $DEVDOWN parent 1:1 classid 1:1${ID}3 htb rate ${DOWNSPEED}kbit ceil 500kbit prio 3
# все остальное
tc class add dev $DEVDOWN parent 1:1 classid 1:1${ID}4 htb rate ${DOWNSPEED}kbit ceil 500kbit prio 4

tc qdisc add dev $DEVDOWN parent 1:1${ID}1 handle 1${ID}1: sfq perturb 10
tc qdisc add dev $DEVDOWN parent 1:1${ID}2 handle 1${ID}2: sfq perturb 10
tc qdisc add dev $DEVDOWN parent 1:1${ID}3 handle 1${ID}3: sfq perturb 10
tc qdisc add dev $DEVDOWN parent 1:1${ID}4 handle 1${ID}4: sfq perturb 10

tc filter add dev $DEVDOWN parent 1:0 prio 1 $U32 $ICMP $DST ${IP}/32 classid 1:1${ID}1
tc filter add dev $DEVDOWN parent 1:0 prio 2 $U32 $SPORT 22 0xffff $DST ${IP}/32 classid 1:1${ID}2
tc filter add dev $DEVDOWN parent 1:0 prio 3 $U32 $SPORT 80 0xffff $DST ${IP}/32 classid 1:1${ID}3
tc filter add dev $DEVDOWN parent 1:0 prio 4 $U32 $DST ${IP}/32 classid 1:1${ID}4


#-------------------------------------------------------------------------------
# UPLOAD
#-------------------------------------------------------------------------------

tc class add dev $DEVUP parent 1:1 classid 1:1${ID}1 htb rate ${UPSPEED}kbit ceil 999kbit prio 1
tc class add dev $DEVUP parent 1:1 classid 1:1${ID}2 htb rate ${UPSPEED}kbit ceil 500kbit prio 2
tc class add dev $DEVUP parent 1:1 classid 1:1${ID}3 htb rate ${UPSPEED}kbit ceil 500kbit prio 3
tc class add dev $DEVUP parent 1:1 classid 1:1${ID}4 htb rate ${UPSPEED}kbit ceil 500kbit prio 4

tc qdisc add dev $DEVUP parent 1:${ID}1 handle 1${ID}1: sfq perturb 10
tc qdisc add dev $DEVUP parent 1:${ID}2 handle 1${ID}2: sfq perturb 10
tc qdisc add dev $DEVUP parent 1:${ID}3 handle 1${ID}3: sfq perturb 10
tc qdisc add dev $DEVUP parent 1:${ID}4 handle 1${ID}4: sfq perturb 10

tc filter add dev $DEVUP parent 1:0 prio 1 $U32 $ICMP $SRC ${IP}/32 classid 1:1${ID}1
tc filter add dev $DEVDOWN parent 1:0 prio 2 $U32 $DPORT 22 0xffff $SRC ${IP}/32 classid 1:1${ID}2
tc filter add dev $DEVDOWN parent 1:0 prio 3 $U32 $DPORT 80 0xffff $SRC ${IP}/32 classid 1:1${ID}3
tc filter add dev $DEVUP parent 1:0 prio 1 $U32 $SRC ${IP}/32 classid 1:1${ID}4


fi




Пробовал на ifb реализовать. так заданная ширина канала у меня почемуто не соответсвовала реальности (знаю про особенности ifb и itables: было все учтено).

С удовольствием выслушаю альтернативные варианты без IMQ. Очень хотелось бы отказаться от виртуалки, но вообще возможно ли это для исходящего трафа?????
 
Цитата(svip @ 9 Июля, 2009, 23:00)
Хочется поставить debian и поднять на нем, но с интернета качать - напряжно. Может у кого есть? чтобы в Crimea-IX положить?

ссылку в студию, выложу
 
Похоже что sarge подойдет.
http://www.linuximq.net/faq.html


Интересно производительность/пинги сильно страдают ? Так конечно идея прикольная для некоторых случаев..
 
Да кстати, можно попробывать эту шнягу.
http://info.iet.unipi.it/~luigi/dummynet/

Я ее не пробывал, но говорят работает, только какието проблемы с ядерным натом, а может и нет этих проблем, не знаю.
 
да-да, dummynet рулит) не знаю правда как его под линух прицепили)
 
dummynet под BSD - да, под дебиан - помоему полное извращение.
 
use the force, тьфу, freebsd
wink.gif
 
Назад
Сверху