Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: korea60 в Sep 15, 2012, 22:48



Титла: Питане на squid...
Публикувано от: korea60 в Sep 15, 2012, 22:48
Здравейте, искам да попитам следното.
Тествам програмата squid и ми е интересно, след като настроя клиентският браузер да използва моето прокси, кое ще спре потребителя да влезе в настройките на браузера да махне временно настройката и след това пак да я пусне, записва ли се някаде това действие в логовете на squid-a.


Титла: Re: Питане на squid...
Публикувано от: laskov в Sep 15, 2012, 23:04
Нищо не може да го спре и squid нищо няма да разбере. С предишните версии тази ситуация се избягваше с пренасочване чрез iptables на всичкия изходящ трафик към порт 80, към порта, на който слуша squid. Този начин на ползване се наричаше transparent squid. Мисля, че има малка промяна в начина на конфигуриране от не знам коя версия насам.


Титла: Re: Питане на squid...
Публикувано от: n00b в Sep 15, 2012, 23:17
Този начин се казва transparent proxy.

Другия начин е следния - забраняваш всичко от и към порт 80 или го водиш на страничка където описваш как да си сложат проксито. Също така и порт 443.


Титла: Re: Питане на squid...
Публикувано от: Acho в Sep 16, 2012, 07:07
Да, ето това правило ще го накара тариката, да ползва винаги проксито. И да е сложено в браузера, и да не е - същата баница. Пък и той няма да е някакъв супер-хакер, ами нормал юзер.

/usr/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

eth1 е вътрешния (LAN) интерфейс на рутера ти. Успехи.


Титла: Re: Питане на squid...
Публикувано от: korea60 в Sep 16, 2012, 09:26
Благодаря за отговорите, ще почета още и ще пробвам,


Титла: Re: Питане на squid...
Публикувано от: laskov в Jun 27, 2014, 10:53
За да може Firefox да зарежда всички сайтове през squid, трябва в настройките "Мрежа" на Firefox да му се настрои проксито и да се зададе то да важи за ВСИЧКИ протоколи.

Кои са портовете на тези "всички" протоколи?

Питам, понеже искам да ги добавя към правилото, което Acho е публикувал, за да не е задължителна настройката на клиента. Оказа се, че добавянето на порт 443 не е достатъчно.


Титла: Re: Питане на squid...
Публикувано от: Acho в Jun 27, 2014, 11:10
Не знам доколко те разбрах колега, ама май портовете в squid-а ще трябва да се добавят.

Ако искаш да погледна някакъв мой squid.conf и да покажа кои портове съм добавил. Аз оттам си прекарвам web-mail-а, и май и разни други нещица.


Титла: Re: Питане на squid...
Публикувано от: Acho в Jun 27, 2014, 11:19
Ето ги всичките ми ACL-и относно портовете:

acl all src 0.0.0.0/0.0.0.0
acl shaped_hosts src 192.168.0.0/255.255.255.0
acl allowed_hosts src 192.168.0.0/255.255.255.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 SSL_ports port 443 563 9010 9100
acl Safe_ports port 80                # http
acl Safe_ports port 8010            # web-mail
acl Safe_ports port 8100            # web-mail
acl Safe_ports port 9010            # web-mail
acl Safe_ports port 9100            # web-mail
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


Ти ще си добавиш само тези, от които имаш нужда в контретната система.


Титла: Re: Питане на squid...
Публикувано от: drag в Jun 27, 2014, 18:34
така... Transparent проксито вече му се вика Intercept.
Ама за да ти помогна по конкретно ще е хубаво да знаем версията на скуид-а, както и дали машината на която е инсталиран той е и рутера ти.

Принципно идеята на прозрачното прокси е да насочиш, да кажем tcp:80, което е по същество интернет трафика на потребителите, към машината на която е инсталиран скуид. Ако същата машина е и твоя роутер, тогава просто трябва да добавиш iptables реда, който Acho е написал, във таблиците на iptables, като внимаваш, кой интерфейс (лан карта) ще посочиш в правилото. В случая с Acho е eth1, твоят случай е възможно да е различен. Това е интерфейса, който е насочен към хората, които искаш да прекараш прозрачно през проксито.
 
