Имею асинхронный АДСЛ канал down=2Mbit, up=1Mbit. Хочу разделить динамически канал между всеми пользователями локалки.
ADSL поднимает MPD (модем в режиме моста),внутренняя сеть на em0 (192.168.0./24). Система FreeBSD8.0 Release.
Настроил dummynet:
Код: Выделить всё
#ishod
ipfw pipe 1 config bw 1Mbit/s
ipfw queue 1 config pipe 1 mask src-ip 0xffffffff weight 60 queue 50 gred 0.002/10/30/0.1
#vhod
ipfw pipe 2 config bw 1500Kbit/s
ipfw queue 2 config pipe 2 mask dst-ip 0xffffffff weight 60 queue 50 gred 0.002/10/30/0.1
00100 queue 1 ip from 192.168.0.0/24 to any out
00200 check-state
00300 allow ip from any to any via lo0
00400 deny ip from any to 127.0.0.0/8
00500 deny ip from 127.0.0.0/8 to any
00600 deny ip from table(1) to any
00700 deny ip from any to 172.16.0.0/12 in via ng0
00800 deny ip from any to 192.168.0.0/16 in via ng0
00900 deny ip from any to 0.0.0.0/8 in via ng0
01000 deny ip from any to 169.254.0.0/16 in via ng0
01100 deny ip from any to 240.0.0.0/4 in via ng0
01200 deny icmp from any to any frag
01300 deny icmp from any to 255.255.255.255 in via ng0
01400 deny icmp from any to 255.255.255.255 out via ng0
01500 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any dst-port 80 recv em0
01600 divert 8668 ip from 192.168.0.0/24 to any out via ng0
01700 divert 8668 ip from any to X.X.X.X in via ng0
01800 queue 2 ip from any to 192.168.0.0/24 in
01900 deny ip from 172.16.0.0/12 to any out via ng0
02000 deny ip from 192.168.0.0/16 to any out via ng0
02100 deny ip from 0.0.0.0/8 to any out via ng0
02200 deny ip from 169.254.0.0/16 to any out via ng0
02300 deny ip from 224.0.0.0/4 to any out via ng0
02400 deny ip from 240.0.0.0/4 to any out via ng0
02500 allow tcp from any to any established
02600 allow ip from X.X.X.X to any out xmit ng0
02700 allow udp from any 53 to any via ng0
02800 allow udp from any to any dst-port 123 via ng0
02900 allow icmp from any to any icmptypes 0,8,11
03200 allow tcp from any to X.X.X.X dst-port 22 via ng0 setup limit src-addr 2
03300 allow tcp from any to any via em0
03400 allow udp from any to any via em0
03500 allow icmp from any to any via em0
03600 deny ip from any to any
65535 deny ip from any to any
Код: Выделить всё
00001: 1.000 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail
burst: 0 Byte
00002: 1.500 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail
burst: 0 Byte
q00001: weight 50 pipe 1 50 sl. 7 queues (64 buckets)
GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
22 ip 192.168.0.127/0 0.0.0.0/0 103 15938 0 0 0
32 ip 192.168.0.164/0 0.0.0.0/0 614 50034 0 0 0
40 ip 192.168.0.96/0 0.0.0.0/0 26 1288 0 0 0
42 ip 192.168.0.1/0 0.0.0.0/0 7614 3930969 1 92 0
44 ip 192.168.0.2/0 0.0.0.0/0 47876 50147080 0 0 0
50 ip 192.168.0.173/0 0.0.0.0/0 43129 22394835 2 2800 0
62 ip 192.168.0.139/0 0.0.0.0/0 111 7391 0 0 0
q00002: weight 50 pipe 2 50 sl. 11 queues (64 buckets)
GRED w_q 0.001999 min_th 10 max_th 30 max_p 0.099991
mask: 0x00 0x00000000/0x0000 -> 0xffffffff/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
17 ip 0.0.0.0/0 192.168.0.1/0 4628 241540 0 0 0
18 ip 0.0.0.0/0 192.168.0.2/0 30462 1481092 0 0 0
18 ip 0.0.0.0/0 192.168.0.194/0 2 136 0 0 0
20 ip 0.0.0.0/0 192.168.0.132/0 17820 13073465 0 0 0
27 ip 0.0.0.0/0 192.168.0.139/0 510 55019 0 0 0
29 ip 0.0.0.0/0 192.168.0.77/0 189 67001 0 0 0
47 ip 0.0.0.0/0 192.168.0.255/0 10 1388 0 0 0
48 ip 0.0.0.0/0 192.168.0.96/0 21 1111 0 0 0
52 ip 0.0.0.0/0 192.168.0.164/0 832 871125 0 0 0
59 ip 0.0.0.0/0 192.168.0.43/0 462 49088 0 0 0
61 ip 0.0.0.0/0 192.168.0.173/0 28045 2467958 0 0 0
1) почему общая скорость канала превышает 1,5Mbit? Ведь она в pipe задаеться жестко.
3)Интересна более тонкая настройка queue (слотов) в зависимости от bw канала. А также зависимость значения min_th,max_th для gred от значания queue(слотов). Никак не могу найти инфу по этой теме.
Подскажите, пожалуйста, уже которую неделю мучаюсь.
