Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - ipfw скрипт для шлюза, корректно работающий с торрент-траффиком

Ответить
Настройки темы
FreeBSD - ipfw скрипт для шлюза, корректно работающий с торрент-траффиком

Новый участник


Сообщения: 46
Благодарности: 0

Профиль | Отправить 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
Благодарности: 0

Профиль | Отправить PM | Цитировать


Какие еще существуют варианты проброса торрент-траффика сквозь шлюз?

Отправлено: 09:54, 04-12-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 46
Благодарности: 0

Профиль | Отправить PM | Цитировать


Снова вернулся к этой теме.

Составил список городских домашних сетей, пользователи которых пользуются торрен-сервисом (в данном случае это внутренний ресурс)
Есть идея разделить весь входящий и исходящий траффик по принадлежности IP.

Но IP адреса WEB серверов находятся в том же диапазоне, что и клиенты торрента.

Как можно в ipfw описать диапазон IP адресов (причем немаленький диапазон) исключив из него несколько IP?

Отправлено: 12:12, 04-02-2009 | #3


Аватара для WhitePangolin

Старожил


Сообщения: 398
Благодарности: 49

Профиль | Отправить PM | Цитировать


используйте оператор not

-------
"Будьте реалистами - требуйте невозможного!" (c) Ernesto Che Guevara


Отправлено: 16:23, 04-02-2009 | #4


Ветеран


Сообщения: 738
Благодарности: 89

Профиль | Отправить PM | Цитировать


ну в PF например можно создать таблицу, которая содержит список подсетей и исключить из нее опредеоенный ИП. Пример
Код: Выделить весь код
table <goodguys> { 192.0.2.0/24, !192.0.2.5 }
Содержимое таблицы можно брать из файла:
Код: Выделить весь код
table <spammers> persist file "/etc/spammers"
block in on fxp0 from <spammers> to any
Я думаю что в IPFW тоже можно чтото подобное сделать. только вот как.... . нужно в мануале пошукать.

-------
Бараш.


Отправлено: 16:34, 04-02-2009 | #5


Новый участник


Сообщения: 46
Благодарности: 0

Профиль | Отправить 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
Благодарности: 89

Профиль | Отправить 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


Аватара для WhitePangolin

Старожил


Сообщения: 398
Благодарности: 49

Профиль | Отправить PM | Цитировать


Создаем white.list с содержанием:
Код: Выделить весь код
192.168.10.10
192.168.10.101
в правилах пишем:
Код: Выделить весь код
${ipfw} table 100 flush
for net in `cat white.list`; do
    ${ipfw} table 100 add $net
done
${ipfw} add deny all from any to not table\(100\)
В результате рубим все что идет не на адреса перечисленные в белом списке.

-------
"Будьте реалистами - требуйте невозможного!" (c) Ernesto Che Guevara


Отправлено: 08:30, 05-02-2009 | #8


Новый участник


Сообщения: 46
Благодарности: 0

Профиль | Отправить 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


Аватара для WhitePangolin

Старожил


Сообщения: 398
Благодарности: 49

Профиль | Отправить PM | Цитировать


Цитата cluber:
#Определяем одну из торрент подсетей (на самом деле их несколько)
# сама сеть
ipfw table 3 add 192.168.10.0
# веб сервера, которые тоже в этой подсети, но в торрент движениях участия не принимают удаляются из списка
ipfw table 3 delete 192.168.10.10
ipfw table 3 delete 192.168.10.101 »
Это работать не должно.
Код: Выделить весь код
gt# ipfw table 3 add 192.168.10.0
gt# ipfw table 3 list
192.168.10.0/32 0
соответственно стереть можно только весь диапазон, а не отдельный адрес.

-------
"Будьте реалистами - требуйте невозможного!" (c) Ernesto Che Guevara


Отправлено: 14:57, 06-02-2009 | #10



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - ipfw скрипт для шлюза, корректно работающий с торрент-траффиком

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как корректно извлечь флешку чтоб ее не использовал скрипт 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




 
Переход