Здравствуйте.
Есть такая проблемка: я сделал вот-такой-вот скриптик для ограничения скорости vpn пользователей:#!/bin/bash
AWK=/usr/bin/gawk
CAT=/bin/cat
GREP=/bin/grep
TC=/sbin/tc
DEV=$IFNAME
LOGIN=$PEERNAME
PATH=/usr/local/sbin/vpn/speeds
DOWNLINK="`$CAT $PATH | $GREP $LOGIN | $AWK '{print $3}'`"
UPLINK="`$CAT $PATH | $GREP $LOGIN | $AWK '{print $2}'`"
$TC qdisc del dev $DEV root 2> /dev/null > /dev/null
$TC qdisc del dev $DEV ingress 2> /dev/null > /dev/null
$TC qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 10mbit
$TC class add dev $DEV parent 1: classid 1:1 cbq rate ${UPLINK}kbit \
allot 1500 prio 5 bounded isolated
$TC class add dev $DEV parent 1:1 classid 1:10 cbq rate ${UPLINK}kbit \
allot 1600 prio 1 avpkt 1000
$TC class add dev $DEV parent 1:1 classid 1:20 cbq rate $((9*$UPLINK/10))kbit \
allot 1600 prio 2 avpkt 1000
$TC qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10
$TC qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10
$TC filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip tos 0x10 0xff flowid 1:10
$TC filter add dev $DEV parent 1:0 protocol ip prio 11 u32 \
match ip protocol 1 0xff flowid 1:10
$TC filter add dev $DEV parent 1: protocol ip prio 12 u32 \
match ip protocol 6 0xff \
match u8 0x05 0x0f at 0 \
match u16 0x0000 0xffc0 at 2 \
match u8 0x10 0xff at 33 \
flowid 1:10
$TC filter add dev $DEV parent 1: protocol ip prio 13 u32 \
match ip dst 0.0.0.0/0 flowid 1:20
$TC qdisc add dev $DEV handle ffff: ingress
$TC filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip src \
0.0.0.0/0 police rate ${DOWNLINK}kbit burst 10k drop flowid :1
запускаю его с ip-up, в файле /usr/local/sbin/vpn/speeds храню инфу о скорости каждого клиента в таком виде:
test 128 64
test2 256 128
Ограничение скорости работает, всё нормально... но после того как кто-то подключается и для него выполняется этот скриптик Bind9 перестаёт принимать запросы... он работает, никаких ошибок не выдаёт... просто перестаёт принимать запросы... помогает перезапуск Bind'а, после него всё работает...
В чём может быть проблемма?
Пока решил тупо: перекидую dns запросы пользователей сразу на dns-сервер провайдера... но как бы сделать так, что-бы мой Bind не падал?
Заранее спасибо.