SQUID + SAMS - гибкость в управлении доступом

SAMS

Настроен очередной маршрутизатор... Как бы работа уже завершена. Но "высокое начальство" решает, что нужно полностью контролировать трафик. Для контроля контента только один вариант - прокси-сервер. Выбор остановился на довольно мощном инструменте - SQUID. Тем более, что к нему можно "прикрутить" такой инструмент, как SAMS (Squid Account Manager Sams).

Но обо всем по порядку...

Будем отталкиваться от того, что Apache, PHP5 и MySQL уже установлены и настроены.

Приступим непосредственно к установке прокси-сервера Squid

Компиляция ядра в FreeBSD 8.0-RELEASE i386

После установки FreeBSD 8.0-RELEASE i386, при компиляции своего custom-ядра, возникла непонятная ошибка при сборке.  Ругалось на сборку устройства aic7xxx, хотя в системе не обнаружил никаких SCSI-контроллеров.

Но есть из памяти всплыло:

 

- Ты видишь сурка?

- Нет.

- И я не вижу... А он есть!

 

Соответственно начал искать, чего же не хватает системе. Решилось все добалением следующих опций в ядро:

device          scbus           # SCSI bus (required for SCSI)

Загрузка системы со старым ядром

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

При загрузке необходимо выбрать 6 пункт меню (loader prompt).

Выгружаем ядро:

OK unload

Далее загружаем предыдущее ядро (и радуемся, что разработчики системы позаботились об этой возможности)

OK load /boot/kernel.old/kernel

Даем команду загрузки системы

IPCalc - считаем сети "по правильному"

Есть небольшая утилита, которая существенно упрощает жизнь системному администратору. Если сеть небольшая, и диапазон IP-адресов небольшой, то можно не заморачиваться. А вот если блоки айпишек довольно большие, и соответственно полным ходом используется безклассовая маршрутизация, то без IPCalc уже не обойтись. IPCalc - небольшая утилита для оперирования IP-адресами и масками сетей. Согласен, в основном все считается в уме, но иногда лучше убедиться, что не было допущено ошибки.

Итак, приступаем к установке утилиты из портов:

Поиск в FreeBSD

 

Поиск по файловой системе

Команда find предназначена для рекурсивного поиска в каталогах файловой системы различных файлов, отбирая их по заданным вами ключам и параметрам. Она работает медленнее других команд поиска, однако её возможности велики.

 

Пример

Net2ftp - работаем с ФТП через браузер

Есть в наличии несколько работающих FTP-серверов. Ну а поскольку протокол радует тем, что используются стандартные команды, то загорелся идеей прикрутить к FTP-серверам веб-интерфейс. Погуглив нашел несколько скриптов (кстати в портах есть еще и phpwebftp, но он оказался очень корявым в работе). Испробовав несколько версий, нашел информацию о net2ftp, тем более данный софт оказался в портах. Pkg-descr тоже порадовал. Ну а когда поискал еще информации, то просто порадовало:


Возможности для пользователей:

Open Shortest Path First

Дополнил статью по настройке quagga.

Добавил описание настройки для поддержки протокола OSPF, чтобы маршрутизаторы динамически обменивались между собой информацией о доступных сетях. Для настройки комментариев более чем предостаточно. Полное описание протокола OSPF также можно найти на страницах этого ресурса.

Ncdu - определяем размер каталогов

Для определения размеров файлов и каталогов можно использовать утилиту du, которая поставляется вместе с системой, но не все довольны ее функционалом и удобством работы. Если есть несколько минут, рекомендую ознакомиться с работой утилиты ncdu, которая тоже предназначена для определения размера файлов и каталогов.

Устанавливать утилиту будем из системы портов, благо утилита небольшая и устанавливается очень быстро:

# cd /usr/ports/sysutils/ncdu/ && make install clean

 По завершению установки не забываем обновить пути:

Редирект почты root-а на другой e-mail

Рассмотрим казалось бы банальную вещь - электронную корреспонденция root-а...
Есть некоторые неудобства в том, чтобы раз в день (или раз в несколько дней) подключаться в очередной раз к удаленной консоли для того, чтобы просмотреть отчеты, которые пришли на почту к root-у. Соответственно, было бы неплохо, чтобы кореспонденция для root-а отправлялась на какой-то независимый e-mail. Не будем забывать о том, что по умолчанию, после установки FreeBSD, у нас уже запущен и работает почтовый сервер на базе Sendmail (правда по умолчанию он сконфигурирован только для работы на loopback-интерфейсе). Убедиться в этом можно, подключившись на 25 порт и отправив тестовое сообщение. О том, как это сделать написано здесь.

IPCad + NetFlow - собираем и "сливаем" статистику траффика

Собственно есть настроенный сервер статистики. Статистика с маршрутизаторов сливается на сервер по NetFlow с помощью самописного скрипта и использованием netgraph.  Решил этот скрипт вынести и сливать потоки с помощью ipcad.

Приступаем к установке ipcad из системы портов:

# cd /usr/ports/net-mgmt/ipcad && make install clean

По завершению установки, следуя инструкциям, добавляем в rc.conf строку запуска:

# echo '### IPCAD' >> /etc/rc.conf
# echo 'ipcad_enable="YES"' >> /etc/rc.conf

RSS-материал

Вставай, Україно!

Литература