Ако рутера ти е на друга машина, тогава имаш нужда от малко policy routing. Но за това ще говорим, когато споделиш детайли за твойта картинка.

версия на Squid
Къде се намира аджеба това нещо в твоята мрежа
какво всъщност искаш да постигнеш в крайна сметка

Иначе накратко, ако искаш да си сигурен, че винаги, при всякакви условия, трафика на потребителите ти ще минават през твоето прокси,без да имат възможност да променят това*, отговора е Intercept+policy routing

# Listen port
http_port 3128 intercept


Титла: Re: Питане на squid...
Публикувано от: Acho в Jun 27, 2014, 20:14
Като каза колегата "коя версия на прокси сървъра", се сещам да напиша, че при мене са старите squid-ове, версия 2.5 Компилирал съм си ги от сорс. Знам, че са много стари, ама си бичат желязно върху Slackware вече много години, и хич не ми се барат да ги обновявам.


Титла: Re: Питане на squid...
Публикувано от: laskov в Jun 27, 2014, 21:09
Отговорът ми е по-скоро към колегата drag.
Ами и аз като Acho ползвам една стара версия на squid, конфигуриран като transparent на един още по-стар slackware и съм си много доволен! Имам си забранителни и разрешителни списъци, а също и "работно време", през което важат още едни забранителни списъци.
Имам две връзки към Интернет - основната влиза в същата машина, но резервната влиза през Cisco рутер в същата вътрешна мрежа. Чрез iptables съм пренасочил само порт 80. Никой от браузърите до днес не беше конфигуриран да ползва прокси.
Когато съм на основната връзка, проблем няма. Както може да се досетиш, обаче, не всичкия трафик минава през проксито.
Когато основната връзка отпадне, gw автоматично се променя. При това, gw адресът е адрес от вътрешната мрежа. И понеже рутирането в този случай се счупва, става така, че Firefox може да зареди само някои сайтове - тези, чийто трафик минава само през http (порт 80). Ако настроя Firefox да ползва прокси за всички протоколи (ако можеш, виж как изглежда този прозорец на Firefox), всичко си тръгва и се зареждат всички сайтове.
Въпросът ми е кои са портовете на тези "всички" протоколи, за да добавя правила и за тях, както това е направено за порт 80. Така ще отпадне нуждата да настройвам всички клиенти.

BTW, абстрахирай се от въпросите и коментарите, писани в тази тема преди днешния ден.


Титла: Re: Питане на squid...
Публикувано от: drag в Jun 29, 2014, 10:46
Не съм много сигурен, че съм разбрал правилно, но във фирефокс, всички портове предполагам, че са - 80, 443, 21. Ще откриеш обаче, че SSL не можеш да го прекараш през прозрачно прокси, просто така.


Титла: Re: Питане на squid...
Публикувано от: laskov в Jun 29, 2014, 10:56
Подозирам, че не са само тези.
При настроен FF да ползва прокси за всички протоколи - всичко работи. Искам така да настроя PREROUTING таблицата, че настройката на FF да не е задължителна.


Титла: Re: Питане на squid...
Публикувано от: BRADATA в Jun 29, 2014, 11:40
Подозирам, че не са само тези.
При настроен FF да ползва прокси за всички протоколи - всичко работи. Искам така да настроя PREROUTING таблицата, че настройката на FF да не е задължителна.
Цитат

Squid doesn't support FTP transparanet proxying. Squid is an HTTP proxy and only supports HTTP connection in its listening port. SO HTTP tranparent proxy only works for Squid. If you really need a transparent FTP proxy, use Frox

Squid support FTP proxying when you configure it manually in the browsers because browser request FTP object using HTTP messages in that case.
Предполагам, че е така и за другите протоколи...