Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  frox
  SARG
  samba & ClamAV
  named
  proftpd
  cacti
  SAMBA+AD+NT ACL
  MySQL
  hylafax
  DDNS+DHCP
  cvsupd
  Samba как PDC
  Основы LDAP
  LDAP+SSL
  LDAP auth
  knockd
  rsync
  MRTG
  Rejik
  Jabber - OpenFire
  Samba(PDC) + Ldap
  squid+AD
  ATSlog
  vsftpd
  LDAP: samba, dns, dhcp
  Free-SA
  cups-samba на samba+AD
  irc + services
  Nagios - мониторинг сети
  TeamSpeak
  icecast2
  verlihub (p2p)
  Icecast2 + Darkice
  OOPS
  vsftpd + mysql
  Amanda
  HAVP
  Рыбалка на FreeBSD
  DNS сервер NSD
  DNS сервер Unbound
  mpd5, msmtp, dynamic ip
  ProFTPd + LDAP
  OpenVPN + LDAP
  Samba (PDC+BDC)
  BIND & AD
  POWERDNS
  3proxy
  eGroupWare
  GLPI
  SugarForge CRM
  Bacula
  Mysql - базовое описание
  Asterisk IP PBX
  Samba & CUPS & AD & ACL
  SMSTools 3
  Samba+ NT ACL
  phpmyadmin
  1С:Предприятие 8.1
  PurefFTPd
  qemu network
  AimSniff
  comms/scmxx
  Zoneminder
  Openfire Jabber Server
  Zoneminder 2
  Принт-Сервер Samba+LPD & AD
  Кластер OpenLDAP 2.4
  Lightsquid
  Установка Zabbix-1.6
  Установка net2ftp
  VSFTPD + AD && MySQL
  Network UPS Tools
  mpd5 L2TP client
  Apache 2.2 as a proxy
  ejabberd+mysql+icq
  HotSpot
  Установка и использование Zenoss на FreeBSD 7.2
  mysql-proxy
  DNS zones
  squid+sams+sqstat
  transmission-daemon
  Squid+AD (group access)
  SysAid Server
  MySQL Master+Master
  proftpd file auth&quota
  usb_modeswitch
  NSDadmin
  iperf Тест скорости между хостами
  Простой факс-сервер mgetty+sendfax
  SQUID-MultiCpuSystem
  vsftpd + system users
  Syslog server
  Температура в серверной
  Nagios+Digitemp
  Avast! FreeBSD
  Настройка git+gitosis
  Firefox SyncServer
  Scan+Print server FreeBSD 9
  proftpd,pgsql,web
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> программы —> Squid+AD (group access)

Squid и авторизация пользователей в AD по группам

Автор: aspera.


Итак предыстория: опыт работы с прокси-сервером squid у меня большой, но после
смены рабочего места (эх кризис) пришлось привыкать к тормознутости и
неповоротливости Microsoft ISA Server, который выполнял задачи шлюза и прокси.
Мириться с этим мне не хотелось, но в компании были исторически сложившиеся религиозные
устои, а именно:
•    Все администраторы специализировались на Windows платформах
•    Существовало несколько ступеней доступа в сеть интернет
•    Руководство было немного без головы и могло запросить статистику по
пользователю аж за какой-то день хрен знает какого года до нашей эры, причем
все это должно было быть красиво в графиках, закорючках и с уточнением посещенных
сайтов и т.д…
Немного покопавшись в своей голове, взвесив все тяготы и последствия принятой
инициативы, я убедил руководство отцепить резервный интернет канал от шлюза и
дать мне месяц на настройку и доказательство жизнеспособности и конкурентоспособности
нового творения. Конечно выбрал любимую FreeBSD. На то время уже был доступен
релиз 7.2, на нем и было все построено.
В качестве шлюза я развернул FreeBSD, настроил на нем IPFW с «ядерным» натом,
и считалочки трафика по интерфейсам trafd (что б было о чем раз в месяц с провайдером
поговорить). И внутри сети уже был развернут отдельный сервер со Squid.
Распишу сразу особенности будущего прокси:
•    Авторизация должна проходить без участия пользователя и на основании
учетных данных AD
•    Пользователи должны делиться на группы и иметь установленный политиками
компании доступ в глобальную сеть
•    Статистика по пользователям должна вестись непрерывно и на протяжении
бесконечно огромного времени
Начнем:
Для реализации задачи нам потребуется:
•    Squid 3.0.19
•    Samba (вернее ее маленькая часть WinBIND)
•    Lightsquid (для подсчета трафика)
По установке самбы и сквида в интернете есть куча howto, но на всякий случай
повторюсь.
Устанавливаем самбу:
//>cd /usr/ports/net/samba3/
/usr/ports/net/samba3/>make config

