URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 5749
[ Назад ]

Исходное сообщение
"freebsd+squid3 transparent"

Отправлено maxim_ , 30-Сен-08 09:24 
нужен прозрачный прокси кеширующий трафик с 80,443 портов.
платформа - роутер freebsd 5.4 + squid3 stable9

стоит 3 сетевых. 2 - локальных сетки(tau-pci) и 1 смотрит на провайдера (реалтек)

на первой tau-pci прописана сеть 12.3.123.0/255.255.255.128
на второй 12.3.123.129/255.255.255.128

squid собран с ключами
--enable-ipfw-transparent
--enable-default-err-language=Russian-1251
--enable-forward-log
--enable-snmp

конфиг минимальный

http_port 127.0.0.1:3128 transparent
icp_port 0
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 16 MB
cache_dir ufs /usr/local/squid/var/cache 2000 64 512
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
hosts_file /etc/hosts
error_directory /usr/local/squid/share/errors/Russian-1251
pid_filename /usr/local/squid/var/logs/squid.pid
acl    safe_ports    port    80    # http
acl    safe_ports    port    443    # ssl
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255

acl LocalNet src 12.3.123.0/24

http_access allow LocalNet
http_access deny !safe_ports
http_access deny all !LocalNet

dns_nameservers 127.0.0.1 #dns расположен на той же машине

dns_children 10

заворачиваем 80,443 на 3128 через ipfw

ipfw add 5 fwd 127.0.0.1,3128 tcp from 12.3.123.0/24 to any 80
ipfw add 6 fwd 127.0.0.1,3128 tcp from 12.3.123.0/24 to any 443

пробуем открыть ya.ru - получаем в логах
access.log: 1222750731.873    157 12.3.123.123 TCP_MISS/503 1299 GET http://ya.ru/ - DIRECT/ya.ru text/html
store.log: 1222750731.873 RELEASE -1 FFFFFFFF 42C3044AD717B83D0B1C7AAB9B7F35E2  503 1222750731         0        -1 text/html 939/939 GET http://ya.ru/

открываем в фаерволе 80 порт
ipfw add 2 allow tcp from any to me 80
ipfw add 2 allow tcp from me to any 80

пробуем опять, получаем
access.log: 1222750944.006 179718 12.3.123.123 TCP_MISS/504 1298 GET http://ya.ru/ - DIRECT/213.180.204.8 text/html
store.log: 1222750944.006 RELEASE -1 FFFFFFFF DB51E9E06CAB405EB4B7B1D9A53890D3  504 1222750944         0        -1 text/html 941/941 GET http://ya.ru/

есть идеи что не так?


Содержание

Сообщения в этом обсуждении
"freebsd+squid3 transparent"
Отправлено maxim_ , 30-Сен-08 12:07 
еще хочу уточнить по поводу опций
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

очень много документации к squid в том числе squid3 где они используются..
но мой прокси их не принимает..
устаревшие?
чем заменить?


"freebsd+squid3 transparent"
Отправлено alpha_Qu4z4r , 07-Апр-09 17:22 
>[оверквотинг удален]
>httpd_accel_host virtual
>httpd_accel_port 80
>httpd_accel_with_proxy on
>httpd_accel_uses_host_header on
>
>очень много документации к squid в том числе squid3 где они используются..
>
>но мой прокси их не принимает..
>устаревшие?
>чем заменить?

Так же встретился с этой проблемой:
[3|root@gw| /usr/ports/www/squid30 ] /usr/local/etc/rc.d/squid start
Starting squid.
2009/04/07 17:16:07| cache_cf.cc(346) squid.conf:321 unrecognized: 'httpd_accel_host'
2009/04/07 17:16:07| cache_cf.cc(346) squid.conf:322 unrecognized: 'httpd_accel_port'
2009/04/07 17:16:07| cache_cf.cc(346) squid.conf:323 unrecognized: 'httpd_accel_with_proxy'
2009/04/07 17:16:07| cache_cf.cc(346) squid.conf:324 unrecognized: 'httpd_accel_uses_host_header'


