LINUX.ORG.RU
ФорумAdmin

Не могу заставить работать squid3

 


0

2

Пришлось тут настраивать прокси-сервер squid3. Нашел более-менее приличный мануал:

http://www.k-max.name/linux/squid-proxy-v-linux/

И делаю по нему.

На сервере два интерфейса:

eth0      
inet addr:192.168.3.2
Смотрит на Интернет (через роутер)

eth1      
inet addr:10.153.0.31
Смотрит в локальную сетку


Настройки, которые есть сейчас:

# squid3 -k parse
2016/06/03 14:57:39| Processing Configuration File: /etc/squid3/squid.conf (depth 0)
2016/06/03 14:57:39| Processing: acl manager proto cache_object
2016/06/03 14:57:39| Processing: acl localhost src 127.0.0.1/32 ::1
2016/06/03 14:57:39| Processing: acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
2016/06/03 14:57:39| Processing: acl SSL_ports port 443
2016/06/03 14:57:39| Processing: acl Safe_ports port 80		# http
2016/06/03 14:57:39| Processing: acl Safe_ports port 21		# ftp
2016/06/03 14:57:39| Processing: acl Safe_ports port 443		# https
2016/06/03 14:57:39| Processing: acl Safe_ports port 70		# gopher
2016/06/03 14:57:39| Processing: acl Safe_ports port 210		# wais
2016/06/03 14:57:39| Processing: acl Safe_ports port 1025-65535	# unregistered ports
2016/06/03 14:57:39| Processing: acl Safe_ports port 280		# http-mgmt
2016/06/03 14:57:39| Processing: acl Safe_ports port 488		# gss-http
2016/06/03 14:57:39| Processing: acl Safe_ports port 591		# filemaker
2016/06/03 14:57:39| Processing: acl Safe_ports port 777		# multiling http
2016/06/03 14:57:39| Processing: acl CONNECT method CONNECT
2016/06/03 14:57:39| Processing: acl lan src 10.153.0.0/16
2016/06/03 14:57:39| Processing: http_access allow lan
2016/06/03 14:57:39| Processing: http_access allow manager localhost
2016/06/03 14:57:39| Processing: http_access deny manager
2016/06/03 14:57:39| Processing: http_access deny !Safe_ports
2016/06/03 14:57:39| Processing: http_access deny CONNECT !SSL_ports
2016/06/03 14:57:39| Processing: http_access allow localhost
2016/06/03 14:57:39| Processing: http_access deny all
2016/06/03 14:57:39| Processing: http_port 10.153.0.31:3128
2016/06/03 14:57:39| Processing: debug_options ALL,1
2016/06/03 14:57:39| Processing: coredump_dir /var/spool/squid3
2016/06/03 14:57:39| Processing: refresh_pattern ^ftp:		1440	20%	10080
2016/06/03 14:57:39| Processing: refresh_pattern ^gopher:	1440	0%	1440
2016/06/03 14:57:39| Processing: refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
2016/06/03 14:57:39| Processing: refresh_pattern .		0	20%	4320


Я тут добавил список lan, задал ему правло, указал IP сетей, включил дебаг. Все остальное по-умолчанию.


Локально на самом сервере браузер через прокси работает, проверил через lynx:

http_proxy=http://127.0.0.1:3128 lynx ya.ru


Но с браузера из локальной сети прокси-соединение не происходит. В логе /var/log/squid3/access.log никакой отладки не видно, видны только тестовые локальные обращения к проксе:

1464942675.775     77 127.0.0.1 TCP_MISS/302 598 GET http://ya.ru/ - DIRECT/213.180.193.3 -
1464942986.863     87 127.0.0.1 TCP_MISS/302 598 GET http://ya.ru/ - DIRECT/93.158.134.3 -


Порт прокси есть и работает:

# netstat -npl | grep 3128
tcp        0      0 10.153.0.31:3128        0.0.0.0:*               LISTEN      8035/(squid)


Как заставить работать прокси-сервер?

★★★★★

фаервол есть? форвардинг настраивал в /etc/sysctl.conf ?

fbiagent ★★★
()

Тоже думаю что fw. А вообще посмотрите что tcpdump говорит, может с виндой чего не так и это она пакетики не присылает?

anc ★★★★★
()
Ответ на: комментарий от julixs

fbiagent, julixs, anc

Сквид должен работать в аутентифицирующем режиме. Но мне бы сейчас заставить хоть как нибудь интернет получить. Я конфиг сквида показал.

Форвардинг в /etc/sysctl.conf не настраивал.

В фаирволе прописал правило:

# Разрешение подключаться к прокси из сети предприятия
-A INPUT -p tcp -s 10.153.0.0/16 -m tcp --dport 3128 -j ACCEPT
-A INPUT -p udp -s 10.153.0.0/16 -m udp --dport 3128 -j ACCEPT


