Тъй като съм алчно и гладно за трафик копеле, реших, че на потребителите не им трябва чак толкова 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
Това наистина ми отговаря на проблема, мерси за статията!
Радвам се че помагам. Ако имаш въпроси – питай!