Данный тандем поможет организовать:
- общий доступ в Интернет
- учет трафика HTTP/FTP
- защиту от внешних угроз путем настройки фаервола
- кеширование HTTP трафика для быстрой загрузки часто используемых страниц
- запреты на посещение сайтов (например сайт одноглазников)
Эта записка будет полезна начинающим "Линуксоидам", потому что "Хард Линуксоиды" предпочитают написания правил IPtables своими руками, что на самом деле изначально правильно. Но начинающим тяжело разбираться с правилами, поэтому данная записка ориентирована именно на зеленных пингвинов
Связка состоит из следующих звеньев:
1. VuurMuur -это мощный Firewall-менеджер, представляющий собой надстройку над Iptables для Linux. Vuurmuur обладает простым и легким для изучения интерфейсом настройки, позволяющим создавать и простые, и сложные конфигурации.
Конфигурация может быть полностью произведена при помощи графического интерфейса на базе ncurses, который позволяет обеспечить удаленное администрирование через SSH или консоль.
Vuurmuur поддерживает формирование трафика, обладает мощными функциями мониторинга, которые позволяют администратору следить за логами, соединениями и трафиком в режиме реального времени.
2. Squid - программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS
3. SAMS - это система для управления доступа пользователей через прокси сервер к ресурсам интернет. Она идеально подходит для использования как в частных фирмах так и в государственных учреждениях. Всю работу по проксированию, пере направлению запросов, кэшированию и авторизации берет на себя proxy-сервер Squid, а SAMS занимается учетом трафика и управлением пользователями
Задача: Дать доступ в Интернет локальной сети из 10 компьютеров.
Кроме доступа вы можете в будущем поставить запреты на посещения не желательных сайтов и лимиты по трафику.
Раз объем всю установку и настройку на шаги:
1. Установка SQUID
2. Установка не достающих пакетов
3. Установка SAMS
4. Настройка SAMS
5. Проверка работы SAMS и SQUID
6. Установка и настройка VuurMuur
7. Установка и настройка BIND для организации кэширующего DNS сервера
8. Настройка прозрачного прокси и проверка доступности Интернета на клиентском компьютере
Приступим!
1. Установка SQUID
Установим Squid:
yum install squid -y
2. Установка не достающих пакетов
Установим не достающие пакеты:
yum install php mysql php-mysql mysql-server php-gd php-ldap -y
3. Установка SAMS
Скачаем SAMS:
wget http://www.nixdev.net/release/sams/packages/CentOS_5/i386/sams-1.0.5-91.1.i386.rpm
Установим его:
rpm -i sams-1.0.5-91.1.i386.rpm
Рекомендуется включить Safe_Mode чтобы разрешить SAMS обращение к системным фукнциям:
/etc/php.ini -> safe_mode = on
Убрать пароль samspasswd в /etc/sams.conf (MYSQLPASSWORD - поле должно быть пустым.):
/etc/sams.conf -> MSQLPASSWORD =
/etc/squid/squid.conf -> visible_hostname proxy.server
Включим автозагрузку сервисов:
chkconfig --level 35 squid on
chkconfig --level 35 mysql on
chkconfig --level 35 httpd on
chkconfig --level 35 sams on
Запустим необходимые сервисы :
service httpd start
service mysqld start
service squid start
4. Настройка SAMS
Зайдем в Веб Интерфейс набрав в браузере:
http://127.0.0.1/sams
Теперь SAMS должен создать себе базу. Соглашаемся на все.
Запустим демон SAMS:
service sams start
Введем в браузере http://127.0.0.1/sams
По умолчанию логин - admin
и
пароль: qwerty
В меню SAMS -> SAMS Administration:
1. Укажем авторизацию по IP (Identifying pattern of the user )
2. Редиректор встроенный в SQUID (Redirector)
3. Сохранять логи SQUID в базе данных (Insert SQUID logs in database)
Создадим новый шаблон шелкнув в правом фрейме
SAMS -> User Tamplates -> Add Template
Назовем его User_Template
user_access_to_squid - ставим IP (авторизация по IP)
Добавим пользователя
и лимит трафика
Осталось реконфигурировать SQUID для работы с новыми настройками:
5. Проверка работы SAMS и SQUID
Осталось проверить есть ли Интернет на компьютере с IP адресом 10.168.50.10
Для этого надо присвоить сетевому адаптеру IP адрес 10.168.50.10 с маской 255.255.255.0
А также настроить браузер для работы со SQUID
Главная задача решена, у пользователей появился Интернет.
6. Установка и настройка VuurMuur
Осталось решить вопрос безопасности нашего сервера, для этого нам нужно установить и сконфигурировать VuurMuur.
Устанавливаем не дастающие библиотеки:
yum install automake autoconf autoconf gcc gettext gettext-devel libtool which gcc-c++ ncurses-devel -y
wget ftp://ftp.vuurmuur.org/releases/0.7/Vuurmuur-0.7.tar.gz
tar xvfz Vuurmuur-0.7.tar.gz
cd Vuurmuur-0.7
./install.sh --install --defaults
После этой команды надстройка будет уставновлена, чтобы запускать ее как сервис скопируйте скрипт из папка "/usr/share/vuurmuur/scripts/vuurmuur-initd.sh" в папку "/etc/init.d/" командой:
cp /usr/share/vuurmuur/scripts/vuurmuur-initd.sh /etc/init.d/
chkconfig vuurmuur-initd.sh --add
chkconfig vuurmuur-initd.sh on
После подправим права на файл,
chmod 755 /etc/init.d/vuurmuur-initd.sh
Перезагрузим компьютер:
reboot
Также можно установить скрипт Logograte от VuurMuur:
cp /usr/share/vuurmuur/scripts/vuurmuur-logrotate /etc/logrotate.d/
Запустим конфигуратор:
vuurmuur_conf
Приступим к настройке интерфейсов, зон и правил.
Интерфейсы
Сетевая карта смотрящая в Интернет
Interfaces -> нажимаем кнопку Ins (новый) -> Вводим имя, WAN - > Далее активируем пробелом, вводим IP адрес (реальный IP, например 192.168.1.2) и обозначение интерфейса в системе (eth0)
Сетевая карта смотрящая в локалку
Interfaces -> нажимаем кнопку Ins (новый) -> Вводим имя, LAN - > Далее активируем пробелом, вводим IP адрес (Локальный IP, например 10.168.50.2) и обозначение интерфейса в системе (eth1)
Зоны
Интернет зона (0.0.0.0/0.0.0.0)
Zones -> inet -> Здесь видим зону Интернет internet 0.0.0.0/0.0.0.0
Нажмем кнопку E (edit), а потом кнопку F6. В открывшемся окне выбираем сетевой карту WAN которую мы добавили в начале.
Локальная зона (10.168.50.0/255.255.255.0)
Zones -> lan -> Здесь мы не видим ни одной зоны, пусто. Добавляем зону локальной сети, например 10.168.50.0/255.255.255.0
После нажимаем кнопку F6 и выбираем сетевую карту которая смотрит в локалку LAN.
Правила
Настроим правила.
Заходим в меню Rules -> Нажимаем клавишу Ins (добавить). Последовательно добавляем следующие правила:
action (действие) |
service (cервис) |
from (откуда) |
to (куда) |
accept |
http |
Firewall |
Internet.inet |
accept |
dns |
Firewall |
Internet.inet |
accept |
squid-pro |
localNet.lan |
Firewall |
Сохраним все настройки, зайдя в меню:
Apply Changes -> OK
Запустим службу VuurMuur:
/etc/init.d/vuurmuur-initd.sh start
Все на этом установка завершена...
На этом этапе можно было закончить!
Но я все таки напишу про настройку кеширующего DNS сервера, а также как настроить режим прозрачного прокси.
7. Установка и настройка BIND для организации кэширующего DNS сервера
Запускаем Terminal (черный экран) который находится в меню: Applications -> Accessories -> Terminal.
Вводим следующие команды:
yum install bind -y
rndc-confgen
Меняем настройки конфигурационного файла BIND:
gedit /etc/named.conf
Изменяем и вставляем недостающие настройки:
listen-on { 127.0.0.1; 10.168.50.2; }; # IP адрес сетевой карты подключенной в локальную сеть, где должен слушать named
allow-query { 127.0.0.1; 10.168.50.0/24; }; # Адрес хоста/локальной сети кому разрешено обращаться
forwarders{123.123.123.123; 8.8.8.8; 8.8.4.4.;}; #dns адреса провайдера и google dns
Сохраняем файлик.
Теперь проверим работу DNS сервера, введя команду:
service named start
Добавим службу named (он же Bind) в автозагрузку:
chkconfig --level 35 named on
8. Настройка прозрачного прокси и проверка доступности Интернета на клиентском компьютере
Настроим VuurMuur как показано на рисунке:
action (действие) |
service (cервис) |
from (откуда) |
to (куда) |
accept | dns |
localNet.lan |
Firewall |
Redirect | http | LocalNet.Lan | firewall(any) |
Accept | http | firewall | internet.inet |
Accept | dns | firewall | internet.inet |
Redirect делаем с порта 80 на порт 3128 (Squid)
Кто хочет ходит без авторизации в Инет, включите режим работы прокси прозрачный :
/etc/squid/squid.conf -> http_port 3128 transparent
На всякий случай перезагрузим шлюз:
reboot
Теперь осталось настроить сетевой адаптер клиентского компьютера:
В браузере убрать галочку -> Использовать прокси сервер.
Проверить Интернет.
_____________
29.11.2011
Выяснилось что проект SAMS остался без разработчика.