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

Показать сообщение отдельно

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


Сообщения: 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