ipfw скрипт для шлюза, корректно работающий с торрент-траффиком
машина верой и правдой служит в качестве шлюза.
ОС: FreeBSD 6 Файр: в ipfw прокси: Squid Возникла необходимость пробросить торрент траффик на одну машину в локалке. Цель - пропустить и ограничить (чтоб не кушал больше положенного) торрент траффик. Торрент траффик желательно пропустить вне прокси. основа для конфигурации ipfw скрипта, пробрасывающего торрент-траффик взята здесь: http://www.opennet.ru/openforum/vslu...ID12/5247.html основа для конфигурации ipfw скрипта, для работы с прокси взята здесь: http://www.opennet.ru/base/net/freebsd_gw2.txt.html Проблема в том, что приведенные конфиги ipfw работоспособны в отдельности, но несовместимы. Помогите, пожалуста. |
Какие еще существуют варианты проброса торрент-траффика сквозь шлюз?
|
Снова вернулся к этой теме.
Составил список городских домашних сетей, пользователи которых пользуются торрен-сервисом (в данном случае это внутренний ресурс) Есть идея разделить весь входящий и исходящий траффик по принадлежности IP. Но IP адреса WEB серверов находятся в том же диапазоне, что и клиенты торрента. Как можно в ipfw описать диапазон IP адресов (причем немаленький диапазон) исключив из него несколько IP? |
используйте оператор not
|
ну в PF например можно создать таблицу, которая содержит список подсетей и исключить из нее опредеоенный ИП. Пример
Код:
table <goodguys> { 192.0.2.0/24, !192.0.2.5 } Код:
table <spammers> persist file "/etc/spammers" |
WhitePangolin, если вас не затруднит, то пожалуйста, приведите корректный пример для сети 192.168.10.0
IP адреса, которые нужно исключить 192.168.10.101 и 192.168.10.10 нигде ничего не смог найти с NOT. Кто-нить использовал tables? корректен ли такой вариант: ipfw table 3 add 192.168.10.0 ipfw table 3 delete 192.168.10.10 ipfw table 3 delete 192.168.10.101 |
cluber, в принципе я думаю правильно. но проще как в мане написано
Код:
If you administer one or more subnets, you can take advantage of the |
Создаем white.list с содержанием:
Код:
192.168.10.10 Код:
${ipfw} table 100 flush |
leonty, WhitePangolin, здесь смысл не в том, чтобы кого-то запретить или разрешить
А в том, чтобы используя эти, имеющиеся в наличии "педали" разделить весь траффик на "торрент траффик" и "НЕ торрент траффик" Условия просты: есть несколько городских домашних сетей (для простоты примера рассматриваем только одну) Все IP машин этой сети рассматриваем как IP потенциальных торрент-клиентов, но в этой же сети есть еще несколько машин ВЕБ серверов которые в торренте не учавствуют. Траффик с этих нескольких веб серверов и траффик мировой нужно направить FWD-ом на прокси (сквид) а все остальное (домашние сети -минус- веб сервера этих сетей, направить sikp-ом на тот блок, который отвечает за торрент передачу) Примерно так: fwcmd="ipfw -q " lancard="fxp0" inetcard="fxp1" peer="192.168.0.148" lannet="192.168.0.0/24" # внутренняя сеть #Определяем одну из торрент подсетей (на самом деле их несколько) # сама сеть ipfw table 3 add 192.168.10.0 # веб сервера, которые тоже в этой подсети, но в торрент движениях участия не принимают удаляются из списка ipfw table 3 delete 192.168.10.10 ipfw table 3 delete 192.168.10.101 #Здесь мы направляем клиентов торрент сетей на набор правил,заточенных специально под это дело ${fwcmd} add 100 scipto 12340 all from table(3) to any ${fwcmd} add 200 scipto 12340 all from any to table(3) Остальные отправляются на сквид ${fwcmd} add 300 fwd 127.0.0.1,3129 tcp from $lannet to any 21,80,443,5190 out via $inetcard За шлюзом - lannet, там не одна машина, которой нужен интернет, поэтому трансляция НАТ ${fwcmd} add 400 divert natd ip from any to any in via $oif .......... .......... .......... ${fwcmd} add 12300 deny log all from any to any # счетчик для торрент-клиентов ${fwcmd} add 12340 count # правила для торрент клиентов ${fwcmd} add 12350 pass all from ${peer} to any in via ${lancard} ${fwcmd} add 12360 divert natd all from ${peer} to any out via ${inetcard} ${fwcmd} add 12370 divert natd all from any to any in via ${inetcard} ${fwcmd} add 12380 pass all from me to any out via ${inetcard} ${fwcmd} add 12390 pass all from any to ${peer} out via ${lancard} ${fwcmd} add 12400 pass all from any to ${peer} in via ${inetcard} ${fwcmd} add 12500 deny log all from any to any # исходящий NAT (сюда скипим исходящий НЕ Торрент траффик(пропущенная часть)) ${fwcmd} add 40500 divert natd ip from any to any out via $oif # выпускаем пакеты из скипа ${fwcmd} add 40600 allow all from any to any ${fwcmd} add 50000 deny log all from any to any Теоретически должно работать, но на практике не хочет :( Может, свежий взгляд человека понимающего уловит, что здесь не так? |
Цитата:
Код:
gt# ipfw table 3 add 192.168.10.0 |
|
Цитата:
Цитата:
|
Время: 02:07. |
Время: 02:07.
© OSzone.net 2001-