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

Исходное сообщение
"Раздел полезных советов: Прозрачное проксирование FreeBSD + IPFW + Squid."

Отправлено auto_tips , 04-Дек-07 11:43 
Все тестировалось на FreeBSD 6.2.

Вначале добавляем необходимые опции в ядро:

   IPFIREWALL
   IPFIREWALL_FORWARD

Далее добавляем правила на разворот трафика на Squid:

   ipfw add 49 fwd 127.0.0.1,3128 tcp from any to any 80

Затем правка собственно squid.conf :

   http_port 3128

   httpd_accel_host virtual
   httpd_accel_port 80
   httpd_accel_with_proxy on
   httpd_accel_uses_host_header on


URL:
Обсуждается: http://www.opennet.me/tips/info/1517.shtml


Содержание

Сообщения в этом обсуждении
"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено ws , 04-Дек-07 11:43 
Рецепт старый. А если сквид упадет? Хотелось бы динамического отслеживания активности сквида... Как это делает, например, циска.

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено sergei_ vasilyev , 19-Дек-07 13:24 
Т.е. если сквид упадет, то пустить траффик напрямую или использовать другой прокси? Умно.

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено Аноним , 04-Дек-07 12:11 
ага еще бы кто рассказал что делать с 443 портом?
для прозрачного проксирования? просто  
ipfw add 49 fwd 127.0.0.1,3128 tcp from any to any 443
не помогает:(

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено azimut , 26-Янв-10 11:51 
acl SSL_ports port 443
acl CONNECT method CONNECT
http_access deny CONNECT !SSL_ports
http_port 127.0.0.1:3128 transparent

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено Latik , 04-Дек-07 12:12 
А версия squid?
для версии 2.6: http_port 3128 transparent

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено abigor , 04-Дек-07 13:08 
а можно подробние чего для этого надо?

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено _Kuzmich , 04-Дек-07 14:12 
>а можно подробние чего для этого надо?

а разве можно проксировать порт 443 ? и в чем сей великий смысл, если всеравно данные там шифрованные ?


"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено Manager , 04-Дек-07 16:42 
Прозрачная прокся не кеширует HTTPS запросы, нужно в браузере прописывать IP и порт сквиды, тогда все работает.

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено Аноним , 04-Дек-07 17:18 
это я понимаю но в том то и вопрос нельзя сделать так чтобы не прописывать у каждого клиента?прозрачно так сказать

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено Micle , 10-Дек-07 15:57 
>это я понимаю но в том то и вопрос нельзя сделать так
>чтобы не прописывать у каждого клиента?прозрачно так сказать

можно отлавливать трафик идущий на 443 мимо сквида, и выдавать инструкцию пользователю как настроить бровзер, для правильной работы. ТОгда самому не надо будет настраивать. Пользователи сами сделают всю работу.


"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено Highwayman , 18-Дек-07 11:20 
>>это я понимаю но в том то и вопрос нельзя сделать так
>>чтобы не прописывать у каждого клиента?прозрачно так сказать
>
>можно отлавливать трафик идущий на 443 мимо сквида, и выдавать инструкцию пользователю
>как настроить бровзер, для правильной работы. ТОгда самому не надо будет
>настраивать. Пользователи сами сделают всю работу.

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


"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено Анонизмус , 05-Дек-07 05:49 
А как вы хотите кэшировать ssl, там же всё зашифровано и смысла проксировать не имеет, ставьте обычный nat.

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено Hare , 05-Дек-07 07:33 
Есть мнение, что в squid 2.6 вместо всей вот этой чепухи
   http_port 3128

   httpd_accel_host virtual
   httpd_accel_port 80
   httpd_accel_with_proxy on
   httpd_accel_uses_host_header on

В squid.conf надо записать просто
   http_port 127.0.0.1:3128 transparent


"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено Touch , 08-Дек-07 13:30 
именно, в новых версиях так и нужно делать

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено Аноним , 05-Дек-07 10:49 
да не хочу я его кэшировать:)
я хочу чтобы у пользователей автоматом работало без прописывания
у каждого настроек прокси сервера
чтобы к каждому юзеру который вдруг решил зайти например на gmail

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено кино , 07-Дек-07 12:24 
>да не хочу я его кэшировать:)
>я хочу чтобы у пользователей автоматом работало без прописывания
>у каждого настроек прокси сервера
>чтобы к каждому юзеру который вдруг решил зайти например на gmail

