SQUID+PF

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
gfer
рядовой
Сообщения: 17
Зарегистрирован: 2009-07-24 10:51:33
Контактная информация:

SQUID+PF

Непрочитанное сообщение gfer » 2010-02-04 11:07:36

долго бьюсь не могу никак завернуть в PF определенных клиентов на прокси.
в squid.conf стоит http_port 3128 transparent

pf.conf

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

ext_if="em0"
int_if="em1"
local_if="lo0"
trusted_lan="172.16.10.0/24"
alpha="172.16.10.101"
vserver="172.16.10.100"
noroute="{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }"
tcp_services="{ 22, 21, 80, 443 }"
icmp_types="echoreq"

table <badhosts> persist
table <users> { 172.16.10.0/24 !172.16.10.100, !172.16.10.101, !172.16.10.102, !172.16.10.103 }
table <clients> persist file "/etc/clients"

set block-policy return
set loginterface $ext_if
set skip on $int_if
set skip on lo

scrub in all fragment reassemble

rdr on $int_if proto tcp from <clients> to any port www -> 127.0.0.1 port 3128
nat on $ext_if from $trusted_lan to any -> ($ext_if)

block all
block inet6 all
block in quick from any os NMAP
block drop in quick from <badhosts>
block in quick on $ext_if inet from $noroute to any
block out quick on $ext_if inet from any to $noroute
block drop in quick on $ext_if proto tcp from any port { 135 136 137 138 139 445 1433 } to any
block drop in quick on $ext_if proto udp from any port { 135 136 137 138 139 445 1434 } to any

### Block bad tcp flags from malicious people and nmap scans

block in log quick on $ext_if proto tcp from any to any flags /S
block in log quick on $ext_if proto tcp from any to any flags /SFRA
block in log quick on $ext_if proto tcp from any to any flags /SFRAU
block in log quick on $ext_if proto tcp from any to any flags A/A
block in log quick on $ext_if proto tcp from any to any flags F/SFRA
block in log quick on $ext_if proto tcp from any to any flags U/SFRAU
block in log quick on $ext_if proto tcp from any to any flags SF/SF
block in log quick on $ext_if proto tcp from any to any flags SF/SFRA
block in log quick on $ext_if proto tcp from any to any flags SR/SR
block in log quick on $ext_if proto tcp from any to any flags FUP/FUP
block in log quick on $ext_if proto tcp from any to any flags FUP/SFRAUPEW
block in log quick on $ext_if proto tcp from any to any flags SFRAU/SFRAU
block in log quick on $ext_if proto tcp from any to any flags SFRAUP/SFRAUP

antispoof quick for $ext_if inet

pass in on $ext_if inet proto tcp from any to $ext_if flags S/SA keep state
pass out on $ext_if from $ext_if to any keep state
pass out on $ext_if from $trusted_lan to any keep state
pass in on $int_if proto tcp from $trusted_lan to $int_if port ssh keep state \
   (max-src-conn 100, max-src-conn-rate 5/300, overload <badhosts> flush)
pass in on $ext_if proto tcp from any to $ext_if port ssh keep state \
   (max-src-conn 100, max-src-conn-rate 5/300, overload <badhosts> flush)
pass log inet proto icmp all icmp-type $icmp_types keep state

управляю всем этим делом через SAMS ну и там в учете трафика одни нули бьюсь давно хоть убейте!
Последний раз редактировалось terminus 2010-02-04 13:28:12, всего редактировалось 2 раза.
Причина: Убедительная просьба юзать теги [code] при оформлении листингов. Перенесено из FreeBSD в Networks.
Сатана был лучшим другом Церкви во все времена, поддерживая ее бизнес все эти годы!

Хостинговая компания 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/

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: SQUID+PF

Непрочитанное сообщение reLax » 2010-02-04 15:10:55

Как это вы управляете SAMS'ом pf ? )))
Если в pf у вас указан редирект на lo0, соответственно должно иметь место правило pass из $int_if:network на 127.0.0.1:3128 (образно говоря, там свои значения подставляйте)

Аватара пользователя
gfer
рядовой
Сообщения: 17
Зарегистрирован: 2009-07-24 10:51:33
Контактная информация:

Re: SQUID+PF

Непрочитанное сообщение gfer » 2010-02-04 15:14:26

не PF ом а SQUIDом
Сатана был лучшим другом Церкви во все времена, поддерживая ее бизнес все эти годы!

Аватара пользователя
gfer
рядовой
Сообщения: 17
Зарегистрирован: 2009-07-24 10:51:33
Контактная информация:

Re: SQUID+PF

Непрочитанное сообщение gfer » 2010-02-04 15:19:00

конфиг то хоть правильный кроме pass а то может че не так сделал
Сатана был лучшим другом Церкви во все времена, поддерживая ее бизнес все эти годы!

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: SQUID+PF

Непрочитанное сообщение reLax » 2010-02-04 15:44:53

Да знаю чем эта поделка SAMS управляет :) По сути своей меняет в squid.conf правила, что легко делается руками.
По поводу конфига pf не вникал. Но первое что посоветую - это во всех правилах поставить log. А потом уже очень легко будет определить если что не так например командой

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

# tcpdump -netttvvvi pflog0 | grep block
И прямо в реальном времени будешь видеть в каком месте у тебя pass срабатывает, а в какой block

Аватара пользователя
gfer
рядовой
Сообщения: 17
Зарегистрирован: 2009-07-24 10:51:33
Контактная информация:

Re: SQUID+PF

Непрочитанное сообщение gfer » 2010-02-04 15:49:25

за совет спасибо. Если точнее я имел ввиду не весь конфиг а set skip int_if может надо только set skip lo0
Сатана был лучшим другом Церкви во все времена, поддерживая ее бизнес все эти годы!

reLax
лейтенант
Сообщения: 638
Зарегистрирован: 2007-04-08 5:50:16

Re: SQUID+PF

Непрочитанное сообщение reLax » 2010-02-04 17:51:33

Ну вообще-то с позиции безопасности set skip on $int_if я бы не делал. Со сквидом set skip on lo0 надо обязательно, у него там внутренний свой DNS крутится на lo0. Короче делай пасс на 127.0.0.1, что-то типа pass in log on $int_if inet proto tcp from <clients> to 127.0.0.1 port 3128, а если не пойдет - то смотри уже tcpdump'ом. Да и на будущее пригодится ))

Аватара пользователя
gfer
рядовой
Сообщения: 17
Зарегистрирован: 2009-07-24 10:51:33
Контактная информация:

Re: SQUID+PF

Непрочитанное сообщение gfer » 2010-02-05 9:26:49

спасибо!
Сатана был лучшим другом Церкви во все времена, поддерживая ее бизнес все эти годы!

pimlab
прапорщик
Сообщения: 477
Зарегистрирован: 2007-10-09 11:31:03

Re: SQUID+PF

Непрочитанное сообщение pimlab » 2010-02-06 22:42:55

тоже не вникал особо в правила и можно ещё так

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

rdr pass on $int_if proto tcp from <clients> to any port www -> 127.0.0.1 port 3128