Выбираем следующее:
[X] LDAP         With LDAP support
[X] ADS          With Active Directory support
[X] WINBIND      With WinBIND support
[X] SYSLOG       With Syslog support
[X] UTMP         With UTMP accounting support
[X] POPT         With system-wide POPT library

И собираем
/usr/ports/net/samba3/>make install clean

Копируем дефолтный конфиг и правим его для наших нужд
cd /usr/local/etc
/usr/local/etc/>cp smb.conf.sample smb.conf
/usr/local/etc/>mcedit smb.conf

#======================= Global Settings ============================
[global]
# netbios имя нашего домена
   workgroup = MYDOMAIN
# Комментарий сервера
   server string = Corporate Proxy Server
# Режим безопасности
   security = ADS
# Указываем сети, которым разрешен досту к прокси
   hosts allow = 10.201.1.
# Указываем расположение логов
   log file = /var/log/samba/log.%m
# Указываем размер логов (в килобайтах)
   max log size = 1024
# Указываем имя контроллера домена (Внимание! Необходимо указать контроллер
# домена,выполняющий роль PDC, если он у вас один то не заморачивайтесь. У 
# меня в сети много сайтов.)
   password server = dc4.mydomain.local
# Указываем полное имя нашего домена
   realm = mydomain.local
# Указываем тип хранилища
   passdb backend = tdbsam
# Сетевые настройки
   socket options = TCP_NODELAY
# Указываем самбе, что она не является PDC
   local master = no
   os level = 0
   domain master = no
   preferred master = no
   domain logons = no
# Настройки кодировки
   display charset = koi8-r
   unix charset = koi8-r
   dos charset = cp866
# Настройки winbind
   winbind use default domain = no
   winbind uid = 10000-20000
   winbind gid = 10000-20000
   winbind enum users = yes
   winbind enum groups = yes

Теперь необходимо внести изменения в nsswitch.conf для того, чтобы winbind
получал информацию из AD. Нужно исправить всего две строки:
group: files winbind
passwd: files winbind

Теперь добавляем наш сервер в домен
//>net ads join -U user%pass
Using short domain name -- MYDOMAIN
Joined 'FREEBSD' to realm ‘mydomain.local’

Внимание!!! User – имя пользователя с привилегиями добавлять машины в домен
(для особо непонятливых – это либо администратор домена, либо пользователь,
которому были делегированы права администратором на сею экзекуцию тачек),
pass – пароль этого пользователя!
Теперь настроим запуск winbind вместе с системой, добавляем в rc.conf
следующие строки:
winbindd_enable="YES"
winbindd_flags="-d 1"

Осталось указать пользователя, от имени которого будет проходить
аутентификация (для этих целей я создал отдельного пользователя,
и делегировал ему нужные права (если не хочется заморачиваться
дайте ему права администратора домена))
//>wbinfo --set-auth-user=MYDOMAIN\\proxy%password
//>wbinfo --get-auth-user
MYDOMAIN\proxy%password

Все с самбой разобрались.
Для упрощения своей работы по описанию установки и настройки самбы было взято первое попавшееся на глаза вменяемое howto. Оригинал здесь: http://sys-adm.org.ua/www/squid-ad.php


Теперь займемся установкой и настройкой Squid'a.
Устанавливаем:
//>cd /usr/ports/www/squid30
/usr/ports/www/squid30/>make config

Выбираем следующее:
[X] SQUID_LDAP_AUTH      Install LDAP authentication helpers
[X] SQUID_DELAY_POOLS    Enable delay pools
[X] SQUID_SNMP           Enable SNMP support
[X] SQUID_HTCP           Enable HTCP support
[X] SQUID_CACHE_DIGESTS  Enable cache digests
[X] SQUID_WCCP           Enable Web Cache Coordination Prot. v1
[X] SQUID_IDENT          Enable ident (RFC 931) lookups
[X] SQUID_ARP_ACL        Enable ACLs based on ethernet address

