Шэйпинг PF+ALTQ и SQID ntlm

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
lDeNl
проходил мимо
Сообщения: 3
Зарегистрирован: 2011-03-03 12:40:35

Шэйпинг PF+ALTQ и SQID ntlm

Непрочитанное сообщение lDeNl » 2011-03-23 13:01:00

На данный момент PF шэйпит все нормально, но не трогая трафик проходящий через squid :( Все это работает в домене по этому прозрачный squid не работает.
Можно конечно пулы настроить на сквиде, но так будет несколько минусов в последующей работе...

Можно ли как то шэйпить http трафик проходящий через сквид с помощью PF?

pf.conf

Код: Выделить всё

ext_if="de1"
int_if="de0"
lo="l0"
vpn_if="tun0"
ext_ip_1 = "82.*.*.*"
lan_work = "192.168.10.0/24".
vpn_lan = "198.168.2.0/24"

table <all_user_ips> { 192.168.10.0/24 }
table <sp_user_ips> { 192.168.10.113 }
table <admin_ips> { 192.168.10.11 }
admin_ip="{ 192.168.10.11  }"

tcp_udp_out = "53"
tcp_out = "22, 25, 110, 1723"
tcp_services = "{ 113, 22 }"
icmp_types = "echoreq"

# списки приватных сетей, для блокировки их на внешнем интерфейсе
priv_nets = "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }"

#Поведение по умолчанию для правил фильтра, когда срабатывает правило block
# в нашем случае для отброшенных пакетов TCP отсылается TCP RST, для прочих
#ICMP Unreacheble
set block-policy drop
#Нормализация входящего трафика
scrub in all

#ALTQ
#download
altq on $int_if cbq bandwidth 100Mb queue { inet_in, default_in }
queue inet_in bandwidth 10Mb { all_user_in, sp_user_in, admin_in }
queue all_user_in bandwidth 10% cbq(red, borrow)
queue sp_user_in bandwidth 30% cbq(red, borrow)
queue admin_in bandwidth 50% cbq(red)
queue default_in bandwidth 10% cbq(default)
#upload
altq on $ext_if cbq bandwidth 100Mb queue { inet_out, default_out }
queue inet_out bandwidth 10Mb { all_user_out, sp_user_out, admin_out }
queue all_user_out bandwidth 10% cbq(red, borrow)
queue sp_user_out bandwidth 30% cbq(red, borrow)
queue admin_out bandwidth 50% cbq(red)
queue default_out bandwidth 10% cbq(default)

#NAT
nat on $ext_if from $lan_work to !$lan_work -> $ext_ip_1

#Проброска портов в локалку на comp_rdr_lan
#rdr pass on $ext_if inet proto { tcp, udp } from any to ($ext_if) \
#port { $comp_rdr_port } -> $comp_rdr_lan

# по умолчанию запрещаем все
block all
#разрешаем все через локальный интерфейс
pass quick on lo0 all

#Блокируем приватные сети на внешнем интерфейсе
block drop in  quick on $ext_if from $priv_nets to any
block drop out quick on $ext_if from any to $priv_nets

#Разрешаем доступ к нашему серваку снаружи к определенным портам
pass in on $ext_if inet proto tcp from any to $ext_if port $tcp_services \
flags S/SA keep state

#Натим пакеты из локалки
#nat on $ext_if from $lan_work to !$lan_work -> $ext_ip_1

#block in quick proto tcp from !<admin> to port { 21, 22 } #закрываем ftp и ssh
pass in on $int_if proto tcp from $admin_ip to $int_if port ssh

#Разрешаем входящие icmp ping
pass in inet proto icmp all icmp-type $icmp_types keep state

#Разрешаем все через туннель
pass on tun0 all
#pass on tun1 all

#Разрешить из локалки доступ к внутреннему интерфейсу и к локалке работы
pass in quick on $int_if from $int_if:network to { $int_if, $lan_work } \
keep state

#Разрешить из локалки tcp и udp на tcp_udp_out
pass in quick on $int_if inet proto { tcp, udp } from $int_if:network to any \
port { $tcp_udp_out } keep state
#Разрешить из локалки tcp на tcp_out
pass in quick on $int_if inet proto tcp from $int_if:network to any port \
{ $tcp_out } keep state
#Разрешить из локалки gre
pass in quick on $int_if inet proto gre from $int_if:network to any keep state
#Разрешить в локалку все через внутренний интерфейс
pass out on $int_if from any to $int_if:network keep state
#Разрешить наружу tcp через внешний интерфейс
pass out on $ext_if proto tcp all modulate state flags S/SA
#Разрешить наружу udp, icmp, gre через внешний интерфейс
pass out on $ext_if proto { udp, icmp, gre } all keep state

#Проброс очередей 
pass in on $int_if from <all_user_ips> to !$lan_work queue all_user_out no state
pass in on $int_if from <sp_user_ips> to !$lan_work queue sp_user_out no state
pass in on $int_if from <admin_ips> to !$lan_work queue admin_out no state
pass out on $int_if from !$lan_work to <all_user_ips> queue all_user_in no state
pass out on $int_if from !$lan_work to <sp_user_ips> queue sp_user_in no state
pass out on $int_if from !$lan_work to <admin_ips> queue admin_in no state 

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
vadim64
майор
Сообщения: 2101
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: Шэйпинг PF+ALTQ и SQID ntlm

Непрочитанное сообщение vadim64 » 2011-03-26 17:47:03

шейпте трафик в локальную сеть по порту сквида
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.