|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - ipfw скрипт для шлюза, корректно работающий с торрент-траффиком |
|
|
FreeBSD - ipfw скрипт для шлюза, корректно работающий с торрент-траффиком
|
Новый участник Сообщения: 46 |
Профиль | Отправить PM | Цитировать машина верой и правдой служит в качестве шлюза.
ОС: 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 работоспособны в отдельности, но несовместимы. Помогите, пожалуста. |
|
Отправлено: 11:08, 02-12-2008 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Какие еще существуют варианты проброса торрент-траффика сквозь шлюз?
|
Отправлено: 09:54, 04-12-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Снова вернулся к этой теме.
Составил список городских домашних сетей, пользователи которых пользуются торрен-сервисом (в данном случае это внутренний ресурс) Есть идея разделить весь входящий и исходящий траффик по принадлежности IP. Но IP адреса WEB серверов находятся в том же диапазоне, что и клиенты торрента. Как можно в ipfw описать диапазон IP адресов (причем немаленький диапазон) исключив из него несколько IP? |
Отправлено: 12:12, 04-02-2009 | #3 |
Старожил Сообщения: 398
|
Профиль | Отправить PM | Цитировать используйте оператор not
|
------- Отправлено: 16:23, 04-02-2009 | #4 |
Ветеран Сообщения: 738
|
Профиль | Отправить PM | Цитировать ну в PF например можно создать таблицу, которая содержит список подсетей и исключить из нее опредеоенный ИП. Пример
Содержимое таблицы можно брать из файла: Я думаю что в IPFW тоже можно чтото подобное сделать. только вот как.... . нужно в мануале пошукать. |
|
------- Отправлено: 16:34, 04-02-2009 | #5 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать 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 |
Отправлено: 17:12, 04-02-2009 | #6 |
Ветеран Сообщения: 738
|
Профиль | Отправить PM | Цитировать cluber, в принципе я думаю правильно. но проще как в мане написано
If you administer one or more subnets, you can take advantage of the address sets and or-blocks and write extremely compact rulesets which selectively enable services to blocks of clients, as below: goodguys="{ 10.1.2.0/24{20,35,66,18} or 10.2.3.0/28{6,3,11} }" badguys="10.1.2.0/24{8,38,60}" ipfw add allow ip from ${goodguys} to any ipfw add deny ip from ${badguys} to any ... normal policies ... |
------- Отправлено: 22:34, 04-02-2009 | #7 |
Старожил Сообщения: 398
|
Профиль | Отправить PM | Цитировать Создаем white.list с содержанием:
в правилах пишем: В результате рубим все что идет не на адреса перечисленные в белом списке. |
------- Отправлено: 08:30, 05-02-2009 | #8 |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать 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 Теоретически должно работать, но на практике не хочет Может, свежий взгляд человека понимающего уловит, что здесь не так? |
Последний раз редактировалось cluber, 05-02-2009 в 11:26. Отправлено: 11:12, 05-02-2009 | #9 |
Старожил Сообщения: 398
|
Профиль | Отправить PM | Цитировать Цитата cluber:
соответственно стереть можно только весь диапазон, а не отдельный адрес. |
|
------- Отправлено: 14:57, 06-02-2009 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Как корректно извлечь флешку чтоб ее не использовал скрипт | Ramzes8094 | AutoIt | 0 | 18-07-2009 19:33 | |
FreeBSD - IPFW через какие правила прошел пакет / debuging ipfw | lcat | Общий по FreeBSD | 2 | 03-02-2009 10:24 | |
Cisco - Рассматривается покупка маршрутизатора для работы в качестве шлюза в Интернет для ЛВС | Mertvii | Сетевое оборудование | 2 | 29-08-2008 09:58 | |
Программа для управления траффиком | ivieDVeD | Сетевые технологии | 2 | 24-01-2006 14:54 |
|