LinuxForum.Fans
Тема

Squid + ssl

Автор: XliN 31 сообщений 8871 просмотров
#221625

Не подскажите как научить сквид пропускать https? Мне нужно не для прозрачного прокси.

#221634

Я тут тоже видел. Тему можно закрыть. Все сделал. smile
Правда как работает не нравится.
Соединение сбрасывается почему то. Приходится обновлять страницу.
Весь траф пустил через прокси, а SSL напрямую

iptables -t nat -A PREROUTING -i vlan5 -s 192.168.2.100 -p tcp --sport 1024:65535 --dport 443 -j REDIRECT --to-port 3129

Фигня короче.

Кто знает как траф по 443 порту сделать в обход squid?

#221642
--=XliN=-- написал:

Кто знает как траф по 443 порту сделать в обход squid?

А обычный маскарад только 443 порта,. не?

#221800
text
iptables -t nat -A PREROUTING -i vlan5 -s 192.168.2.100 -p tcp --dport 443 -j MASQUERADE

Я впендюрил такое правило и у меня упал сервер. Завтра ехать на работу :( ХЗ, может из-за этого?

#221801

Конечно из-за этого. Только он не упал, он работает как н ив чём не бывало. Просто Вы до него достучаться не можете.
И да. если он раздавал инет в локалку, то раздача прекратилась. А так всё как в песне - "всё хорошо, прекрасная маркиза...", сервер работает.

#221803

Работает, но толку от него нет. Такое состояние я называю "упал" :D Тем паче он не только инет раздавал, но на нем и DHCP стоит.
В чем моя ошибка? Мне нужно траф 192.168.2.0/24 (vlan5) запустить на прокси 3128, но без 443 порта. Т.к. прокси не хочет работать с https.

newzenon написал:
А обычный маскарад только 443 порта,. не?

Пытался это сделать :D

#221806

--=XliN=--, забавная ситуёвина, у тебя squid на шлюзе? (напряумю в интернет)?

#221807

И вообще не понятно.. Траф завернулся только с 5 влана и конкретного IP. Почему тогда оно отрабатывает? Я даже не могу приконектиться по VPN на другой сервер. Шлюз меня не пропускает.

newzenon написал:
--=XliN=--, забавная ситуёвина, у тебя squid на шлюзе? (напряумю в интернет)?

Да. Сквид на шлюзе. А как по другому? Я бы при желании перенес бы на другой, например на Citrix. Там хоть откатиться можно.

#221810
--=XliN=-- написал:

Да. Сквид на шлюзе. А как по другому? Я бы при желании перенес бы на другой, например на Citrix. Там хоть откатиться можно.

Ну nat' или redirect на машину со squid'ом никто не отменял, и пусть клиенты туда цепляются.

#221817

newzenon, Хавтушку почитал. Довольно занимательная. Сделано все почти так же, но ехать придется все равно. :( Исправлю и попробую сделать по этой инструкции и на другой тачке. Что бы не было таких касяков. Тем более это нужно для домена и пусть там и сквид будет.

#221818

Странно, сервак начал отвечать на пинги, но по ssh все равно не пускает.

#221819
newzenon написал:
--=XliN=--, забавная ситуёвина, у тебя squid на шлюзе? (напряумю в интернет)?

И что тут такого криминального? Какая разница где стоит прокся? Тут главное каие правила на фаерволе.
А ТС с правилом конечно загнул.
--=XliN=--
Ваши правила (под Вашу задачу) должы бы выглядеть так:
[console]
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 443 -j DNAT –to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 443 -j REDIRECT –to-port 3128[/console]
Но https кешировать и пускать на сквид нету смысла, так как шифровка.
Правильно в этом случае просто сделать форвард для 443 порта, без велосипедов.
А DHCP работает, куда ж он денется. Он со сквидом вообще ни каким боком не связан.

#221821
--=XliN=-- написал:
Странно, сервак начал отвечать на пинги, но по ssh все равно не пускает.

Ничего странног, я ж говорю - СЕРВЕР РАБОТАЕТ!
А вот выставлять пинг наружу - не есть тру.

#221824
--=XliN=-- написал:
Не подскажите как научить сквид пропускать https? Мне нужно не для прозрачного прокси.

Ни как. Тоесть сделать конечно можно, имеются разные велосипеды, на основе того же сквида, но это фигня полная.
HTTPS - шифрованный трафик. Джае если Вам и удастся его закешировать, то воспользоваться им сможет только этот же клиент и только во время этого сеанса. больше никто.
ИМХО пустая трата времени и ресурсов. Правильнее сделать форвад для 443 порта и всё.
По крайней мере я отказался от кеширования https и пропустил его напрямую ибо смыла нету так как нету разницы.

#221828

Подведем итоги.
eth1 - XXX.XXX.XXX.XXX - смотрит в инет
vlan5 - 192.168.2.0/24 - все делается для этой подсети.

192.168.1.77 - шлюз со squid.
Конфиг squid. Верный ли он? Взята с выше данной хавту. Обратите внимания на выделенный текст.

Показать


Связка сквида с AD
############################
auth_param basic program /usr/lib/squid/squid_ldap_auth -b "dc=smb,dc=mgkb1,dc=local" -D sel_ldap@smb.mgkb1.local -w XXXXX -f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName -h 192.168.2.82 -p 389

external_acl_type ldap_users %LOGIN /usr/lib/squid/squid_ldap_group -f "(&(objectclass=person)(sAMAccountName=%v)(memberOf=CN=ia,CN=Builtin,DC=smb,DC=mgkb1,DC=local))" -R -b "CN=Users,DC=smb,DC=mgkb1,DC=local" -D "sel_ldap@smb.mgkb1.local" -w "XXXXXX" -h 192.168.2.82 -v 3 -p 389

auth_param basic children 20
auth_param basic realm Internet Access MGKB1
auth_param basic credentialsttl 1 minutes
############################

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
hosts_file /etc/hosts
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

Создаем ACL правила
############################
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl inetusers external ldap_users ia Это те, кому можно. Туда я ее впихнул?
acl purge method PURGE
acl CONNECT method CONNECT
############################
cache_mem 512 MB

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl lan src 192.168.1.77 192.168.2.0/24
http_access allow localhost
http_access allow lan
http_access allow inetusers
http_access deny all

http_reply_access allow all
icp_access allow all
visible_hostname blabla.ru
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
coredump_dir /var/spool/squid

Далее идем в iptables и после всех натов добавляю

iptables -t nat -A PREROUTING -i vlan5 -p tcp --dport 80 -j DNAT --to 192.168.1.77:3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

Эти правила актуальны только для второй сети?

#221829
Vadimsky написал:
Правильнее сделать форвад для 443 порта и всё.
По крайней мере я отказался от кеширования https и пропустил его напрямую ибо смыла нету так как нету разницы.

Я в общем-то с самого начала и имел ввиду. Немного недовник в правила просто.

#221831

Первое что бросается в глаза это acl lan src 192.168.1.77 192.168.2.0/24
Нужно acl lan src 127.0.0.1 192.168.2.0/24
Второе cache_mem 512 MB я бы увеличил, если RAM позволяет. Если не позволяет, то добавил бы RAM, а затем увеличил cache_mem
Третье добавлять правила в iptables следует по такому принципу - читается сверху вниз. Если в самом начале стоят какие лобо запрещающие правила, под определения которых попадает то, что Вы разрешаете позже этими двумя своими, то они просто не отработаются, так как до них не дойдёт. Я бы на вашем месте эти два правила переставил в начало.
Четвёртое. Правила в конфиге сквида читаются так же и там действует тот же метод. Провертье ещё раз всё.
Пятое. В итое Вы получили прозрачный прокси, хотя старт темы

--=XliN=-- написал:
Мне нужно не для прозрачного прокси.

Что бы этого добится, Вам как раз не нужны эти два правила.
Ну вообщем Вам решать, чего Вы конкретно хотите.

#221833
Vadimsky написал:

Третье добавлять правила в iptables следует по такому принципу - читается сверху вниз. Если в самом начале стоят какие лобо запрещающие правила, под определения которых попадает то, что Вы разрешаете позже этими двумя своими, то они просто не отработаются, так как до них не дойдёт. Я бы на вашем месте эти два правила переставил в начало.

Ой! Как раз отработают, в скрипт кидаю всегда сначала политики, потом правила. Или мы о разном?

Войдите или зарегистрируйтесь, чтобы ответить.