именно туда (гуглямыйл) врядли прозрачная прокся корректно отрабатывает все запросы по 443 порту


"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено PavelR , 18-Дек-07 07:28 
>да не хочу я его кэшировать:)
>я хочу чтобы у пользователей автоматом работало без прописывания
>у каждого настроек прокси сервера
>чтобы к каждому юзеру который вдруг решил зайти например на gmail

Ну так раздай всем настройки браузера через DHCP/WINS/Domain Policy/Logon Script/
или как там, через http://wpad/wpad.dat/ через такой вариант тоже можно..


"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено sf. , 07-Дек-07 11:56 
А что такое Прозрачное проксирование?

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено digger , 12-Дек-07 09:45 
Это когда клиент не видит, что ходит через прокси.

"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено WAG , 12-Дек-07 14:18 
#!/bin/sh
rm -R /var/squid.txt
ps -U root|grep squid >/var/squid.txt
if (cat /var/squid.txt |grep -q 'squid -F')
then exit
fi
rm /usr/local/squid/var/logs/squid.pid
/usr/local/squid/sbin/squid -F


Примерно так. По вопросу отслеживания сквида.
Можно повесить на крон раз в 3 мин.


"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено sergei_ vasilyev , 19-Дек-07 13:27 
>#!/bin/sh
>Примерно так. По вопросу отслеживания сквида.
>Можно повесить на крон раз в 3 мин.

костыли.
во-первых, для отслеживания работы демонов и их повторного запуска есть monit.
во-вторых, у хорошего админа squid просто так не падает.
в-третьих, если он все-таки упал, то для этого были веские причины и банальный перезапуск не поможет.


"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено Peter , 24-Дек-07 20:30 
Странно, у меня эксплорер лезет не через 80 порт, судя по всему. Форвард отрабатывает только если указать руками эксплореру прокси сервер, а порт поставить 80. На 3128 тоже соответственно работает. Куда копать?

"вопрос"
Отправлено АвторСтатьи , 09-Янв-08 10:45 
Странно, с такой системой как я описал, есть некоторые траблы (я не специалист в никсах) как такие:
все клиенты ходящие через прокси не могут попасть на countdown.ru, если отключить прокси все нормально.
подскажите. плз.

"вопрос"
Отправлено reticon , 11-Май-08 20:24 
>Странно, с такой системой как я описал, есть некоторые траблы (я не
>специалист в никсах) как такие:
>все клиенты ходящие через прокси не могут попасть на countdown.ru, если отключить
>прокси все нормально.
>подскажите. плз.

Если глянуть в access.log, то можно увидеть, например, следующее:
11/May/2008:22:46:57 +0400      1 192.168.0.3 TCP_DENIED/400 1188 NONE error:unsupported-request-method - NONE/- text/html

Смысл в том, что HTTPS-запросы не прокисруются, т.е. 443 порт заворачивать на прокси-сервер не нужно, пусть ходит через NAT. Например, у меня так:

iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 80,8080,8008,8081 -j REDIRECT --to-port 3128

iptables -t filter -A FORWARD -i eth1 -o eth0 -s 192.168.0.3 -p tcp -m multiport --dport 443 -j ACCEPT

В настройках броузера галочка "использовать прокси" НЕ установлена, в итоге, как HTTP, так и HTTPS запросы обрабатываются нормально.


"Прозрачное проксирование FreeBSD + IPFW + Squid."
Отправлено QuAzI , 21-Янв-09 10:50 
В таком виде не работало. Работало как ipfw add 49 fwd 127.0.0.1,3128 tcp from any to not me 80 in
тоесть ловим входящие пакеты, которые пытаются от нас уйти на 80-ый порт