Интернет шлюз на линукс (Ubuntu) Избранное

Оцените материал
(4 голосов)

За основу был взят дистрибутив Ubuntu 12.04 и SQUID3+SAMS

SQUID: программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS

SAMS: SQUID Account Management System - это программное обеспечение, позволяющее производить контроль и управление пользователями через прокси-сервер, а так же сбор статистики и ведение отчетности потребления трафика.

Предварительно мы должны установить все необходимые компоненты.

В качестве базы данных будем использовать MySQL 5.
В качестве веб-сервера apache + php5.
В качестве прокси сервера squid3
Управление прокси сервером будем осуществлять посредством SAMS (версия 1.0.5 как наиболее стабильная)

1. Устанавливаем все необходимые компоненты в ручную:

sudo su
apt-get update

(обновление информации о пакетах в репозиториях)

apt-get upgrade

(обновление уже установленных пакетов)

apt-get install apache2 apache2-doc apache2-utils ssl-cert mysql-server libmysqlclient15-dev libapache2-mod-php5 php5 php5-common php5-dev php5-mcrypt php5-imagick php5-mysql php5-gd squid libpcre3 libpcre3-dev mc

(установка требуемых пакетов, включая WEB-сервер и базы данных SQL : apache,php,mysql)

Во время установки появится запрос пароля для MySQL администратора (root).

Кроме того потребуется библиотека libmysqlclient16_5.1.73-0ubuntu0.10.04.1_i386.deb (либо libmysqlclient16_5.1.73-0ubuntu0.12.04.1_amd64.deb в зависимости от разрядности установленной системы). Этой библиотеки нет в репозитории, поэтому нужно скачивать и устанавливать отдельно.

wget http://security.ubuntu.com/ubuntu/pool/main/m/mysql-dfsg-5.1/libmysqlclient16_5.1.73-0ubuntu0.10.04.1_i386.deb
dpkg --install libmysqlclient16_5.1.73-0ubuntu0.10.04.1_i386.deb

или для 64-битной версии

wget http://security.ubuntu.com/ubuntu/pool/main/m/mysql-dfsg-5.1/libmysqlclient16_5.1.73-0ubuntu0.10.04.1_amd64.deb
dpkg --install libmysqlclient16_5.1.73-0ubuntu0.10.04.1_amd64.deb

2. Установка SQUID3

apt-get install squid

Настраиваем его:

nano /etc/squid3/squid.conf

Раскоментим строки

acl localnet scr 192.168.0.0/24 — вводим нашу подсеть (вводите свою).

http_access allow localnet — разрешаем подсеть.

access_log /var/log/squid3/access.log squid — разрешаем логи.

pid_filename /var/run/squid3.pid — указываем pid файл squid.

cache_log /var/log/squid3/cache.log — лог cache.

cache_dir ufs /путь к папке cache/ — тут указываем, где будет размещаться папка с cache.

coredump_dir /var/spool/squid3

(После вноса изменений нажать Ctrl+X, затем Y и Enter - чтобы сохранить файл и закрыть редактор)

Теперь запускаем squid:

squid3 -z
squid3 -k reconfigure

Для проверки прописываем наш прокси у себя в проводнике (ip + port 3128) и пробуем работу интернет.

3. Установка и настройка SAMS

Воспользуемся готовыми deb пакетами под Debian.

cd /usr/src/
wget http://www.nixdev.net/release/sams/packages/xUbuntu_9.10/i386/sams_1.0.5_i386.deb
wget http://www.nixdev.net/release/sams/packages/xUbuntu_9.10/all/sams-doc_1.0.5_all.deb
wget http://www.nixdev.net/release/sams/packages/xUbuntu_9.10/all/sams-web_1.0.5_all.deb
dpkg -i sams_1.0.5_i386.deb
dpkg -i sams-doc_1.0.5_all.deb
dpkg -i sams-web_1.0.5_all.deb

Для х64 серверов для скачки использовать те же ссылки, но поменять в первой i386 на x64.

nano /etc/init.d/sams

— меняем SAMS_ENABLE=false на true

4. Создание и настройка баз данных MySQL:

mysql -u root -p

- заходим в mysql администратором

GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "ПАРОЛЬ";
GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "ПАРОЛЬ";

- вместо ПАРОЛЬ ввести собственный пароль для нового пользователя sams.

(\q — выходим из MySQL.)

nano /etc/sams.conf

— вписываем наш пароль в поле MYSQLPASSWORD=

cd /usr/share/sams/mysql/

В этой папке находятся скрипты для создания баз дынных. Но для начала их нужно подредактировать. Для этого в sams_db_sql и в squid_db_sql найдем все строчки TYPE=MyISAM и меняем их на ENGINE=MyISAM

Теперь выполняем скрипты:

./create_sams_db
./create_squid_db

5. Настройка PHP:

nano /etc/php5/apache2/php.ini

— включаем safe mod (safe_mode = On).

safe_mode_exec_dir = "/usr/share/sams/bin"

— нужно для выполнения системных команд sams.

6. Донастройка SAMS:

Для правильной работы SAMS, нужно подкорректировать два файла.

nano /usr/share/sams/src/webconfigtray.php

- закомментируем функцию:

/* function GetHostName()
{
if (!($value=getenv('SERVER_NAME')))
{ $value="N.A."; }
return($value);
}
*/

И тоже самое нужно выполнить в:

nano /usr/share/sams/src/configtray.php

Теперь перезагружаем сервер и пробуем зайти http://ip/sams

Логин admin пароль qwerty

Далее переходим к настройке SAMS из панели управления.

Важно!

Часто возникают ошибки в /var/log/syslog:

Reading request to reconfigure SQUID
Reconfigure & restart SQUID... Error

при реконфигурации squid из sams.

Так как squid у нас уже squid3, а проект sams закрылся не успев поменять исходники samsdaemon. Создаем симлинк на новое имя squid.

sudo ln -s /usr/sbin/squid3 /usr/sbin/squid

Теперь реконфигурация squid из sams будет проходить успешно.

Материал набран в том числе отсюда

Добавить комментарий


Комментарии  
Артур
0 # Артур 08.08.2014 23:14
Спасиба за статью помогла :-)
Ответить | Ответить с цитатой | Цитировать
Яндекс.Метрика

По всем вопросам, связанным с сайтом просьба обращаться на e-mail: pontin@mail.ru