Прозрачный SQUID

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
rip
рядовой
Сообщения: 12
Зарегистрирован: 2007-02-14 16:44:30
Контактная информация:

Прозрачный SQUID

Непрочитанное сообщение rip » 2009-11-03 11:42:07

Помогите, пожалуйста разобраться.

Система - FreeBSD 7.1-RELEASE #3

ifconfig:

Код: Выделить всё

   vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
            options=2808<VLAN_MTU,WOL_UCAST,WOL_MAGIC>
            ether 00:1e:58:9f:fa:ef
            inet 218.113.217.13 netmask 0xfffffffc broadcast 218.113.217.15
            media: Ethernet autoselect (100baseTX <full-duplex>)
            status: active
    rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
            options=8<VLAN_MTU>
            ether 00:14:78:03:2c:3d
            inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
            media: Ethernet autoselect (100baseTX <full-duplex>)
            status: active
    tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
            inet 81.250.227.175 --> 81.250.224.56 netmask 0xffffffff
            Opened by PID 1165
(pppoe, поднимается на vr0)

ipfw:

Код: Выделить всё

    00100      14       760 allow ip from any to any via lo0
    00200       0         0 deny ip from any to 127.0.0.0/8
    00300       0         0 deny ip from 127.0.0.0/8 to any
    00400       0         0 allow ip from any to any via gif0
    03000     586     91066 fwd 192.168.1.1,3128 tcp from any to any dst-port 80 in via tun0
    03100 1095970 710951451 divert 8668 ip from any to any
    03900   45681  22955486 allow ip from any to 192.168.1.0/24 in via rl0
squid 2.7. избранное из squid.conf:

Код: Выделить всё

   acl hr src 192.168.1.196
    acl directors src 192.168.1.10 192.168.1.20 192.168.1.23 192.168.1.3 192.168.1.6 192.168.1.13 192.168.1.7 192.168.1.8
    acl executives src 192.168.1.191 192.168.1.192 192.168.1.194 192.168.1.197 192.168.1.198 192.168.1.195
    acl our_networks src 192.168.1.0/24

    acl BadSites url_regex -i "/usr/local/etc/squid/bad.sites.short"
    acl GoodSites url_regex -i "/usr/local/etc/squid/good.sites"
    acl JobSites url_regex -i "/usr/local/etc/squid/job.sites"
    acl MailRu url_regex -i "/usr/local/etc/squid/mail.ru"

    http_access deny !our_networks
    http_access allow our_networks GoodSites
    http_access allow hr JobSites
    http_access allow hr MailRu
    http_access allow directors
    http_access allow executives
    http_access deny our_networks BadSites

    http_port 192.168.1.1:3128
В такой конфигурации инет есть, но все ходят мимо сквида.
Если ставить http_port 192.168.1.1:3128 transparent - то инета нет в принципе.
Если прописывать сквид в настройка браузера руками - то инет есть.
Не могу понять как мне правильно настроить прозрачный прокси, так чтобы не сделать его открытым.
Помогите, пожалуйста.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
oP
рядовой
Сообщения: 15
Зарегистрирован: 2009-10-27 14:08:10
Контактная информация:

Re: Прозрачный SQUID

Непрочитанное сообщение oP » 2009-11-03 15:26:11

Код: Выделить всё

options         IPFIREWALL_FORWARD
в конфиге ядра стоит?


Аватара пользователя
---nebo---
старшина
Сообщения: 424
Зарегистрирован: 2008-11-01 21:06:23
Откуда: Киев
Контактная информация:

Re: Прозрачный SQUID

Непрочитанное сообщение ---nebo--- » 2009-11-03 18:30:42

поменяйте

Код: Выделить всё

 03000     586     91066 fwd 192.168.1.1,3128 tcp from any to any dst-port 80 in via tun0
на

Код: Выделить всё

 03000     586     91066 fwd 192.168.1.1,3128 tcp from any to any dst-port 80
...участки под застройку в живописном месте Интернет

rip
рядовой
Сообщения: 12
Зарегистрирован: 2007-02-14 16:44:30
Контактная информация:

Re: Прозрачный SQUID

Непрочитанное сообщение rip » 2009-11-16 9:51:16

Поменял. Не помогло.
В качестве решения, добавил в ipfw правило:

Код: Выделить всё

