Приветствую!
Помните мою статью "FreeBSD ipfw bandwidth control для UA-IX сетей"
Так вот уважаемый Redacid когда так подсказал своё решение для подобных задач.
Погодя год я изменил своё виденье на файерволл во FreeBSD в целом и полностью перешёл на PF.
Ниже привожу скрипт для фомирования таблицы Украинских сетей и последующего использования уже в PF:
#!/bin/sh
/usr/local/bin/wget -q -O - http://noc.ix.net.ua/ua-list.txt | sed 's/.0$/.0/24/g' > /tmp/ua-list.txt
for SUBNET in `pfctl -t ua_ix -T show | cut -f 4 -d " " | diff /tmp/ua-list.txt - | grep -E "([0-9]{1,3}.){3}[0-9]{1,3}" | grep ">" | cut -f 2 -d " " ` ; do
pfctl -t ua_ix -T delete $SUBNET
done
for SUBNET in `pfctl -t ua_ix -T show | cut -f 4 -d " " | diff /tmp/ua-list.txt - | grep -E "([0-9]{1,3}.){3}[0-9]{1,3}" | grep "<" | cut -f 2 -d " " ` ; do
pfctl -t ua_ix -T add $SUBNET
done
Сперва было так. Но из-за большого количества выпадающих сетей (я бы даже если сказал частого) слегка изменил его, с тем чтобы видеть какие же всё таки силок выпадают чаще всего.
#!/bin/sh
/usr/local/bin/wget -q -O - http://noc.ix.net.ua/ua-list.txt | sed 's/.0$/.0/24/g' > /tmp/ua-list.txt
for SUBNET in `pfctl -t ua_ix -T show | cut -f 4 -d " " | diff /tmp/ua-list.txt - | grep -E "([0-9]{1,3}.){3}[0-9]{1,3}" | grep ">" | cut -f 2 -d " " ` ; do
pfctl -t ua_ix -T delete $SUBNET
echo $SUBNET –delete
done
for SUBNET in `pfctl -t ua_ix -T show | cut -f 4 -d " " | diff /tmp/ua-list.txt - | grep -E "([0-9]{1,3}.){3}[0-9]{1,3}" | grep "<" | cut -f 2 -d " " ` ; do
pfctl -t ua_ix -T add $SUBNET
echo $SUBNET –add
done
По существу говоря у нас появилась таблица ua_ix с динамически изменяемыми сетями UA-IX
/etc/crontab
* * * * * root /home/zeon/projects/ua-ix.sh
В самом /etc/pf.conf использую пока для построения графиков. Привожу секцию относящуюся только к этому.
table <ua_ix> persist
pass in on gif0 from any to !<ua_ix> label "world_in"
pass out on gif0 from !<ua_ix> to any label "world_out"
pass in on gif0 from any to <ua_ix> label "uaix_in"
pass out on gif0 from <ua_ix> to any label "uaix_out"
Воспламенять аккаунтинг по лейблам разрешено вот этой командой
pfctl -sl
world_out 15063585 1325371 523049558
world_in 7416209 1526405 1354981094
ua_uaix_out 7416210 1982702 458136247
ua_uaix_in 7416210 2581732 2681024568
Ну и собсно далее будет… :)
Мобильные новости.
Gmail
Оуранозавр
Раскрываю Тему Книжек
Profanatica
Комментариев нет:
Отправить комментарий