Скрипт для шейпирования зарубежного трафика.
Список российских сетей доступен по ссылке:
]]>http://noc.citytelecom.ru/rusnet/rusnet.txt]]>Для обрезания надо создать sh файл такого содержания, и поправить нужные параметра (IP шейпируемого хоста, скорость итд).
Образец скрипта:
Код
#!/bin/sh
kldload ipfw
kldload dummynet
ipfw delete 65000 >/dev/null 2>/dev/null
ipfw add 65000 allow ip from any to any >/dev/null 2>/dev/null
ipfw table 1 flush
iplist=`cat /etc/pf.runet`
for f in $iplist; do
ipfw table 1 add $f
done
ipfw delete pipe 1
ipfw delete queue 1
ipfw pipe 1 config bw 8Mbit/s
ipfw queue 1 config pipe 1 weight 60 queue 20Kbytes mask dst-ip 0xffffffff
ipfw delete 100 >/dev/null 2>/dev/null
ipfw add 100 queue 1 ip from 123.123.123.123 to not table\(1\)
В данном случае выстраивается очередь для каждого IP в 20КБ. Все что превышает 20КБ - дропается.