Уважаемые знатоки помогите решить проблему стоит cent 6.3, есть два роутера на первом в пик 95000 соеденений на втором 125000... На первом роутере пинг 0-1мс в пик потерь нет, на втором пинг 1-10мс 6% потерь, с 50 пакетов, скорость плохо режиться как только я тормажу шейпер, пинг спадает потерь нет... Изначально скрипт был без хэш таблиц переписав на хэш таблицы я надеялся проблема уйдёт, но нет.. Я написал вот такой скрипт:
stop > /dev/null 2>&1
#Добавление корневых дисциплин
#in
${TC} qdisc add dev eth1 root handle 1: htb
#out
${TC} qdisc add dev eth0 root handle 1: htb
#Добавление корневых классов
#in
${TC} class add dev eth1 parent 1: classid 1:1 htb rate 1024mbit
#out
${TC} class add dev eth0 parent 1: classid 1:1 htb rate 1024mbit
#Добавление хэш-таблиц на каждую подсеть
${CAT} ${NETS} | ${SED} -r 's/192\.168\.([0-9]{1,2}).{1,}/\1/' | while read 'seg'
do
${TC} filter add dev eth1 parent 1: prio 1 handle ${seg}: protocol ip u32 divisor 256
${TC} filter add dev eth1 parent 1: protocol ip u32 ht 800:: match ip dst 192.168.${seg}.0/24 hashkey mask 0x000000ff at 16 link ${seg}:
done
${CAT} ${DATA} ${DATAEX} | while read 'ip' 'speed'
do
local THREEOC=`${ECHO} ${ip} | $SED -r 's/192\.168\.([0-9]{1,2}).{1,}/\1/'`
local THREEOCHEX=`${PRINTF} '%x\n' ${THREEOC}`
local FOUROC=`${ECHO} ${ip} | ${SED} -r 's/192\.168\.[0-9]{1,2}.([0-9]{1,3})/\1/'`
local FOUROCHEX=`${PRINTF} '%x\n' ${FOUROC}`
local ID=`${PRINTF} '%x\n' ${THREEOC}${FOUROC}`
#in
#Добавление классов для каждого ip
${TC} class add dev eth1 parent 1:1 classid 1:${ID} htb rate ${speed}kbit ceil ${speed}kbit prio 2 quantum 15365
${TC} qdisc add dev eth1 parent 1:${ID} handle ${ID}: sfq perturb 10
${TC} filter add dev eth1 protocol ip prio 2 u32 ht ${THREEOC}:${FOUROCHEX}: match ip dst ${ip}/32 flowid 1:${ID}
#out
#Добавление классов для каждого ip
${TC} class add dev eth0 parent 1: classid 1:${ID} htb rate $[speed/2]kbit ceil $[speed/2]kbit prio 2 quantum 15365
${TC} qdisc add dev eth0 parent 1:${ID} handle ${ID}: sfq perturb 10
${TC} filter add dev eth0 parent 1: protocol ip prio 2 u32 ht 800:: match ip src ${ip}/32 flowid 1:${ID}
#Дублируем списки для дальнейшей проверки
${CAT} ${DATA} > ${DATA}.chk
${CAT} ${DATAEX} > ${DATAEX}.chk
#Сообщение в лог
${ECHO} "${DATE} $0 Шейпер запущен..." >> ${LOG}
done