Прозрачный прокси сервер Centos 6. Ограничение на скачивание и социальные сети
Вложений: 1
Привет всем! Решил выложить конфигурацию работающего сервера на Centos 6. Внимание! На более ранние версии возможно придется править конфиг! Предполагаю, что установить Centos вы сами сможете (знаете, умеете уже это делать), но на всякий случай скажу вам, что лучше ставте как "destkop" - для новичков самое то вариант, в графической оболочке будет проще вам работать.
После установки Centos ваши действия будут такие: 1) Заходим под пользователем root 2) Открываем терминал Приложения-системные-терминал 3) yum install squid - ставим сквид 4) chkconfig squid on - добавляем в автозагрузку 5) nano /etc/init.d/squid - добавляем конфигурацию 6) /etc/init.d/squid start - запускаем его 7) yum install iptables - устанавливаем, если нету 8) nano /etc/sysconfig/iptables - добавляем конфигурацию 9) /etc/init.d/iptables restart - перезагружаем 11) nano /etc/resolv.conf - просмотр имени сервера 12) nano /etc/sysctl.conf - включаем маршрутизацию, должно быть net.ipv4.ip_forward = 1 13) yum install bind-chroot - ставим named 14) nano /etc/named.conf - настройка dns 15) chmod 777 /etc/named.conf - задаем права 16) chkconfig named on - ставим в автозагрузку 17) cp /etc/named.conf /var/named/chroot/etc/named.conf - копируем конфигурацию 18) chkconfig --list - проверяем автозагрузку, должны быть вкл на всех компонентах которые мы ставили. Конфиги прикладываю во вложении, если что-то не получится у вас-пишите, вместе разберемся. Разъяснения: 1)файл resolf.conf nameserver 212.49.118.2 - тут пишем dns провайдера своего nameserver 212.49.103.2 - тут пишем dns провайдера своего 2)файл named.conf options { directory "/var/named"; pid-file "/var/run/named/named.pid"; recursion yes; allow-recursion { 127.0.0.1; 192.168.0.0/24; }; // these are the opendns servers (optional) forward first; forwarders { # 192.168.0.1; 212.49.118.2; - тут пишем dns провайдера своего 212.49.103.2; - тут пишем dns провайдера своего # 85.172.0.250; # 83.239.0.202; }; }; 3) файл iptables *filter :INPUT ACCEPT [1373:117167] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [119:16591] -A INPUT -i lo -j ACCEPT -A INPUT -j ACCEPT -A FORWARD -j ACCEPT -A OUTPUT -o lo -j ACCEPT -A OUTPUT -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT COMMIT # Completed on Thu Mar 25 18:19:14 2010 *nat :PREROUTING ACCEPT [25427:2625812] :POSTROUTING ACCEPT [26:1635] :OUTPUT ACCEPT [2894:210341] #####NAT############# -A PREROUTING -p tcp -m tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-port 3128 -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source 92.242.10.251 - ip вашего провайдера COMMIT 4) файл squid.conf # ACCESS CONTROLS # ----------------------------------------------------------------------------- # TAG: acl acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https 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 # TAG: http_access http_access allow manager localhost http_access deny manager http_access deny CONNECT !SSL_ports # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS acl our_networks src 192.168.0.0/24 acl full-access src 192.168.0.122 - список адресов кому разрешен полный доступ acl full-access src 192.168.0.55 acl full-access src 192.168.0.222 acl full-access src 192.168.0.12 acl full-access src 192.168.0.54 acl full-access src 192.168.0.4 acl full-access src 192.168.0.78 acl bad_url url_regex "/etc/squid/acl/bad_url.domain" - файлы с сылками к которым запрещен доступ acl upload url_regex "/etc/squid/acl/upload.domain" acl filetypes urlpath_regex -i "/etc/squid/acl/filetypes.acl" acl banners url_regex "/etc/squid/acl/ads.acl" http_access deny banners !full-access http_access deny filetypes !full-access http_access deny upload !full-access http_access deny bad_url !full-access http_access allow our_networks http_access allow full-access # TAG: http_reply_access icp_access allow all # NETWORK OPTIONS # ----------------------------------------------------------------------------- # TAG: http_port http_port 3128 transparent # TAG: hierarchy_stoplist hierarchy_stoplist cgi-bin ? # DISK CACHE OPTIONS # ----------------------------------------------------------------------------- # TAG: cache_replacement_policy cache_dir ufs /var/spool/squid 40000 16 256 # TAG: maximum_object_size (bytes) maximum_object_size 50 MB # TAG: cache_swap_low (percent, 0-100) # TAG: cache_swap_high (percent, 0-100) cache_swap_low 90 cache_swap_high 95 # LOGFILE OPTIONS # ----------------------------------------------------------------------------- # TAG: access_log access_log /var/log/squid/access.log squid # OPTIONS FOR TUNING THE CACHE # ----------------------------------------------------------------------------- # TAG: cache acl QUERY urlpath_regex cgi-bin \? # TAG: refresh_pattern refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 # TAG: store_avg_object_size (kbytes) store_avg_object_size 70 MB # HTTP OPTIONS # ----------------------------------------------------------------------------- acl apache rep_header Server ^Apache cache deny QUERY visible_hostname server Естественно у вас должно быть две сетевые карты. Внутренняя с ip 192.168.0.1 сделайте её на eth1. Внешнию с инетом провайдера на eth0. Конфигурации и файлы можете копировать как через терминал с помощью команды nano, так и вручную как в виндовс. Будте аккуратней! любой лишний пробел и конфигурация будет испорченна! Она просто не запуститься. Файлы конфигурации берите из вложения и изменяйте под свои настройки провайдера смотря на мои комментарии Вроде все! Удачи! Если что-то забыл, то добавлю) Очень интересна будет статья для начинающих администраторов, которые не хотят устанавливать пиратский виндовс сервер и которым нужно ограничить доступ к сайтам, а так же чтоб не скачивали музыку и видео! |
Упс) уже косяк нашел, забыл файлики выложить с ссылками и расширениями к которым доступ запрещен... Ну это уже завтра парни... Сегодня пора домой.
|
1) сервер не должен работать в графической оболочке......если от него не требуется обратное:)
2) iptables у тебя не работает))))))))) причем ошибка очень распространенная 2) не вижу от какого пользователя работает сквид - наверное от рута? зачем ты пользователей с полным доступом опустил ниже запретов? или у них всеж не полный доступ? http_port имхо лучше завязывать на интерфейс...но это кому как ))))) icp тебе не нужен после не вижу запрета http_access deny all так же нету ссылки на "ошибки" error_directory..а менять страничку ошибок самое интересное)))))))) так же посоветую накатить редиректор....советую rejik3 вот.... |
Вложений: 1
Цитата:
2)Работает) Дак подскажи где ошибка ) 3)Конечно от рута 4)Полный доступ у них... А как надо? 5)http_access deny all - в последнем сквиде эта запись не нужна, она была... он ругался на нее 6)http_port имхо лучше завязывать на интерфейс - мне так) 7)так же нету ссылки на "ошибки" error_directory..а менять страничку ошибок самое интересное)))))))) - ну это уже сами пусть фигней страдают) 8)rejik3 - учтем ;) |
Цитата:
показать ему mc X-ы на сервере это зло)))) Цитата:
фактически все правила который ты делаешь -j ACCEPT не нужны ибо пакет который нужно пропустить все равно по политике будет разрешен - даже если для него не будет правила разрешения надо: iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP или *filter :INPUT DROP :FORWARD DROP :OUTPUT DROP но мне первый вариант написания нравится больше....)))) ну output можно разрешить ибо с ним надо помучатся...хотя лучше все-равно в дроп p.s. или многие делают так: iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT фактически тоже та же политика по-умолчанию...бесконтрольный доступ юзерам в интернет Цитата:
заводишь учетку в лине - делаешь ее владельцем кэша и на логи потом в сквиде: cache_effective_user [юзер] cache_effective_group [группа] Цитата:
т.е. примерно так надо: http_access accept admin http_access deny blacklist http_access accept user тогда админы не попадут под запрет blacklist Цитата:
Цитата:
Цитата:
|
Мда, конфиг вразрез идет с моим прокси-сервером, под управлением ОС Линукс Дебиан+сквид. Нет граф.интерфейса, отключен кэш (так надо), в добавок подгружены блэк-листы анонимайзеров и порносайтов. :)
В целом неплохо, но можно и ровнее. |
Часовой пояс GMT +4, время: 10:33. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.