После прописывания правила, в логе сквида /var/log/squid3/access.log стали появляться записи:

1465193260.655     73 10.153.0.143 TCP_MISS/200 2718 CONNECT www.linux.org.ru:443 - DIRECT/178.248.233.6 -
1465193260.691    108 10.153.0.143 TCP_MISS/200 1860 POST http://gv.symcd.com/ - DIRECT/23.43.139.27 application/ocsp-response
1465193260.770    108 10.153.0.143 TCP_MISS/200 1860 POST http://gv.symcd.com/ - DIRECT/23.43.139.27 application/ocsp-response
1465193273.409    380 10.153.0.143 TCP_MISS/200 3400 GET http://permalink.gmane.org/gmane.comp.lib.qt.general/33873 - DIRECT/80.91.229.12 text/html
1465193273.593     63 10.153.0.143 TCP_MISS/404 586 GET http://permalink.gmane.org/favicon.ico - DIRECT/80.91.229.12 text/html
1465193273.686     63 10.153.0.143 TCP_MISS/404 586 GET http://permalink.gmane.org/favicon.ico - DIRECT/80.91.229.12 text/html
1465193281.110    143 10.153.0.143 TCP_MISS/200 6419 CONNECT yandex.ru:443 - DIRECT/77.88.55.66 -
1465193281.298    110 10.153.0.143 TCP_MISS/200 6420 CONNECT yandex.ru:443 - DIRECT/77.88.55.66 -
1465193281.418    104 10.153.0.143 TCP_MISS/200 6420 CONNECT yandex.ru:443 - DIRECT/77.88.55.66 -
1465193281.529    101 10.153.0.143 TCP_MISS/200 6420 CONNECT yandex.ru:443 - DIRECT/77.88.55.66 -
1465193281.634     94 10.153.0.143 TCP_MISS/200 6421 CONNECT yandex.ru:443 - DIRECT/77.88.55.66 -
1465193281.741     92 10.153.0.143 TCP_MISS/200 6420 CONNECT yandex.ru:443 - DIRECT/77.88.55.66 -
1465193281.849     93 10.153.0.143 TCP_MISS/200 6421 CONNECT yandex.ru:443 - DIRECT/77.88.55.66 -
1465193281.975    109 10.153.0.143 TCP_MISS/200 6420 CONNECT yandex.ru:443 - DIRECT/77.88.55.66 -
1465193282.099    108 10.153.0.143 TCP_MISS/200 6420 CONNECT yandex.ru:443 - DIRECT/77.88.55.66 -
1465193282.210     94 10.153.0.143 TCP_MISS/200 6421 CONNECT yandex.ru:443 - DIRECT/77.88.55.66 -
1465193347.856    303 10.153.0.143 TCP_MISS/200 4979 CONNECT ru.wikipedia.org:443 - DIRECT/91.198.174.192 -


Но соединение браузер по-прежнему не может установить.

Что еще надо где крутануть?

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 1)
Ответ на: комментарий от Xintrea

Разреши форвординг. Заверни весь трафик на 3128 кроме eth1 например так:-t nat -A PREROUTING -i eth1 -p tcp ! -d 0.0.0.0 --dport http -j DNAT --to-destination 0.0.0.0:3128 где 0.0.0.0 ip eth1.

Ну и маскарад включи если ip динамические:-t nat -A POSTROUTING -s 0.0.0.0/24 -j MASQUERADE или как у меня: $IPT -t nat -A POSTROUTING -o eth0 -s 0.0.0.0/24 -j SNAT --to-source x.x.x.x (где 0.0.0.0 твоя локалка а х.х.х.х ip eth0) если статика.

julixs ★★★
()
Ответ на: комментарий от Xintrea

Посмотрите что с исходящими, цепочка OUTPUT.

anc ★★★★★
()
Ответ на: комментарий от julixs

Глупость написали во первых он у него не transparent, во вторых ТС в дальнейшем нужна будет авторизация.

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

Но мне бы сейчас заставить хоть как нибудь интернет получить

Почему же глупость, настроить в intercept, убедится что работает, а потом крутить авторизацию.

julixs ★★★
()
Ответ на: комментарий от anc

Прошу прощения, но как я понял, у ТС squid отрабатывает при локальных запросах.

Локально на самом сервере браузер через прокси работает

А вот, как раз из локальной сети

Но с браузера из локальной сети прокси-соединение не происходит.

Поэтому и предложил настроить форвординг и прописать правила fw. Если не нужен intercept да бог с ним, но форворд и нат то в любом случае нужен, или я чего не допонял?

julixs ★★★
()
Последнее исправление: julixs (всего исправлений: 1)
Ответ на: комментарий от julixs

форворд

Не нужен, сквид это локальный процесс, пакеты не форвардятся а поступают на локальный интерфейс и так же уходят с другого интерфейса от локального процесса.

и нат

Скорее нет чем да, по той же причине.

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