Технический форум
Вернуться   Технический форум > Программирование > Библиотека > Интернет и сети


Ответ
 
Опции темы Опции просмотра
Старый 21.09.2011, 15:37   #1 (permalink)
Alexander
Сисадмин по жизни
 
Аватар для Alexander
 
Регистрация: 30.11.2009
Сообщений: 910
Записей в дневнике: 1
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 3 сообщениях
Репутация: 1991
Exclamation Прозрачный прокси сервер Centos 6. Ограничение на скачивание и социальные сети

Привет всем! Решил выложить конфигурацию работающего сервера на 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, так и вручную как в виндовс.
Будте аккуратней! любой лишний пробел и конфигурация будет испорченна! Она просто не запуститься.
Файлы конфигурации берите из вложения и изменяйте под свои настройки провайдера смотря на мои комментарии
Вроде все! Удачи! Если что-то забыл, то добавлю) Очень интересна будет статья для начинающих администраторов, которые не хотят устанавливать пиратский виндовс сервер и которым нужно ограничить доступ к сайтам, а так же чтоб не скачивали музыку и видео!
Вложения
Тип файла: zip config.zip (1.8 Кб, 388 просмотров)

Последний раз редактировалось Alexander; 21.09.2011 в 15:43
Alexander вне форума   Ответить с цитированием

Старый 21.09.2011, 15:37
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Так же вы можете набраться побольше информации, почитав похожие темы

Как подключиться через прокси сервер?
Помощь в создании сети клиент-сервер
Не открываются социальные сети
Сервер для локальной сети, бюджет 70.000 рублей

Старый 21.09.2011, 16:13   #2 (permalink)
Alexander
Сисадмин по жизни
 
Аватар для Alexander
 
Регистрация: 30.11.2009
Сообщений: 910
Записей в дневнике: 1
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 3 сообщениях
Репутация: 1991
По умолчанию

Упс) уже косяк нашел, забыл файлики выложить с ссылками и расширениями к которым доступ запрещен... Ну это уже завтра парни... Сегодня пора домой.
Alexander вне форума   Ответить с цитированием
Старый 21.09.2011, 21:54   #3 (permalink)
Hirurg
Системный администратор
 
Аватар для Hirurg
 
Регистрация: 28.08.2010
Сообщений: 2,101
Записей в дневнике: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2814
По умолчанию

1) сервер не должен работать в графической оболочке......если от него не требуется обратное

2) iptables у тебя не работает)))))))))
причем ошибка очень распространенная

2) не вижу от какого пользователя работает сквид - наверное от рута?

зачем ты пользователей с полным доступом опустил ниже запретов? или у них всеж не полный доступ?
http_port имхо лучше завязывать на интерфейс...но это кому как )))))
icp тебе не нужен
после не вижу запрета http_access deny all

так же нету ссылки на "ошибки" error_directory..а менять страничку ошибок самое интересное))))))))

так же посоветую накатить редиректор....советую rejik3

вот....

Последний раз редактировалось Hirurg; 21.09.2011 в 22:03
Hirurg вне форума   Ответить с цитированием
Старый 22.09.2011, 08:04   #4 (permalink)
Alexander
Сисадмин по жизни
 
Аватар для Alexander
 
Регистрация: 30.11.2009
Сообщений: 910
Записей в дневнике: 1
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 3 сообщениях
Репутация: 1991
По умолчанию

Цитата:
Сообщение от Pakhomov_as Посмотреть сообщение
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 - учтем
Вложения
Тип файла: zip acl.zip (11.3 Кб, 219 просмотров)
Alexander вне форума   Ответить с цитированием
Старый 22.09.2011, 08:40   #5 (permalink)
Hirurg
Системный администратор
 
Аватар для Hirurg
 
Регистрация: 28.08.2010
Сообщений: 2,101
Записей в дневнике: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2814
По умолчанию

Цитата:
Сообщение от Alexander Посмотреть сообщение
1)Не каждый после виндовс сможет все это сделать через терминал
значит надо отучать сразу)))))
показать ему mc

X-ы на сервере это зло))))

Цитата:
Сообщение от Alexander Посмотреть сообщение
2)Работает) Дак подскажи где ошибка )
у тебя политика по умолчанию - ACCEPT
фактически все правила который ты делаешь -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
фактически тоже та же политика по-умолчанию...бесконтрольный доступ юзерам в интернет

Цитата:
Сообщение от Alexander Посмотреть сообщение
3)Конечно от рута
а надо от стороннего пользователя
заводишь учетку в лине - делаешь ее владельцем кэша и на логи
потом в сквиде:
cache_effective_user [юзер]
cache_effective_group [группа]
Цитата:
Сообщение от Alexander Посмотреть сообщение
4)Полный доступ у них... А как надо?
у тебя правила запрета стоит выше правила разрешения для всех
т.е. примерно так надо:
http_access accept admin
http_access deny blacklist
http_access accept user

тогда админы не попадут под запрет blacklist
Цитата:
Сообщение от Alexander Посмотреть сообщение
5)http_access deny all - в последнем сквиде эта запись не нужна, она была... он ругался на нее
не буду спорить)
Цитата:
Сообщение от Alexander Посмотреть сообщение
7)так же нету ссылки на "ошибки" error_directory..а менять страничку ошибок самое интересное)))))))) - ну это уже сами пусть фигней страдают)
а мне нравится)))))
Цитата:
Сообщение от Alexander Посмотреть сообщение
8)rejik3 - учтем
там правда надо немного под**ибатся с ними...но в итоге отличный редирект

Последний раз редактировалось Hirurg; 22.09.2011 в 08:47
Hirurg вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 25.09.2011, 01:30   #6 (permalink)
Max
Компьютерщик
 
Аватар для Max
 
Регистрация: 12.02.2008
Адрес: ХМАО
Сообщений: 11,625
Записей в дневнике: 36
Сказал(а) спасибо: 9
Поблагодарили 1 раз в 1 сообщении
Репутация: 26467
По умолчанию

Мда, конфиг вразрез идет с моим прокси-сервером, под управлением ОС Линукс Дебиан+сквид. Нет граф.интерфейса, отключен кэш (так надо), в добавок подгружены блэк-листы анонимайзеров и порносайтов.
В целом неплохо, но можно и ровнее.
__________________
Не задавай вопросов, если не знаешь, что делать с ответом.
Max вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
прокси сервер

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 17:49.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.