02900      0         0 deny log logamount 100 icmp from any to 255.255.255.255 out via vr0
02950   1347     64888 deny ip from any to MY_EXTERNAL_IP dst-port 3128
03000 371675 141546078 divert 8668 ip from any to any
03100  12988   5801489 fwd 127.0.0.1,3128 tcp from 192.168.1.0/24 to any dst-port 80
Не очень нравится, но работает.

Moraddin
проходил мимо

Re: Прозрачный SQUID

Непрочитанное сообщение Moraddin » 2009-11-17 14:23:49

у меня тоже почему то прозрачный SQUID работать не хочет...
в конфиге IPFW написано

Код: Выделить всё

${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any 80 via ${LanOut}
при этом в браузере выскакивает ошибка

Код: Выделить всё

ERROR
The requested URL could not be retrieved

While trying to process the request:

GET / HTTP/1.1
Host: ya.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cache-Control: max-age=0



The following error was encountered:

    * Invalid Request 

Some aspect of the HTTP Request is invalid. Possible problems:

    * Missing or unknown request method
    * Missing URL
    * Missing HTTP Identifier (HTTP/1.0)
    * Request is too large
    * Content-Length missing for POST or PUT requests
    * Illegal character in hostname; underscores are not allowed 

Your cache administrator is 123@123.com.
Generated Tue, 17 Nov 2009 07:19:45 GMT by MSK-Gate01.tdog2014.local (squid/2.7.STABLE6) 
при этом если указать прокси руками, все работает...

Moraddin
проходил мимо

Re: Прозрачный SQUID

Непрочитанное сообщение Moraddin » 2009-11-17 16:39:00

я подумал и решил, что у меня "Transparent" прокси не работает, потому что на строчки вида

Код: Выделить всё

#httpd_accel virtual
#httpd_accel_port 80
#httpd_accel_uses_host_header on
ругается

Код: Выделить всё

2009/11/17 11:56:11| parseConfigFile: squid.conf:37 unrecognized: 'httpd_accel'
шо це может быть? надо пересобрать squid с какими то доп опциями?

rip
рядовой
Сообщения: 12
Зарегистрирован: 2007-02-14 16:44:30
Контактная информация:

Re: Прозрачный SQUID

Непрочитанное сообщение rip » 2009-11-17 17:26:50

А разве в SQUID 2.7 не надо писать так:

Код: Выделить всё

http_port 3128 transparent
?

Moraddin
проходил мимо

Re: Прозрачный SQUID

Непрочитанное сообщение Moraddin » 2009-11-17 17:52:34

гениально!
работает!
что самое забавное, именно так и написано в squid.conf.default в разделе NETWORK OPTIONS , только я никак не мог понять, как же это правильно написать :)

rip
рядовой
Сообщения: 12
Зарегистрирован: 2007-02-14 16:44:30
Контактная информация:

Re: Прозрачный SQUID

Непрочитанное сообщение rip » 2009-11-19 17:11:04

Рекомендую попробовать прописать как-то так:

Код: Выделить всё

http_port ВНУТРЕННИЙ_IP:3128 transparent
дабы не влететь с открытой проксей.

Аватара пользователя
OSBoy
сержант
Сообщения: 228
Зарегистрирован: 2007-04-09 12:17:50
Откуда: Из капусты

Re: Прозрачный SQUID

Непрочитанное сообщение OSBoy » 2009-11-26 19:57:55

rip писал(а):Рекомендую попробовать прописать как-то так:

Код: Выделить всё

http_port ВНУТРЕННИЙ_IP:3128 transparent
дабы не влететь с открытой проксей.
А что значит "влететь с открытой проксей" ?

rip
рядовой
Сообщения: 12
Зарегистрирован: 2007-02-14 16:44:30
Контактная информация:

Re: Прозрачный SQUID

Непрочитанное сообщение rip » 2009-11-27 9:51:24

OSBoy писал(а):
rip писал(а):Рекомендую попробовать прописать как-то так:

Код: Выделить всё

http_port ВНУТРЕННИЙ_IP:3128 transparent
дабы не влететь с открытой проксей.
А что значит "влететь с открытой проксей" ?
Имелось в виду - не сделать случайно свой прокси-сервер открытым для всех желающих. Мы же будем слушать 3128 на всех интерфейсах, правильно?