Устанавливаем
/usr/ports/www/squid30/>make install clean

Теперь перейдем к настройке (Внимание! Конфиг Squid'a очень большой.
Я его переписывал почти полностью! Последовательность TAG должна быть
как у меня.)
//>mcedit /usr/local/etc/squid/squid.conf
# Указываем Squid как проводить аутентификацию:
auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol
=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive on
authenticate_cache_garbage_interval 15 minute
authenticate_ttl 5 minute
auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol
=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Squid Proxy-Server
auth_param basic credentialsttl 20 minute
auth_param basic casesensitive off
# Теперь указываем Squid где брать информацию о группах пользователей
external_acl_type nt_group %LOGIN /usr/local/libexec/squid/wbinfo_group.pl
# Рекомендованная минимальная конфигурация:
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
# Описываем основные порты (с вашего позволения из этого списка я убираю 
# порты для управления активным оборудованием, службами и сервисами, в т.ч. 
# порты доступа по ssh (эти порты у меня не стандартные, что рекомендую 
# всем остальным))
acl SSL_ports port 563 # snews
acl Safe_ports port 80 # http
acl FTP port 20 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 Safe_ports port 631 # cups
acl Safe_ports port 110 # POP3
acl Safe_ports port 25 # SMTP
acl purge method PURGE
acl CONNECT method CONNECT
# Указываем пулы адресов нашей сети/сетей
acl lan src 10.201.1.0/255.255.255.0
# Указываем диапазоны адресов серверных платформ, нуждающихся в обновлении 
# через интернет 
# В моем случае это сервера WSUS, Symantec Endpoint Protection Manager и т.д.
acl Servers src 10.201.1.1-10.201.1.49
# Указываем адреса машин, которым интернет доступен без ограничений 
# скорости (правильно админские)
acl Speed_Internet src 10.201.1.101 10.201.1.102
# Указываем диапазон адресов пользователей FTP
acl FTPusers src 10.201.1.101-10.201.1.102
# Указываем расположение и назначение словарей доступа в сеть интернет:
acl url-updates dstdomain "/usr/local/etc/squid/url-updates.txt" 
# Список сайтов для обновления серверов
acl url-mail-ru dstdomain "/usr/local/etc/squid/url-mail-ru.txt" 
# Доступ к почте mail.ru
acl url-good dstdomain "/usr/local/etc/squid/url-good.txt" 
# Список разрешенных сайтов (доступ к этим сайтам будет возможен 
# даже пользователям, кторым доступ в интернет запрещен)
acl urls-good urlpath_regex -i "/usr/local/etc/squid/urls-good.txt" 
# Тоже самое только по протоколу https
acl url-bad dstdomain "/usr/local/etc/squid/url-bad.txt" 
# Список запрещенных сайтов
acl urls-bad url_regex -i "/usr/local/etc/squid/urls-bad.txt" 
# Тоже самое только по протоколу https
acl url-webmail dstdomain "/usr/local/etc/squid/url-webmail.txt" 
# Список web-mail
acl urls-webmail url_regex -i "/usr/local/etc/squid/inet-webmails.txt" 
# web-mail по https
acl url-porno url_regex -i "/usr/local/etc/squid/url-porno.txt" 
# Список порносайтов
acl url-audio dstdomain "/usr/local/etc/squid/url-audio.txt" 
# Списки аудиоконтента
acl url-banners url_regex -i "/usr/local/etc/squid/url-banners.txt" 
# Список баннеров
acl url-JAVA dstdomain "/usr/local/etc/squid/url-java.txt" 
# Список сайтов, использующих для работы JAVA-#апплеты
acl url-netshare dstdom_regex -i "/usr/local/etc/squid/url-netshare.txt" 
# Списки netshare
acl url-redirector dstdom_regex -i "/usr/local/etc/squid/url-redirector" 
# Список анонимайзеров
acl urls-redirector url_regex -i "/usr/local/etc/squid/urls-redirector" 
# Тоже самое по https
#########################################################
Многие спросят нахрена одно и тоже и так много, ведь можно все объединить
в один файл. Объясняю: во-первых часть списков будет содержать не адреса 
сайтов а регулярные выражения в ссылках, по которым сайты будут блокироваться
(очень актуально для порнухи и web-mail ибо банить их просто устанешь). 
Так же данные ограничения буду применяться по разному для разных 
групп пользователей
#########################################################
# Указываем группы доступа
acl inet-admins external nt_group inet-admins # Доступ для админов
acl inet-directors external nt_group inet-directors # Как же их любимых 
# с пользователями то ровнять
acl inet-mail.ru external nt_group inet-mail.ru # Избранные с правом 
# доступа на почту mail.ru
acl inet-servers external nt_group inet-servers # Группа для обновлений 
# серверов
acl inet-users external nt_group inet-users # Бедняги обычные смертные
acl inet-webmail external nt_group inet-webmail # Группа пользователей с 
#голубой кровью, испытывающих #недостатки в работе с корпоративной почтой 
# и предпочитающей альтернативы (думаю везде есть такие #уникумы)
acl GET method GET
acl inet-ftp external nt_group inet-ftp # Пользователи которым разрешен
# доступ к ftp-серверам

