URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 7222
[ Назад ]

Исходное сообщение
"Squid3, Intercept и аппаратный NAT"

Отправлено Алексей , 19-Окт-15 12:23 
Добрый день, коллеги!

Помогите побороть Squid. Пытаюсь его настроить в прозрачном режиме. Сам он вполне успешно работает в обычном режиме. Сначала запускал второй экземпляр только с прозрачным режимом, потом дополнил конфиг экземпляра с обычным режимом, что бы работал в обоих. Результат один и тот же. Обычный режим работает, прозрачный - нет.

Схема такая:

Клиент -> WifiPoint -> WifiController(NAT) -> Firewall -> Squid -> Интернет

На контроллере wifi (Zyxel NXC2500), с помощью встроенного NAT у пакетов меняется адрес получателя на сервер squid и порт с 80 на 8080. Дальше все роутится через firewall на сервер со squid.

Squid.conf:
http_port 3128
http_port 8080 intercept

squid -v
Squid Cache: Version 3.3.13
configure options:  '--host=i586-suse-linux-gnu' '--build=i586-suse-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/lib' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-dependency-tracking' '--disable-strict-error-checking' '--sysconfdir=/etc/squid' '--libexecdir=/usr/sbin' '--datadir=/usr/share/squid' '--sharedstatedir=/var/squid' '--with-logdir=/var/log/squid' '--with-pidfile=/run/squid.pid' '--with-dl' '--enable-disk-io' '--enable-storeio' '--enable-removal-policies=heap,lru' '--enable-icmp' '--enable-delay-pools' '--enable-esi' '--enable-icap-client' '--enable-useragent-log' '--enable-referer-log' '--enable-kill-parent-hack' '--enable-arp-acl' '--enable-ssl' '--enable-forw-via-db' '--enable-cache-digests' '--enable-linux-netfilter' '--with-large-files' '--enable-underscores' '--enable-auth' '--enable-auth-basic' '--enable-auth-ntlm' '--enable-auth-negotiate' '--enable-auth-digest' '--enable-external-acl-helpers=LDAP_group,eDirectory_userip,file_userip,kerberos_ldap_group,session,unix_group,wbinfo_group' '--enable-ntlm-fail-open' '--enable-stacktraces' '--enable-x-accelerator-vary' '--with-default-user=squid' '--disable-ident-lookups' '--enable-follow-x-forwarded-for' '--disable-arch-native' 'build_alias=i586-suse-linux-gnu' 'host_alias=i586-suse-linux-gnu' 'CFLAGS=-fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -fstack-protector -O2 -Wall -D_FORTIFY_SOURCE=2 -funwind-tables -fasynchronous-unwind-tables -g -fPIE -fPIC -DOPENSSL_LOAD_CONF' 'LDFLAGS=-Wl,-z,relro,-z,now -pie' 'CXXFLAGS=-fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -fstack-protector -O2 -Wall -D_FORTIFY_SOURCE=2 -funwind-tables -fasynchronous-unwind-tables -g -fPIE -fPIC -DOPENSSL_LOAD_CONF' 'PKG_CONFIG_PATH=%{_PKG_CONFIG_PATH}:/usr/lib/pkgconfig:/usr/share/pkgconfig'

Система opensuse 13.2

cache.log на любой запрос по http
2015/10/16 16:50:34 kid1|  NF getsockopt(SO_ORIGINAL_DST) failed on local=192.168.29.1:8080 remote=192.168.29.1:58508 FD 70 flags=33: (2) No such file or directory

Такие записи на любой запрос.
В access.log на этот запрос пишет 502 ошибку:
16/Oct/2015:16:49:36 +0300      1 192.168.10.10 TCP_MISS/502 4399 GET http://www.yandex.ru/ - HIER_DIRECT/192.168.29.1 text/html

Клиент видит только ответ с ошибкой (то что прокси получил ответ нулевой длинны)


Я начал грешить на NAT от Zyxel, но потом параллельно со squid поставил privoxy, отдал ему порт 8080 на прозрачный режим, все остальное осталось без изменений. И все заработало!  Я уже был готов сделать проброс от privoxy к squid, как к родительскому прокси, но privoxy, как оказалось, не умеет https траффик в прозрачном режиме.

Помогите решить эту проблему.


Содержание

Сообщения в этом обсуждении
"Squid3, Intercept и аппаратный NAT"
Отправлено anonymous , 20-Окт-15 09:21 
как будто squid умеет https в прозрачном режиме

"Squid3, Intercept и аппаратный NAT"
Отправлено Алексей , 20-Окт-15 10:35 
> как будто squid умеет https в прозрачном режиме

А таки что, разучился?