Пытаюсь настроить распределение канала с целью ограничения исходящего трафика.Хочу следующего:
1. Чтобы мой web-сервер отдавал данные со скоростью от 4 до 10 kbit
2. Чтобы мой ftp-сервер отдавал данные со скоростью от 4 до 10 kbit
3. Чтобы мой bforce отдавал данные со скоростью от 4 до 16 kbit
4. Весь прочий исходящий трафик отдавался со скростью от 4 до 16 kbitПосле чтения всевозможной документации родился вот такой скрипт:
=================== Цитируется Windows Clipboard ===================
#!/bin/bash
#/sbin/tc qdisc add dev eth1 root handle 1:0 htb default 13
/sbin/tc class add dev eth1 parent 1:0 classid 1:1 htb rate 16kbit ceil 16kbit/sbin/tc class add dev eth1 parent 1:1 classid 1:10 htb rate 4kbit ceil 10kbit
/sbin/tc class add dev eth1 parent 1:1 classid 1:11 htb rate 4kbit ceil 10kbit
/sbin/tc class add dev eth1 parent 1:1 classid 1:12 htb rate 4kbit ceil 16kbit
/sbin/tc class add dev eth1 parent 1:1 classid 1:13 htb rate 4kbit ceil 16kbit/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip /
sport 80 0xffff flowid 1:10
/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip /
sport 20 0xffff flowid 1:11
/sbin/tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip /
sport 24554 0xffff flowid 1:12/sbin/tc qdisc add dev eth0 parent 1:10 handle 20: pfifo limit 5
/sbin/tc qdisc add dev eth0 parent 1:11 handle 30: pfifo limit 5
/sbin/tc qdisc add dev eth0 parent 1:12 handle 40: pfifo limit 5
/sbin/tc qdisc add dev eth0 parent 1:13 handle 50: sfq perturb 10
=================== Конец цитаты ===================Четыре последних команды ругаются следующим образом (я вместо pfifo пробовал и fifo ставить):
=================== Цитируется Windows Clipboard ===================
[root@gate admin]# /sbin/tc qdisc add dev eth0 parent 1:10 handle 20: pfifo limit 5
RTNETLINK answers: No such file or directory
[root@gate admin]# /sbin/tc qdisc add dev eth0 parent 1:10 handle 20: fifo
RTNETLINK answers: No such file or directory
=================== Конец цитаты ===================Подскажите, чего подкрутить?
а вывод
tc -d -s qdisc sh dev eth1
tc -d -s class sh dev eth1
что показывает ?
>а вывод
>tc -d -s qdisc sh dev eth1
>tc -d -s class sh dev eth1
>что показывает ?[root@gate script]# tc -d -s qdisc sh dev eth1
qdisc htb 1: r2q 10 default 13 direct_packets_stat 0 ver 3.7
Sent 105000 bytes 228 pkts (dropped 18, overlimits 287)
backlog 73p[root@gate script]# tc -d -s class sh dev eth1
class htb 1:11 parent 1:1 prio 0 quantum 1000 rate 4Kbit ceil 10Kbit burst 1604b/8 mpu 0b cburst 1611b/8 mpu 0b level 0
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
lended: 0 borrowed: 0 giants: 0
tokens: 2567999 ctokens: 1031680class htb 1:1 root rate 16Kbit ceil 16Kbit burst 1619b/8 mpu 0b cburst 1619b/8 mpu 0b level 7
Sent 125639 bytes 383 pkts (dropped 0, overlimits 0)
rate 1454bps 6pps
lended: 232 borrowed: 0 giants: 0
tokens: -662571 ctokens: -662571class htb 1:10 parent 1:1 prio 0 quantum 1000 rate 4Kbit ceil 10Kbit burst 1604b/8 mpu 0b cburst 1611b/8 mpu 0b level 0
Sent 10298 bytes 10 pkts (dropped 0, overlimits 0)
rate 50bps
lended: 7 borrowed: 3 giants: 0
tokens: -2908353 ctokens: 439808class htb 1:13 parent 1:1 prio 0 quantum 1000 rate 4Kbit ceil 16Kbit burst 1604b/8 mpu 0b cburst 1619b/8 mpu 0b level 0
Sent 115514 bytes 376 pkts (dropped 18, overlimits 0)
rate 1440bps 6pps backlog 3p
lended: 144 borrowed: 229 giants: 0
tokens: -3035329 ctokens: -662571class htb 1:12 parent 1:1 prio 0 quantum 1000 rate 4Kbit ceil 16Kbit burst 1604b/8 mpu 0b cburst 1619b/8 mpu 0b level 0
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
lended: 0 borrowed: 0 giants: 0
tokens: 2567999 ctokens: 647999
И при этом:
[root@gate script]# /sbin/tc qdisc add dev eth0 parent 1:10 handle 20: pfifo limit 5
RTNETLINK answers: No such file or directory
[root@gate script]# /sbin/tc qdisc add dev eth0 parent 1:10 handle 20: bfifo limit 1024
RTNETLINK answers: No such file or directory
[root@gate script]# /sbin/tc qdisc add dev eth0 parent 1:10 handle 20: sfq perturb 10
RTNETLINK answers: No such file or directory
[root@gate script]# /sbin/tc qdisc add dev eth0 parent 1:10 handle 20: pfifo_fast
RTNETLINK answers: No such file or directory
[root@gate script]#
Вот эта конструкция работает без проблем:
[root@gate script]# grep /tc /etc/rc.local
/sbin/tc qdisc add dev eth1 root sfq perturb 10Но хочется похитрее сделать...
Дистрибутив: RH9
сетевушка:
[root@gate script]# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:0A:E6:FE:8E:FD
inet addr:192.168.11.2 Bcast:192.168.11.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:386767 errors:0 dropped:0 overruns:0 frame:0
TX packets:402592 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:238683325 (227.6 Mb) TX bytes:237596228 (226.5 Mb)
Interrupt:10 Base address:0xd000
>Четыре последних команды ругаются следующим образом (я вместо pfifo пробовал и fifo
>ставить):
>
>Подскажите, чего подкрутить?Блин. Стыдобища-то какая... В последних четырех командах не тот интерфейс прописан. А я весь день голову ломал, чего за фигня творится...
В общем, извиняюсь за беспокойство, вопрос снят.