#  TAG: http_access
# Теперь начинаем процесс естественной селекции, указывая 
# кому что можно, а именно сопоставляем группы пользователей
# с ранее указанными словарями
# Для начала вводим ограничения по портам
http_access allow manager lan
http_access allow purge localhost
http_access deny !Safe_ports !FTP
http_access deny CONNECT !SSL_ports
http_access deny manager
http_access deny to_localhost
http_access allow localhost
http_access allow purge localhost
http_access deny purge
url_rewrite_access deny localhost
# Теперь указываем права доступа по словарям
http_access deny FTP !FTPusers
http_access allow url-JAVA
http_access allow url-good
http_access allow urls-good
http_access deny urls-bad
http_access deny url-bad
http_access deny urls-redirector
http_access deny url-redirector
# Теперь указываем в каких группах используются какие словари
http_access allow inet-directors !url-netshare
http_access allow url-mail-ru inet-mail.ru
http_access allow inet-webmail !url-porno !url-netshare
http_access allow url-updates inet-servers
http_access allow inet-mail.ru !url-webmail !urls-webmail !url-
porno !url-netshare
http_access allow inet-admins !url-mail-ru !url-webmail !urls-
webmail !url-porno
http_access allow inet-ftp !url-bad !urls-bad !url-webmail !urls-
webmail !url-porno
http_access allow inet-users !url-mail-ru !url-good !url-bad !urls-
bad !url-webmail !urls-webmail !url-porno !url-audio !url-banners !url-
netshare !url-redirector !urls-redirector !inet-ftp
# Напоследок стандартные правила
http_access deny all
http_reply_access allow all
icp_access allow all

# Указываем порт, на котором будет слушать Squid
http_port 3128

# MEMORY CACHE OPTIONS
# --------------------------------------------------------------------
#  TAG: cache_mem       (bytes)
cache_mem 256 MB
#  TAG: maximum_object_size_in_memory   (bytes)
maximum_object_size_in_memory 80 KB

# DISK CACHE OPTIONS
# --------------------------------------------------------------------
#  TAG: cache_dir
cache_dir ufs /usr/local/squid/cache 1024 16 256
#  TAG: minimum_object_size     (bytes)
#Default:
minimum_object_size 10 KB
#  TAG: maximum_object_size     (bytes)
#Default:
maximum_object_size 32 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 /usr/local/squid/logs/access.log squid

#  TAG: pid_filename
pid_filename /usr/local/squid/logs/squid.pid

#  TAG: ftp_user
ftp_user unix@mydomain.ru

#  TAG: ftp_passive
ftp_passive on

# OPTIONS FOR TUNING THE CACHE
# --------------------------------------------------------------------

#  TAG: cache
acl QUERY urlpath_regex cgi-bin \?

#  TAG: refresh_pattern
#Suggested default:
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern (cgi-bin|\?)    0       0%      0
refresh_pattern .               0       20%     4320

#  TAG: quick_abort_min (KB)
#  TAG: quick_abort_max (KB)
#  TAG: quick_abort_pct (percent)
quick_abort_pct 80

# ADMINISTRATIVE PARAMETERS
# -------------------------------------------------------------------