Судя по всему именно из-за этого мой сквид не работает транспарентно =(


"freebsd+squid3 transparent"
Отправлено reader , 07-Апр-09 20:25 
>[оверквотинг удален]
>[3|root@gw| /usr/ports/www/squid30 ] /usr/local/etc/rc.d/squid start
>Starting squid.
>2009/04/07 17:16:07| cache_cf.cc(346) squid.conf:321 unrecognized: 'httpd_accel_host'
>2009/04/07 17:16:07| cache_cf.cc(346) squid.conf:322 unrecognized: 'httpd_accel_port'
>2009/04/07 17:16:07| cache_cf.cc(346) squid.conf:323 unrecognized: 'httpd_accel_with_proxy'
>2009/04/07 17:16:07| cache_cf.cc(346) squid.conf:324 unrecognized: 'httpd_accel_uses_host_header'
>
>
>Судя по всему именно из-за этого мой сквид не работает транспарентно =(
>

что мешает конфиг который идет по умолчанию почитать?
эта конструкция начиная с 2.6 не используется.
http_port 10.0.0.254:3128 transparent


"freebsd+squid3 transparent"
Отправлено alpha_Qu4z4r , 09-Апр-09 19:29 
>что мешает конфиг который идет по умолчанию почитать?
>эта конструкция начиная с 2.6 не используется.
>http_port 10.0.0.254:3128 transparent

Да, я так и сделал и нашёл ответ.


"freebsd+squid3 transparent"
Отправлено tremor , 25-Май-09 17:35 
>>что мешает конфиг который идет по умолчанию почитать?
>>эта конструкция начиная с 2.6 не используется.
>>http_port 10.0.0.254:3128 transparent
>
>Да, я так и сделал и нашёл ответ.

Скажите а что делать в такой ситуации. Настроил сквид2.6 как прозрачный на отдельной машине. Фаервол запросы пользователей перенаправляет на прокси. А в access.log сквида пишется все только от имени фаервола  (запросы от всех компов определяются как запросы от фаервола). Как сделать чтоб фаер передавал ипы юзеров а не свой прокси серверу?


"freebsd+squid3 transparent"
Отправлено reader , 25-Май-09 17:58 
>[оверквотинг удален]
>>>эта конструкция начиная с 2.6 не используется.
>>>http_port 10.0.0.254:3128 transparent
>>
>>Да, я так и сделал и нашёл ответ.
>
>Скажите а что делать в такой ситуации. Настроил сквид2.6 как прозрачный на
>отдельной машине. Фаервол запросы пользователей перенаправляет на прокси. А в access.log
>сквида пишется все только от имени фаервола  (запросы от всех
>компов определяются как запросы от фаервола). Как сделать чтоб фаер передавал
>ипы юзеров а не свой прокси серверу?

не делать SNAT для пакетов отправляемых на squid, но если squid в одной подсети с клиентами, то он начнет отвечать им на прямую, что клиентам не понравится, соответственно еще понадобится squid вывести в другую физическую или логическую подсеть.


"freebsd+squid3 transparent"
Отправлено Tango , 18-Авг-09 14:55 
>[оверквотинг удален]
>>Скажите а что делать в такой ситуации. Настроил сквид2.6 как прозрачный на
>>отдельной машине. Фаервол запросы пользователей перенаправляет на прокси. А в access.log
>>сквида пишется все только от имени фаервола  (запросы от всех
>>компов определяются как запросы от фаервола). Как сделать чтоб фаер передавал
>>ипы юзеров а не свой прокси серверу?
>
>не делать SNAT для пакетов отправляемых на squid, но если squid в
>одной подсети с клиентами, то он начнет отвечать им на прямую,
>что клиентам не понравится, соответственно еще понадобится squid вывести в другую
>физическую или логическую подсеть.

У меня так:

В squid.conf :
http_port 3128 transparent

Потом:
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

eth0 - наружу
eth1 - внутрь