LINUX.ORG.RU
ФорумAdmin

squid на 2 канала


0

1

Добрый день!! Нужна помощь-уже неделю долблюсь не могу победить сквид. Имеем-Fedora 14 в качестве шлюза+2 провайдера(назовем их 1П и 2П)+iproute2+iptables+squid(v 3.1.8). Для каждого провайдера есть пользователи которые ходят через nat и через squid. По-умолчанию маршрут стоит на 1П.Проблема в том что если я заворачиваю пользователя который должен ходить через 2П на проксю -после нее он уходит через 1П. Пробовал поставить в squid параметр tcp_outgoing_address - он не срабатывает-squid пишет доступ запрещен. Подскажите что можно сделать в таком случае,ОЧЕНЬ нужно побороть.

Ответ на: комментарий от anonymous

cat squid.conf

acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl AA src 10.0.0.132
tcp_outgoing_address 80.91.xx.xx AA
tcp_outgoing_address 85.238.xx.xx
http_access allow AA
server_persistent_connections off

acl tenet src «/etc/rc.d/route/1П»
acl datagroup src «/etc/rc.d/route/2П»
acl media urlpath_regex -i \.mpg$ \.avi$ \.mp3$ \.wma$ \.wav$ \.vob$ \.mov$ \.flv$ \.mpeg4$ \.torrent$
acl prog urlpath_regex -i \.exe$ \.rar$ \.zip$ \.dll$
acl social_networks dstdomain «/etc/squid/social_networks»
acl deny_site dstdomain «/etc/squid/deny_site»
acl wt1 time 9:00-13:00
acl wt2 time 14:00-18:00

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#http_access deny to_localhost

http_access deny media
http_access deny prog
http_access deny deny_site
http_access deny 2П wt1 social_networks
http_access deny 2П wt2 social_networks
http_access deny 1П wt1 social_networks
http_access deny 1П wt2 social_networks
http_access allow 1П
http_access allow 2П
http_access allow localhost
#http_access deny all

http_port 10.0.0.4:3128 transparent
cache_dir ufs /var/spool/squid 300 16 256
coredump_dir /var/spool/squid

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
visible_hostname router2

ip rule ls

0: from all lookup local
32760: from 10.0.0.88 lookup 2П
32761: from 10.0.0.28 lookup 2П
32762: from 10.0.0.241 lookup 2П
32763: from 10.0.0.38 lookup 2П
32764: from 10.0.0.70 lookup 2П
32765: from 10.0.0.132 lookup 2П
32766: from all lookup main
32767: from all lookup default

izvorot ()
Ответ на: комментарий от izvorot

http_port 10.0.0.4:3128 transparent

Дружок, перечитай доку к свежему сквиду, к нему старые 2.*-ые конфиги уже лучше не сувать не глядя.

Changes in 3.1

Option 'transparent' is being deprecated in favour of 'intercept' which more clearly identifies what the option does. For now option 'tproxy' remains with old behaviour meaning fully invisible proxy using TPROXY support.

New port options

intercept Rename of old 'transparent' option to indicate proper functionality.

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

acl AA src 10.0.0.132

acl AA src 10.0.0.132/32 если быть педантом

1П 2П

Кириллица в конфигах О_О noway!

http_access allow AA

Перенеси чтоб был после http_access deny CONNECT !SSL_ports

ip route show ещё покажи

anonymous ()
Ответ на: комментарий от anonymous

по-поводу http_port 10.0.0.4:3128 transparent без transparent прозрачое проксирование не работает-пробовал,ip дописал в силу того что вычитал на форумах что кому то помогло дописыванеи опции tcp_incoming_address-позже прочитал что она заменена на такой формат записи-пробовал и так и сяк-проблема скорее всего не в этом. кирилицы в конфиге сквида нету-это для связанности с первым постом-там так обозвал провайдеров. С маской 32 пробовал-не помогло.

ip route sh

192.168.150.2 dev tun0 proto kernel scope link src 192.168.150.1
85.238.xx.xx/30 dev eth1 proto kernel scope link src 85.238.xx.xx
80.91.xx.xx/30 dev eth2 proto kernel scope link src 80.91.xx.xx
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.4
192.168.150.0/24 via 192.168.150.2 dev tun0
169.254.0.0/16 dev eth0 scope link metric 1002
169.254.0.0/16 dev eth1 scope link metric 1003
169.254.0.0/16 dev eth2 scope link metric 1004
default via 85.238.97.109 dev eth1

anonymous ()
Ответ на: комментарий от uspen

насколько я понимаю то в tcp_outgoing_address пишется ip того интерфейса с которого нужно чтобы уходили пакеты? т.е Вы предлагаете во вторую таблицу добавить внешний ip который выдал провайдер??хмм -сейчас попробую

izvorot ()
Ответ на: комментарий от uspen

Дорогой ты мой человек!!! Был бы ты девушкой-я бы тебя расцеловал!! Все побежало как и нужно. Огромное человеческое СПАСИБО!!

izvorot ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.