#  TAG: cache_mgr
cache_mgr admins@mydomain.ru

#  TAG: cache_effective_user
cache_effective_user squid

#  TAG: delay_access
delay_access 1 allow url-bad !Speed_Internet
delay_access 2 allow Speed_Internet
delay_access 2 allow url-updates
delay_access 3 deny all
delay_access 4 allow lan !Speed_Internet
delay_access 4 deny all
delay_access 1 allow urls-bad !Speed_Internet
delay_access 1 allow url-audio !Speed_Internet
delay_access 2 deny all

#  TAG: delay_parameters
delay_class 1 2
delay_class 2 2
delay_class 3 3
delay_class 4 2
delay_parameters 1 32000/128000 8000/8000
delay_parameters 2 250000/1000000 125000/512000
delay_parameters 3 64000/512000 125000/2000000 32000/1000000
delay_parameters 4 250000/2000000 32000/512000

#  TAG: delay_initial_bucket_level      (percent, 0-100)
delay_initial_bucket_level 50

#  TAG: error_directory
error_directory /usr/local/etc/squid/errors/Russian-1251

#  TAG: hosts_file
hosts_file /etc/hosts

#  TAG: fqdncache_size  (number of entries)
fqdncache_size 16386

#  TAG: memory_pools_limit      (bytes)
memory_pools_limit 64 MB

#  TAG: forwarded_for   on|off
forwarded_for off

#  TAG: cachemgr_passwd
cachemgr_passwd “your password” all

#  TAG: coredump_dir
coredump_dir /usr/local/squid/cache

no_cache deny QUERY manager localhost to_localhost SSL_ports CONNECT url-
JAVA
visible_hostname proxy.mydomain.local
dns_nameservers 10.201.0.1 10.201.1.1

Все с настройкой squid’a закончили. Теперь необходимо внести
сообтветствующие изменения:
Создаем словари в директории /usr/local/etc/squid/
Примеры содержания словарей.
/usr/local/etc/squid/>cat url-updates.txt
.microsoft.com
.microsoft.ru

/usr/local/etc/squid/ >cat url-mail-ru.txt
.mail.ru

/usr/local/etc/squid/>cat url-good.txt
.rbc.ru
news.mail.ru

/usr/local/etc/squid/>cat urls-good.txt
services.mozilla.com:443
msexchange
smsexpress
procmail
userMessageCreate
=emailform
adsi_mailboxes

/usr/local/etc/squid/>cat url-bad.txt
.1tvrus.com
.2krota.ru
.72.ru
.KM.ru
.a91.ru
.addictinggames.com
.amba.ru
.amobil.ru
.anekdot.ru

/usr/local/etc/squid/>cat urls-bad.txt
spine.heightanxiety.com
kamerton.com.ua

/usr/local/etc/squid/>cat url-webmail.txt
.AEmail4U.com
.AviationEmail.com
.BankersMail.com
.BlazeMail.com
.BornAgain.com
.BuildTraffic.com
.CBGB.com
.CarJunky.com
.ChefMail.com
.CoolYork.com
.DarkSites.com

/usr/local/etc/squid/>cat inet-webmails.txt
mail
inbox
message
pochta

/usr/local/etc/squid/>cat url-porno.txt
porn
sex
xxx
teen
fuck

/usr/local/etc/squid/>cat url-audio.txt
\.(ra?m|wma|mp2|mpv2|mp3|asx)($|\?)
\.(mpe?g?|wmv|mov|movie|qt|avi|dvd?|divx|flv|iflv)($|\?)
\.(iso|exe|vbs)($|\?)

/usr/local/etc/squid/>cat url-banners.txt
/ads/
/ad/
/banner/
/sponsor/
/event.ng/
/Advertisement
/adverts/

/usr/local/etc/squid/>cat url-java.txt
.forexpf.ru

/usr/local/etc/squid/>cat url-netshare.txt
11mbit.in
allfiles.ru
cyberupload.com
depositfiles.com

/usr/local/etc/squid/>cat url-redirector
zonefast.info
zonesafe.info
zoom.selfip.net
zroxee.com
zroxi.com

/usr/local/etc/squid/>cat urls-redirector
207.156.166.165/anonymiser
66.75.98.129/cgi-bin/nph-ssl.cgi
charter.com/cgi-bin/nph-815764.cgi/010110A/

