The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

Прозрачное проксирование FreeBSD + IPFW + Squid.
Все тестировалось на 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
 
04.12.2007 , Автор: Астафьев Григорий
Ключи: squid, ipfw, transparent, proxy / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / Прокси сервер Squid / ACL, ограничения трафика и пользователей

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, ws (??), 11:43, 04/12/2007 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Рецепт старый. А если сквид упадет? Хотелось бы динамического отслеживания активности сквида... Как это делает, например, циска.
     
     
  • 2.20, sergei_ vasilyev (?), 13:24, 19/12/2007 [^] [ответить]    [к модератору]
  • +/
    Т.е. если сквид упадет, то пустить траффик напрямую или использовать другой прокси? Умно.
     
  • 1.2, Аноним (-), 12:11, 04/12/2007 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    ага еще бы кто рассказал что делать с 443 портом?
    для прозрачного проксирования? просто  
    ipfw add 49 fwd 127.0.0.1,3128 tcp from any to any 443
    не помогает:(
     
     
  • 2.26, azimut (?), 11:51, 26/01/2010 [^] [ответить]    [к модератору]
  • +/
    acl SSL_ports port 443
    acl CONNECT method CONNECT
    http_access deny CONNECT !SSL_ports
    http_port 127.0.0.1:3128 transparent
     
  • 1.3, Latik (?), 12:12, 04/12/2007 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    А версия squid?
    для версии 2.6: http_port 3128 transparent
     
  • 1.4, abigor (?), 13:08, 04/12/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    а можно подробние чего для этого надо?
     
     
  • 2.5, _Kuzmich (??), 14:12, 04/12/2007 [^] [ответить]    [к модератору]  
  • +/
    >а можно подробние чего для этого надо?

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

     
     
  • 3.7, Manager (?), 16:42, 04/12/2007 [^] [ответить]    [к модератору]  
  • +/
    Прозрачная прокся не кеширует HTTPS запросы, нужно в браузере прописывать IP и порт сквиды, тогда все работает.
     
     
  • 4.8, Аноним (-), 17:18, 04/12/2007 [^] [ответить]    [к модератору]  
  • +/
    это я понимаю но в том то и вопрос нельзя сделать так чтобы не прописывать у каждого клиента?прозрачно так сказать
     
     
  • 5.15, Micle (??), 15:57, 10/12/2007 [^] [ответить]    [к модератору]  
  • +/
    >это я понимаю но в том то и вопрос нельзя сделать так
    >чтобы не прописывать у каждого клиента?прозрачно так сказать

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

     
     
  • 6.19, Highwayman (?), 11:20, 18/12/2007 [^] [ответить]    [к модератору]  
  • +/
    >>это я понимаю но в том то и вопрос нельзя сделать так
    >>чтобы не прописывать у каждого клиента?прозрачно так сказать
    >
    >можно отлавливать трафик идущий на 443 мимо сквида, и выдавать инструкцию пользователю
    >как настроить бровзер, для правильной работы. ТОгда самому не надо будет
    >настраивать. Пользователи сами сделают всю работу.

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

     
  • 1.9, Анонизмус (?), 05:49, 05/12/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А как вы хотите кэшировать ssl, там же всё зашифровано и смысла проксировать не имеет, ставьте обычный nat.
     
     
  • 2.10, Hare (?), 07:33, 05/12/2007 [^] [ответить]    [к модератору]  
  • +/
    Есть мнение, что в 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

     
     
  • 3.14, Touch (?), 13:30, 08/12/2007 [^] [ответить]    [к модератору]  
  • +/
    именно, в новых версиях так и нужно делать
     
  • 2.11, Аноним (-), 10:49, 05/12/2007 [^] [ответить]    [к модератору]  
  • +/
    да не хочу я его кэшировать:)
    я хочу чтобы у пользователей автоматом работало без прописывания
    у каждого настроек прокси сервера
    чтобы к каждому юзеру который вдруг решил зайти например на gmail
     
     
  • 3.13, кино (?), 12:24, 07/12/2007 [^] [ответить]    [к модератору]  
  • +/
    >да не хочу я его кэшировать:)
    >я хочу чтобы у пользователей автоматом работало без прописывания
    >у каждого настроек прокси сервера
    >чтобы к каждому юзеру который вдруг решил зайти например на gmail

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

     
  • 3.18, PavelR (??), 07:28, 18/12/2007 [^] [ответить]    [к модератору]  
  • +/
    >да не хочу я его кэшировать:)
    >я хочу чтобы у пользователей автоматом работало без прописывания
    >у каждого настроек прокси сервера
    >чтобы к каждому юзеру который вдруг решил зайти например на gmail

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

     
  • 1.12, sf. (?), 11:56, 07/12/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А что такое Прозрачное проксирование?
     
  • 1.16, digger (??), 09:45, 12/12/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Это когда клиент не видит, что ходит через прокси.
     
  • 1.17, WAG (?), 14:18, 12/12/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    #!/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 мин.

     
     
  • 2.21, sergei_ vasilyev (?), 13:27, 19/12/2007 [^] [ответить]    [к модератору]  
  • +/
    >#!/bin/sh
    >Примерно так. По вопросу отслеживания сквида.
    >Можно повесить на крон раз в 3 мин.

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

     
  • 1.22, Peter (??), 20:30, 24/12/2007 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Странно, у меня эксплорер лезет не через 80 порт, судя по всему. Форвард отрабатывает только если указать руками эксплореру прокси сервер, а порт поставить 80. На 3128 тоже соответственно работает. Куда копать?
     
  • 1.23, АвторСтатьи (?), 10:45, 09/01/2008 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Странно, с такой системой как я описал, есть некоторые траблы (я не специалист в никсах) как такие:
    все клиенты ходящие через прокси не могут попасть на countdown.ru, если отключить прокси все нормально.
    подскажите. плз.
     
     
  • 2.24, reticon (ok), 20:24, 11/05/2008 [^] [ответить]    [к модератору]  
  • +/
    >Странно, с такой системой как я описал, есть некоторые траблы (я не
    >специалист в никсах) как такие:
    >все клиенты ходящие через прокси не могут попасть на 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 запросы обрабатываются нормально.

     
  • 1.25, QuAzI (ok), 10:50, 21/01/2009 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    В таком виде не работало. Работало как ipfw add 49 fwd 127.0.0.1,3128 tcp from any to not me 80 in
    тоесть ловим входящие пакеты, которые пытаются от нас уйти на 80-ый порт
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor