LINUX.ORG.RU

transparent proxy+pf + squid


0

1

Приветствую. Хочу сразу сказать,что я только начал изучать freebsd за сим появился вопрос при настройки прокси. Вернее хотелось бы узнать. Если в браузере клиента поставить галку использовать прокси, то правила pf+squid работают как нужно. Если же использовать прозрачный прокси, то получается, что правила squid не отрабатыват. конфиг pf # INTERFACES ext_if = «re0» # vneshni setevoi interface int_if = «rl0» # vnutrenni setevoi interface # Transparent proxy + NAT rdr proto tcp from $int_if to any port 80 -> 192.168.10.1 port 3128 nat on $ext_if from $int_if:network to any -> ($ext_if) # MACRO tcp_services = «{ssh, smtp, domain, http, 110, https, 821, 1723, nfsd, rpcbind, ftp_ports = »{ftp, ftp-data }" udp_services = «{domain, ntp, rpcbind, 821, 1723, nfsd, 3130 }» block in all

в сквиде там всего то ничего acl myhost src 192.168.10.16 acl mynet src 192.168.10.0/24 acl rambler dstdomain .rambler.ru acl wt time 10:00-22:00 http_access allow myhost http_access deny rambler http_access allow mynet wt http_access deny all

так вот если в клиенте явно указать проксю эти правила работают, если нет то игнорятся.



Последнее исправление: rewq_82 (всего исправлений: 1)

Изучите LORCODE (разметку сообщений для этого форума) и нормально отформатируйте своё сообщение. www.linux.org.ru/wiki/en/Lorcode

Squid для работы в режиме «прозрачной» прокси нужно конфигурировать опцией ″transparent″ у директивы ″http_port″.

mky ★★★★★
()

О! спасибо. Не мог найти как текст форматировать

rewq_82
() автор топика
Ответ на: комментарий от mky

результат такой же ни чего не изменилось :(

squid.conf
acl myhost src 192.168.10.16
acl mynet src 192.168.10.0/24
acl rambler dstdomain .rambler.ru
acl wt time 10:00-22:00

http_access allow myhost
http_access deny rambler
http_access allow mynet wt
http_access deny all
http_port 3128 transparent

pf.conf
# INTERFACES ext_if = «re0»
int_if = «rl0»
# Transparent proxy + NAT
rdr proto tcp from $ext_if:network to any port 80 -> 127.0.0.1 port 3128
nat on $ext_if from $int_if:network to any -> ($ext_if)
# MACRO
tcp_services = «{ssh, smtp, domain, http, 110, https, 821, 1723, nfsd, rpcbind, 3128 }»
ftp_ports = «{ftp, ftp-data }»
udp_services = «{domain, ntp, rpcbind, 821, 1723, nfsd, 3130 }»
block in all
# GRE
pass quick inet proto gre to any keep state
rk to any keep state # ALLOW ALL ICMP #pass quick inet proto icmp from any to any

block in log all

rewq_82
() автор топика
Ответ на: результат такой же ни чего не изменилось :( от rewq_82

нашел выход только сомневаюсь на сколько он верный
В общем если в строке : rdr proto tcp from $ext_if:network to any port 80 -> 127.0.0.1 port 3128
вместо $ext_if:network или же 192.168.10.0/24 или просто $ext_if поставить any
то прозрачный прокси начинает работать иначе нужного результата добиться не получается

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

или вот еще вариант тоже рабочий:)

может такому же новечку как я пригодится :)

в pf.conf обявим еще и внутреннюю сеть
lannet = «192.168.10.0/24» # internal network
ну и при заворачивании трафика укажем его
rdr proto tcp from $lannet to any port 80 -> 127.0.0.1 port 3128
спасибо за внимание проблему можно считать решенной :)

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