Создаем группы пользователей в AD. Внимание группы должны
располагаться в корне AD. Хоть убей, но я так и не смог заставить
Squid читать группы из разных Организационных юнитов, поэтому
создал их в корне.
Список нужных нам групп:
inet-admins
inet-directors
inet-mail.ru
inet-servers
inet-users
inet-webmail
inet-ftp
Внимание: при создании группы учитывать: тип группы – глобаль-
ная  группа распространения!
Теперь добавляем пользователей в нужные группы!
Добавляем Squid в rc.conf
squid_enable=”YES”

Теперь для простоты использования сего творения сочиняем пару
простеньких скриптиков. Директорию размещения скриптов оставляю
вам на выбор.
Первый скрипт поможет нам перезагружать все это безобразие
«одной кнопкой».
Я его обозвал коротко и локанично «restart_all»
#! /bin/sh
/usr/local/etc/rc.d/samba stop
/usr/local/etc/rc.d/samba start
wbinfo -p
wbinfo -u
wbinfo -g
/usr/local/etc/rc.d/squid stop
/usr/local/etc/rc.d/squid start

Данный скрипт перезапускает winbind, проверяет связь с AD и
перезапускает Squid.
И второй скриптик более важный. Он не перезагружает демонов,
а заставляет Squid перечитать словари доступа, что требуется
значительно чаще. Хоть по содержанию он совсем прост.
#!/bin/sh
/usr/local/etc/rc.d/squid reload

Последний скрипт пихаем в cron с частотой запуска примерно
раз в 2 часа (хотя нужды у всех разные и решать это опять Вам).
Теперь осталось дать доступ виндовым админам к нашим файликам д
оступа пользователей. Каким образом вы это сделаете решать тоже
вам, лично я их расшарил по сети, а случайным образом придуманное
расширение .txt не заставит бедняг рвать волосы на голове не понимая
как это открывать… А всю работу сделает скриптик в кроне.
Подсчетом статистики у меня занимается lightsquid. Писать про его
настройку я не стану. В интернете про это написаны даже докторские
диссертации.



Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?f=3&t=23992.

размещено: 2010-03-09,
последнее обновление: 2010-03-09,
автор: aspera

оценить статью:

MaxaoH82, 2010-02-11 в 12:12:01

Исправь
Теперь добавляем пользователь в нужные группы!
Наверное должно быть так
Теперь добавляем пользователей в нужные группы!

Agent, 2010-02-11 в 14:52:27

В общем эта тема изъезжена вдоль и поперек, но за старания - молодец!
1 замечание: в скрипте команды stop и start лучше объединить в restart.
2 замечание: squid при рестарте долго стопит своих детей, особенно при ntlm аутентификации. поэтому если restart_all будет проходить в рабочее время, пользователи будут испытывать дискомфорт от серфинга.

aspera, 2010-02-11 в 16:15:33

1. Насчет SQUID согласен
2. Рестарт ALL необходим в случае непредвиденных ситуаций, для обновления словарей как я уже писал в статье достаточно reload

0dmin, 2010-02-16 в 22:13:48

squid -k reconfigure

Linxpro, 2010-03-11 в 14:49:01

Да тема избитая, но для новичков в самый раз.
Вместо Lightsquid я бы поставил Free-SA! Он пошустрей будет!
И прикрутил бы привязку по маку(ACL_MAC)! Юзеры иногда себя умными считают :)!

aspera, 2010-03-11 в 14:55:54

У меня пользователи на терминальных серверах живут, десктопов в сети просто нет как класса, поэтому считать они себя могут кем угодно, но добьются чего то вряд ли.
Почему Lightsquid а не Free-SA: у Lightsquid'a более "сексуальный" формат отчетов (по крайней мере начальство так посчитало, а отчеты нужны в первую очередь им а не мне, мне то вообще пофиг куда кто ходит... право на личную жизнь есть у всех). Да и термин "пошустрее" вряд ли применим для современного оборудования, один фиг мощности избыточные, а это не есть хорошо

Linxpro, 2010-03-12 в 6:14:31

Aspera, мой комментарий не пинок в твою сторону поверь!
Просто дополнение, а на счет терминалов - так ведь не все же их использут по понятным причинам! за статью спс!

