от Lucifer

Тъй като съм алчно и гладно за трафик копеле, реших, че на потребителите не им трябва чак толкова web трафик и реших да им шибна едно прозрачно proxy. Пък и без това искам да знам кой къде ходи.

Та … как става номера:

1. Взимате един Slackware (дори не знам коя версия)

2. Сваляте си последния SQUID 3 (в моя случай squid-3.0.STABLE13)

3. tar -xvf squid-3.0.STABLEx

4. cd squid-3.0.STABLEx

5. ./configure –enable-ssl –enable-linux-netfilter

6. make all

6.1 (ако не сте като root) su

7. make install

8. mv /usr/local/squid/etc/squid.conf /usr/local/squid/etc/squid.conf.orig

ЧЕСТИТО! Ако всичко е минало правилно имате инсталиран squid без конфигурационен файл.

9. nano /usr/local/squid/etc/squid.conf

http_port 3128 transparent
cache_dir ufs /usr/local/squid/var/cache/ 1000 32 512
access_log /var/log/squid/access.log
acl localnet0 src 192.168.0.0/255.255.255.0
acl localnet10 src 192.168.10.0/255.255.255.0
acl localnet3 src 192.168.3.0/255.255.255.0
http_access allow  localnet0
icp_access  allow  localnet0
http_access allow  localnet10
icp_access  allow  localnet10
http_access allow  localnet3
icp_access  allow  localnet3

Сега да обясня!

http_port – оказва порта на който ще слухти октоподчето (3128 – по подразбиране). Опцията „transperant“ оказва на октоподчо да си работи невидимо.

cache_dir – оказва каде да е директорията където да се пазят нещата от сесиите. „usf“ e файловата система кяото ползвате. След това пътеката където се помещава (squid трябва да има +rw). Следва големината на заделеното място за cache в MB. Другите 2 параметъра са за папки и подпапки за структуриране на информацията.

access_log – указва пътя на log файла (пак +rw)

acl – Access control layer – основния метод за настройка на сигурност. Какво имам аз? Първия параметър след acl е стринг за наименование на контролера, в този случай localnet0. „src“ е вида контрол който ще указваме, в случая входящите заявки от 192.168.0.0/24. За съжаление трябва да окажете пълната netmask, „/24“ не върши работа! При мене имам 3 мрежи и ги дефинирам и трите!

http_access – разреши http достъпа за дадения acl.

icp_access – разреши icp достъпа за дадения acl.

Ето ви го конф-а за да работи леко и без проблемно … има още тоолкова опции и възможности, че няма на къде, но за едно бързо и малко web proxy не ви трябва много! Та … записвате конф-а и излизате от редактора!

10. /usr/local/squid/sbin/squid -z за да направим директориите за кеша.

11. /usr/local/squid/sbin/squid -N -d 1 -D – тъй като октоподчо е демон -N го караме да остане отгоре. -d 1 за да задедем debug level. -D за да не прави DNS query към някои основни хостове и да умре без причина! Ако искате да го пратите като демон махнете -N и -d 1.

12. tail -f /var/log/squid/access.log – за да наблудаваме какво иде реч!

13. Сега трябва да пренасочим целия web трафик през окти … аз съм го решил просто (искам само порт 80, защото потребителите ми са обикновенни хора):

iptables -t nat -A PREROUTING -i eth4 -p tcp –dport 80 -j REDIRECT –to-port 3128

14. ЧЕСТИТО! ИМАТЕ СИ ПРОЗРАЧНО PROXY и домаин logger!

За по-подробни разясянения за това кой, как къде, защо и как – ОКТО WIKI.

Ваш,

Lucifer

2 отговора на “Squid 3 + IPTABALES … или transparent proxy за секунди!”

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

 

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните ви за коментари.

WordPress Appliance - Powered by TurnKey Linux