Squid NO PROXY (или как пускать на локальные сайты в обход прокси)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Squid NO PROXY

Сообщение eddy »

Настроил я себе дома прозрачный прокси (чтобы можно было использовать мой компьютер как шлюз для нетбука, да и вообще удобно это). "Настоящий" прокси указал как parent. Однако, на локальные сайты браузер все равно пытается идти через squid (на то он и прозрачный).
Вот такой вопрос: можно ли как нибудь в настройках squid'а заставить его перенаправлять клиента на локальные ip напрямую?

P.S. Да, только что заметил, что squid почему-то не пользуется локальным кешем, а каждый раз отправляет запрос "отцу".
Конфиг:

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

access_log /var/log/squid/access.log
visible_hostname .....
tcp_outgoing_address 192.168.....
http_port 3128 transparent
cache_peer 192.168..... parent 8080 0
never_direct allow all
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_dir diskd /var/spool/squid 100 16 256
cache_store_log none
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320
half_closed_clients off
acl manager proto cache_object
acl localhost src 127.0.0.1 .....
acl to_localhost dst 127.0.0.0/8
acl localnet src 192.168.2.1-192.168.2.2 # RFC1918 possible internal network
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
http_access allow localnet
http_access allow localhost
http_access allow manager localhost
acl mynetwork src 192.168.2.0/255.255.255.0
http_access allow mynetwork
http_reply_access allow all
icp_access allow all
append_domain ......
deny_info ERR_CUSTOM_ACCESS_DENIED all
memory_pools off
coredump_dir /var/spool/squid
ie_refresh on
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Squid NO PROXY

Сообщение eddy »

Вопрос из "P.S." снимается, я проверял по динамическим страницам с jQuery и т.п. :)
Основной вопрос остается.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
vodnick
Сообщения: 70
ОС: Ubuntu

Re: Squid NO PROXY

Сообщение vodnick »

Cкорее всего, средствами iptables вы заворачиваете ВЕСЬ идущий через шлюз web-трафик на прокси.
А на "локальные" хосты его заворачивать не нужно. Или Вы ходите на "локальные" хосты через родительский прокси?
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Squid NO PROXY

Сообщение eddy »

vodnick писал(а):
10.12.2009 08:52
Cкорее всего, средствами iptables вы заворачиваете ВЕСЬ идущий через шлюз web-трафик на прокси.
А на "локальные" хосты его заворачивать не нужно. Или Вы ходите на "локальные" хосты через родительский прокси?

Все запросы iptables заворачивает на мой (локальный) прокси. Он, соответственно - пускает их через родительский, или обрабатывает из своего кеша. Т.е. здесь надо либо средствами iptables запросы на локальные адреса обрабатывать в обход прокси, либо средствами squid пропускать их без кеша и родительского прокси. Первое, похоже, осуществить проще, но в iptables я вообще 0. У squid'а конфиг вроде простой, но я никак не могу найти, есть ли у него возможность часть acl оставлять без прокси, а отправлять наружу напрямую.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
arkhnchul
Сообщения: 2284
Статус: Толчковый инженер
ОС: Debian, Fedora

Re: Squid NO PROXY

Сообщение arkhnchul »

iptables правила покажите. Там все делается просто - в условия правила, добавляете отрицание локалки (! -d 192.168.0.0/24, к примеру), и все .
Losing is fun!
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Squid NO PROXY

Сообщение eddy »

Спасибо, вечером попробую.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Squid NO PROXY

Сообщение eddy »

Еще вопросик: squid я частично настроил, и теперь по http и https протоколы через него обрабатываются. Осталась проблема с ftp: работает только в пассивном режиме. В интернете я читал, что активный Ftp в прозрачном режиме прокси не работает, однако, там было написано то же самое и про https (который прекрасно работает). В чем может быть проблема?
Логи:

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

cat /etc/shorewall/rules.drakx

ACCEPT    net:192.168.xx    fw    udp    111,2049,4002,4001,4003,4004    -
ACCEPT    net:192.168.xx    fw    tcp    111,2049,4002,4001,4003,4004    -
ACCEPT    net    fw    tcp    80,443    -
ACCEPT    net:192.168.xx/24,127.0.0.1    fw    tcp    20,21    -
ACCEPT    net:192.168.xx/24,127.0.0.1    fw    udp    20,21    -
ACCEPT    net    fw    icmp    8    -
ACCEPT+    fw    net    tcp    http    -    -    -    squid
DNAT    fw    loc:127.0.0.1:3128    tcp    -    -    !192.168.2.0/24,192.168.xx/24,127.0.0.1
DNAT    loc    loc:127.0.0.1:3128    tcp    -    -    !192.168.2.0/24,192.168.xx/24,127.0.0.1
DNAT    fw    loc:127.0.0.1:3128    udp    -    -    !192.168.2.0/24,192.168.xx/24,127.0.0.1
DNAT    loc    loc:127.0.0.1:3128    udp    -    -    !192.168.2.0/24,192.168.xx/24,127.0.0.1


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

cat /etc/squid/squid.conf

access_log /var/log/squid/access.log
visible_hostname XXXXXXXXXX
tcp_outgoing_address 192.168.xx
http_port 3128 transparent
cache_peer XXXXXXXX parent 8080 0
never_direct allow all
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_dir diskd /Data/squid 5500 64 256
cache_store_log none
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320
half_closed_clients off
acl manager proto cache_object
acl localhost src 127.0.0.1 192.168.xx
acl to_localhost dst 127.0.0.0/8
acl localnet src 192.168.2.2 # RFC1918 possible internal network
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 20          # ftp
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
acl ftp proto FTP
http_access allow localnet
http_access allow localhost
http_access allow manager localhost
http_access deny manager
http_access allow CONNECT Safe_ports
http_access allow ftp
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
http_reply_access allow all
icp_access allow all
http_access deny all
append_domain XXXXXXX
deny_info ERR_CUSTOM_ACCESS_DENIED all
memory_pools off
coredump_dir /var/spool/squid
ie_refresh on
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали: