LINUX.ORG.RU
ФорумAdmin

подскажите по pf....


0

0

никак логику понять не могу, в отличии от ipfw

Если вот так, то все нормально, собственно блокается все что в табличке
table <non_route_addr> { 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 0.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24, 204.152.64.0/23, 224.0.0.0/3, 20.20.20.0/24 }
block on $ext_if
block in log-all quick on $ext_if from < non_rout_addr > to $external_addr
block out log-all quick on $ext_if from any to < non_rout_addr >

А если так то блокается все равно все, не смотря на то что ниже открыто все.
block on $ext_if
block in log-all quick on $ext_if from any to $external_addr
block out log-all quick on $ext_if from $external_addr to any
pass all

Ну это к примеру я открыл все, а вообще мне нужно закрытьв се и откруть там куда-нибуть к примеру вот так вот выпустить астерискс...

block on $ext_if
block in log-all quick on $ext_if from any to $external_addr
block out log-all quick on $ext_if from $external_addr to any
pass in quick on $ext_if proto tcp from $sipnet_addr port {2000} to $external_addr flags S/SA synproxy state
pass out quick on $ext_if proto tcp from $external_addr to $sipnet_addr port {2000} flags S/SA keep state
pass in quick on $ext_if proto udp from $sipnet_addr port {2727,4520,4569,5060} to $external_addr
pass out quick on $ext_if proto udp from $external_addr to $sipnet_addr port {2727,4520,4569,5060}
но он не соединится или же прсто открыть ssh...

block on $ext_if
block in log-all quick on $ext_if from any to $external_addr
block out log-all quick on $ext_if from $external_addr to any
pass in quick on $ext_if proto tcp from any to $external_addr port = 2022
pass out on $ext_if proto { tcp, udp } all keep state


раньше у меня в ipfw было все по дефолту блокнуто и были такие строчки..

${ipfw} add 00510 pass tcp from any 1025-65535 to me 2022 in via sk0
${ipfw} add 00510 pass tcp from me 2022 to any 1025-65535 out via sk0 established

подскажите че я недопонимаю в pf?
anonymous

> А если так то блокается все равно все, не смотря на то что ниже открыто все.

в этом месте до pass all не доходит, потому что block _quick_

остальное не осилил

phoenix ★★★★
()
Ответ на: комментарий от phoenix

да, без квик вроде все что не запрещено, то разрешено.
Но тем не менее.
В общем суть задачи запрутить сквиду ходить напрямую на сайт, не только POST, но и CONNECT
Если я парент не указываю, но мой прокли подключается напярмую при указанном
--------------
acl CONNECT method CONNECT
never_direct allow CONNECT
acl POST method POST
never_direct allow POST
--------------
но при отправке я получаю..., что собственно правильно
Unable to forward this request at this time.
Только вот не ясно, почеум он все-таки соединяется напрямую?

Если вот так в конфиге сквида сказано...
--------------
cache_peer parent.int parent 3128 0 no-query default
acl CONNECT method CONNECT
never_direct allow CONNECT
acl POST method POST
never_direct allow POST
--------------
то отправляется через парент, а коннект происходит и напрямую и через парент

Если вот так указать в конфиге сквида...
--------------------------------------------
acl SSL method CONNECT
never_direct allow SSL
acl CONNECT method CONNECT
never_direct allow CONNECT
acl POST method POST
never_direct allow POST
cache_peer parent.int parent 3128 0 no-query default
cache_peer_access parent.int allow !CONNECT
cache_peer_access parent.int allow !POST
cache_peer_access parent.int allow !SSL
----------------------------------------------
То все равно поключается напрямую, но отправляет через парент.

Вот и родилась идея закрыть 80 порт на pf для того что-бы сквид не мог подключаться напрямую, а только через парент 3128...
прописал в кинфиге pf, вот так....
block in log-all on $ext_if from any to $external_addr
block out log-all on $ext_if from $external_addr to any
block in log-all quick on $ext_if proto udp from any to $external_addr port = 80
block out log-all quick on $ext_if proto udp from any to $external_addr port = 80
И все равно подключается напрямую=(
Подскажиет как закрыть доступ с 80 и на 80 порт?

anonymous
()
Ответ на: комментарий от anonymous

хм

block out log-all quick on $ext_if proto tcp from $(ext_if) port != 3128 to any port = 80

phoenix ★★★★
()

Насколько я помню, в pf для того чтобы правило по умолчанию было pass, его нужно поставить первым.

Вот так должно работать:
pass all
block on $ext_if
block in log-all quick on $ext_if from any to $external_addr
block out log-all quick on $ext_if from $external_addr to any

anti_social
()
Ответ на: комментарий от anti_social

->block out log-all quick on $ext_if proto tcp from $(ext_if) port != 3128 to any port = 80
ругается на синтаксис

->Вот так должно работать: 
юзал и так, но если квик, то все равно не катит(в ipfw иная логика), кароче нужно просто закрыть 80 порт....

anonymous
()
Ответ на: комментарий от anonymous

Вы что с ума посходили...

Вродебы... Вродебы только самолеты падают...

Открой любой документ о концепциях ipf или pf.

Принцип у них одинаковый.

paranormal ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.