Fakir, 2010-03-19 в 21:36:07

Если строка "http_access deny FTP !FTPusers" читается как <запретить доступ к фтп пользователям не входящим в FTPusers>, как читается строка "http_access allow inet-directors !url-netshare"?

aspera, 2010-03-21 в 20:34:44

Разрешить весь инет группе "inet_directors" кроме указанного в списке "url-netshare", тобишь исключая файлообменники...

aspera, 2010-03-21 в 20:42:11

На всякий случай отвечу почему: в первом случае \"FTP\" всего навсего спосок портов описаный в конфиге выше и строка читается как <запретить \"протокол\" всем кроме указаннойгруппы (добавлять сюда какие либо списки глупо так как правило запрещает протокол полностью)>

Вторая строка <разрешить все (порты указывать тут глупо так как исключаем некоторый набор ссылок) группе кроме \"список исключения\"

Если объяснил недоходчиво добро пожаловать на форум.

Дмитрий, 2010-04-02 в 17:00:06

> Внимание группы должны располагаться в корне AD.
> Хоть убей, но я так и не смог заставить Squid читать
> группы из разных Организационных юнитов, поэтому
> создал их в корне.

Группы читает не Squid, а Winbind. Вы не указали, какую версию Samba надо использовать, и напрасно - в последних версиях вложенные группы Winbind обрабатывает правильно.

> [X] SQUID_LDAP_AUTH
> [X] SQUID_SNMP
> [X] SQUID_HTCP
> [X] SQUID_CACHE_DIGESTS
> [X] SQUID_WCCP
> [X] SQUID_IDENT
> [X] SQUID_ARP_ACL


Зачем включать фунции, которые Вы не используете?

fox, 2010-04-07 в 0:37:31

Статья супер, особенно вступление, точнее вступление больше всего мне понравилось о Админах Виндузятины и Начальству со статистекой до нашей эры... Но вот надо бы тебе уточнить, что речь идёт изначально о протаколе типа подспорье Kerberos NTLM.. А то заинтриговал ты меня а потом я понял, что это уже изезженная тема ntlm... Посмотри статьи про sams...
Ну а так молодец!

XoRe, 2010-07-06 в 17:13:26

> #  TAG: cache_dir
> cache_dir ufs /usr/local/squid/cache 1024 16 256

Рекомендую использовать diskd вместо ufs.
В свое время (2005-2007) быстродействие увеличивалось в разы.
Только в ядре нужно подкрутить пару переменных.
http://squid.opennet.ru/FAQ/my/FAQrus-22.html

И я бы на вашем месте указал, что у вас в конфиге скорость шейпится правилами delay_*.
А то будет народ копипастить, а потом удивляться =)

aspera, 2010-07-07 в 9:31:54

Насчет "cache_dir": с выходом восьмерки потихоньку пробуем вместо ufs использовать zfs, прирост вроде имеетс, но точно пока сказать трудно ибо железки сейчас уже другие да и диски сейчас файберы и пасуться в СХД а не в сервере. Но за поправочку огромное спасибо!!!

На счет нарезки скорости согласен поправить надо, вот только в проектах щас по уши и руки ну совсем не доходят, уже и статей штук пять новых интересных накидал, но пока увы некогда... работа... лето... жена... все время отнимают) А копипастеры, они такие копипастеры что там уже и удивляться нечему =)))

Еще раз спасибо за поправки!

kwant, 2010-08-19 в 21:34:12

delay_pools 4 тут без этого не запуститься squid

banan4ik, 2011-02-08 в 22:40:03

По моему скромному мнению, подобные вещи лучше организовывать в связке squid+ldap, в качестве ldap-клиента идёт openldap, сквид само собой собирается c опцией SQUID_LDAP_AUTH. Единственное, я хз как будет себя вести подобная связка при высоких нагрузках

veles, 2011-04-05 в 11:10:48

Всё сделал как в статье один в один сам засунул себя в группу директоров а там ограничения только на файлообменники и всё равно не работает https. Подскажите в чём проблема ?

aspera, 2011-04-13 в 1:14:49

Если у тебя сквид и шлюз одна машина https при такой настройке работать не будет, если сквид внутри сети на отдельном сервере (а так по идее и должно быть), то все работает как надо.

veles, 2011-04-13 в 11:42:00

