Страница 1 из 1

Прозрачный SQUID

Добавлено: 2009-11-03 11:42:07
rip
Помогите, пожалуйста разобраться.

Система - 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 - то инета нет в принципе.
Если прописывать сквид в настройка браузера руками - то инет есть.
Не могу понять как мне правильно настроить прозрачный прокси, так чтобы не сделать его открытым.
Помогите, пожалуйста.

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

Добавлено: 2009-11-03 15:26:11
oP

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

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

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

Добавлено: 2009-11-03 15:51:16
rip
да, стоит

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

Добавлено: 2009-11-03 18:30:42
---nebo---
поменяйте

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

 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

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

Добавлено: 2009-11-16 9:51:16
rip
Поменял. Не помогло.
В качестве решения, добавил в 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
Не очень нравится, но работает.

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

Добавлено: 2009-11-17 14:23:49
Moraddin
у меня тоже почему то прозрачный 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) 
при этом если указать прокси руками, все работает...

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

Добавлено: 2009-11-17 16:39:00
Moraddin
я подумал и решил, что у меня "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 с какими то доп опциями?

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

Добавлено: 2009-11-17 17:26:50
rip
А разве в SQUID 2.7 не надо писать так:

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

http_port 3128 transparent
?

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

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

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

Добавлено: 2009-11-19 17:11:04
rip
Рекомендую попробовать прописать как-то так:

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

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

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

Добавлено: 2009-11-26 19:57:55
OSBoy
rip писал(а):Рекомендую попробовать прописать как-то так:

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

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

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

Добавлено: 2009-11-27 9:51:24
rip
OSBoy писал(а):
rip писал(а):Рекомендую попробовать прописать как-то так:

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

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