aspera, 2011-04-13 в 1:14:49

Спасибо, я решил сам проблему я просто не 443 порт поместил в SSl порты и всё заработало :)

korven, 2012-12-12 в 8:39:09

Здравствуйте, отличная статья, думаю нужно знать некоторые полезные команды при настройке squid:
после редактирования конфига обязательно используйте вот эту команду: squid -k parse, она проверит файл на наличие синтаксических ошибок. Для того, чтобы squid применил внесенные в конфиг изменения без перезапуска самого "себя")), т.е просто перечитал свой конфиг и применил изменения, делаем так:

[i]squid -k reconfigure[/i].

Я кстати написал о том, как я настраивал squid на работы с AD вот ссылка " target="_blank" class="text_link">http://www.artcom-ufa.ru/posts/2012/07/28/nastroika-squid[/url]


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash

Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT

Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3

Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN

На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm

Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth&quota

Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli

Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master

MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones

Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)

Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4

Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3

Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2

Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1

Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat

Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat

Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills

Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
2009-11-16, lissyara
UFS->ZFS

Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
2009-11-13, gx_ua
fusefs-ntfs

Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
2009-11-12, Morty
LiveCD

Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
2009-09-27, lissyara
Samba как PDC

Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
2009-08-30, terminus
ipfw nat

Подробное руководство по ipfw nat, сложные случаи конфигурации.
2009-08-24, levantuev
HotSpot

Установка Hotspot системы в общественное заведение.
2009-08-18, lissyara
diskless

Создание бездисковых терминалов под управлением FreeBSD - с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов.
2009-07-29, BAV_Lug
Видеонаблюдение

Настройка бюджетного варианта видеонаблюдения на удаленном объекте
2009-07-22, Cancer
OpenLDAP адресная книга

Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin
2009-06-30, SergeySL
AimSniff

Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений
2009-06-25, atrium
Управление правами доступа

Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX.
2009-06-16, DNK
Exim+PgSQL

Установка почтовой системы exim+pgsql на FreeBSD 7.1
2009-05-30, mvalery
HDD(mbr) -> HDD(gpt)

Как разбить диск размером более 2TB на разделы, сделать загрузочным, а затем перенести на него информацию с рабочей системы — донора.
2009-05-22, Cancer
SendXMPP

Отправка сообщений на Джаббер сервер по средствам SendXMPP
2009-05-11, Raven2000
Network UPS Tools

Network UPS Tools представляет собой набор программ, которые обеспечивают общий интерфейс для мониторинга и администрирование UPS оборудования.
2009-04-29, m0ps
IPSEC over GRE with RIP

Пример IPSEC over GRE и динамическим роутингом (RIP), с ADSL в качестве последней мили на оборудовании Cisco.
2009-04-24, WhiteBear777
qemu network

Появилась необходимость поставить на БСД эмулятор(qemu) и настроить в качестве гостевой ОС Windows XP, предоставив ей выход в локалку и в сеть internet...
2009-04-22, vp
freebsd + huawei 162 gsm modem

В статье описывается простой способ подключения модема huawei 162 к freebsd + первичная настройка smstools
2009-04-12, mvalery
Мониторинг RAID

Мониторинг из командной строки RAID компаний AMCC 3ware, HighPoint, Dell (Perc 5/i и PERC 6/i) и LSI (MegaRAID SAS 8408E и SAS1078)
2009-04-09, texnotronic
RAID1 via LAN

Функциональности DRBD во FreeBSD можно добиться примонтировав блочное устройство по сети при помощи GEOM Gate (ggate) и добавив его в зеркало с локальным диском средствами gmirror.
2009-04-03, Raven2000
Оптимизация хоста для CMS

В последнее время на старый и не очень быстрый ПК (Celeron 800 RAM 256) мною было навешано с десяток сайтов и некоторые были из серии тяжелых CMS. И так нам дано FreeBSD 7.1 и ~10 сайтов/CMS.
2009-04-01, atrium
VSFTPD + AD && MySQL

Настройка самого безопасного сервера FTP - vsftpd.
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 4 чел.
За последние 30 мин было: 51 человек
За сегодня было
3498 показов,
623 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.1229 секунд
Из них PHP: 71%; SQL: 29%; Число SQL-запросов: 77 шт.
Исходный размер: 239972; Сжатая: 40375