Настройка прокси сервера на centos 7 (squid+ad+sams2)

Как установить репозиторий EPEL

Проверить подключен ли в вашей системе репозиторий EPEL можно следующим образом:

# yum repolist

И если в выдаче присутствуют строки epel Extra Packages for Enterprise Linux , то репозиторий EPEL установлен в системе:

# rpm -Uvh http://mirror.yandex.ru/epel/6/i386/epel-release-6-8.noarch.rpm

либо с официального сайта:

# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

в зависимости от разрядности вашей операционной системы можно поменять в адресе i386 на x86_64. Но этого делать совсем не обязательно, команда должна работать при любой разрядности.
Чтобы убедиться в результате еще раз выполним:

# yum repolist

После чего можно приступать непосредственно к установке анонимного прокси сервера 3proxy:

# yum install 3proxy

Настройка 3proxy на CentOS

Перед первым запуском необходимо внести коррективы в файл конфигурации /etc/3proxy.cfg установив значения для своего сервера:


————-3proxy.cfg————-
# ВНИМАНИЕ !! не должны быть пробелов
# перед любыми опциями конфигурации !!

# ip адрес DNS сервера провайдера или локального
# я использую DNS от Google
nserver 8.8.8.8
timeouts 1 5 30 60 180 1800 15 60

# создаем пользователя vasyaproxy
# и назначаем пароль 12345
# естественно нужно использовать сложный пароль
users vasyaproxy:CL:12345

# лог файл со списком запросов пользователей
# будет создаваться каждый день новый
log /usr/local/3proxy/logs/3proxy.log D
logformat «%d-%m-%Y %H:%M:%S %U %C:%c %R:%r %O %I %T»

# внешний интерфейс
# (через который будут уходить запросы от сервера)
# я использую ip адрес моего сервера
external 0.0.0.0

# ip адрес интерфейса на котором будут приниматься
# запросы от клиентов
# я использую ip адрес моего сервера
internal 0.0.0.0

# устанавливаем тип авторизации по имени и паролю
auth strong
# разрешаем доступ к портам 80,8080-8088
allow * * * 80,8080-8088

# запускаем службу HTTP proxy на порту (3128 и
# -n c отключенной NTLM авторизацией)
# -a запускаем как анонимный сервер
proxy -p3128 -n -а

————————————

Ваш реальный конфиг будет отличаться, я указал лишь минимальные настройки для запуска анонимного прокси сервера. Все остальные параметры можно оставить в значениях по-умолчанию.
Если все верно, то запускаем 3proxy:

# service 3proxy start

И посещаем проверялки на анонимность:

Предостережения

MTProxy и rkhunter

Двоичный файл mtproxy, скорее всего, подключится к исходящему порту 47018, среди прочих. Эта деятельность может быть помечена rkhunter. Например, вы можете увидеть это предупреждение, генерируемое им:

Если вы выполните это предложение и запустите lsof -i | grep 47018, вы можете узнать IP-адрес, к которому он подключается, используя этот порт. Например 91.108.4.195, и если вы посмотрите этот удаленный IP-адрес через whois 91.108.4.195 | grep netname, вы получите netname: Telegram_Messenger_Network.

Таким образом, это нормальная деятельность MTProxy, устанавливающего соединение с удаленными серверами Телеграмм. Вы можете внести это в белый rkhunterсписок в своей конфигурации. Создайте каталог /etc/rkhunter.d/ и файл /etc/rkhunter.d/mtproxy.conf внутри него только с этим содержимым:

PORT_PATH_WHITELIST=/usr/bin/mtproxy:TCP:47018

Вот и все. При следующем запуске rkhunter, не будет отмечать это действие:

MTProxy и ну…, телеграмма!

MTProxy должен регулярно получать последнюю конфигурацию Telegram network, которая состоит из информации об удаленных серверах Telegram. Файл конфигурации сети Telegram находится внутри /usr/share/mtproxy/proxy-multi.conf.

Эта конфигурация сети извлекается с помощью ежедневного задания cron, script: /etc/cron.daily/mtproxy. Он автоматически устанавливается вместе с mtproxyпакетом. Так что вам не нужно ничего делать с этой стороны.

Обратите внимание, что” stock ” MTProxy не может изящно перезагрузить свою конфигурацию, когда новая конфигурация получена. Другая проблема с stock MTProxy – это высокая загрузка ЦП. Это основные причины, по которым мы строим пакет MTProxy против Community fork сейчас. Пакет MTProxy обеспечивает изящную перезагрузку конфигурации и скромное использование процессора

Пакет MTProxy обеспечивает изящную перезагрузку конфигурации и скромное использование процессора.

Как отключить ipv6

В настоящее время активного использования протокола ipv6 в России нет и в обычной работе он чаще всего не нужен. Хотя нас уже много лет пугают, что свободных ip адресов уже практически не осталось, но на деле пока еще всем хватает. Так что с точки зрения практических соображений ipv6 в настоящее время на сервере не нужен и его можно отключить.

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

Все строки с ::: это ipv6 протокол. В моем случае это sshd, postfix и chronyd. Отключим им ipv6 и оставим только ipv4.

Начнем с sshd. Открываем файл настроек /etc/ssh/sshd_config и находим строки:

Раскомментируем их и изменим. Должно получиться вот так:

Теперь открываем файл настроек постфикс /etc/postfix/main.cf. Ищем там строку:

Меняем на:

Отключаем ipv6 в chronyd. Для этого создаем файл /etc/sysconfig/chronyd и добавляем строку:

Теперь отключаем ipv6 в CentOS. Открываем файл /etc/sysctl.conf и добавляем туда строки:

Редактируем файл /etc/sysconfig/network, добавляя туда:

Добавляем запрет на работу ipv6 в конфигурацию grub. Открываем конфиг /etc/default/grub и добавляем к параметру GRUB_CMDLINE_LINUX еще одно значение ipv6.disable=1. Должно получиться примерно так:

После этого обновляем конфиг загрузчика.

Перезагружаемся и проверяем результат:

Нигде нет упоминания про inet6 и адреса формата ipv6. Значит все в порядке, мы отключили ipv6 в CentOS. Теперь проверим список открытых портов:

Все порты ipv4. Все в порядке, наша задача выполнена.

3. Test the settings

In order to check if proxy settings are configured properly, run some yum command, for example, try to use:

The output of this command will show you a list with details of all available packages named dovecot:

Congratulations. You have successfully configured proxy server for yum command on CentOS 7.

Of course, you don’t have to enable proxy settings for yum command on CentOS 7, if you use one of our Managed CentOS VPS Hosting Solutions, in which case you can simply ask our expert Linux admins to configure the use of a proxy server so you can use yum command for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post on how to enable proxy settings for yum command on CentOS 7,  please share it with your friends on the social networks using the buttons on the left or simply leave a reply below. Thanks.

Использование Yum с прокси-сервером

Для того чтобы заставить Yum работать через прокси-сервер необходимо добавить следующий параметр в /etc/yum.conf:

proxy=http://yourproxy:8080/

где — yourproxy это имя прокси-сервера, а 8080 это порт прокси-сервера. Если сервер требует аутентификации, вы можете указать логин как:

proxy=http://username:password@yourproxy:8080/

RPM Package Manager позволяет использовать прокси-переменные среды. Это может быть задано в /etc/profile или специфизированно для конкретного пользователя в файле ~/.bash_profile::

export http_proxy=http://yourproxy:8080/
export ftp_proxy=http://yourproxy:8080/

Для использования wget через прокси-сервер, добавте следующие строки в /etc/wgetrc

http_proxy = http://yourproxy:8080/ 
ftp_proxy = http://yourproxy:8080/ 

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

Дополнительные материалы по Zabbix

Онлайн курс по Linux

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.

Что даст вам этот курс:

  • Знание архитектуры Linux.
  • Освоение современных методов и инструментов анализа и обработки данных.
  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.

Проверьте себя на вступительном тесте и смотрите подробнее программу по .

Рекомендую полезные материалы по Zabbix:
Настройки системы
  • Установка 4.0
  • Обновление 3.0 -> 3.2
  • Обновление 3.4 -> 4.0
  • Установка Zabbix Proxy
  • Работа на NGINX

Видео и подробное описание установки и настройки Zabbix 4.0, а также установка агентов на linux и windows и подключение их к мониторингу.

Подробное описание обновления системы мониторинга zabbix версии 3.4 до новой версии 4.0.

Пошаговая процедура обновления сервера мониторинга zabbix 2.4 до 3.0. Подробное описание каждого шага с пояснениями и рекомендациями.

Подробное описание установки и настройки zabbix proxy для организации распределенной системы мониторинга. Все показано на примерах.

Подробное описание установки системы мониторинга Zabbix на веб сервер на базе nginx + php-fpm.

Мониторинг служб и сервисов
  • Температура процессора
  • Nginx и php-fpm
  • Mysql репликация
  • Службы Linux
  • Рейд mdadm
  • Транки Asterisk
  • Synology

Мониторинг температуры процессора с помощью zabbix на Windows сервере с использованием пользовательских скриптов.

Настройка полноценного мониторинга web сервера nginx и php-fpm в zabbix с помощью скриптов и пользовательских параметров.

Мониторинг репликации mysql с помощью Zabbix. Подробный разбор методики и тестирование работы.

Описание настройки мониторинга tcp служб с помощью zabbix и его инструмента простых проверок (simple checks)

Настройка мониторинга рейда mdadm с помощью zabbix. Подробное пояснение принципа работы и пошаговая инструкция.

Подробное описание мониторинга регистраций транков (trunk) в asterisk с помощью сервера мониторинга zabbix.

Подробная инструкция со скриншотами по настройке мониторинга по snmp дискового хранилища synology с помощью сервера мониторинга zabbix.

Мониторинг различных значений
  • Мониторинг сайта
  • Мониторинг бэкапов
  • Размер бэкапа
  • Делегирование домена
  • Значения из текстового файла
  • Мониторинг логов

Настройка мониторинга web сайта в zabbix. Параметры для наблюдения — доступность сайта, время отклика, скорость доступа к сайту.

Один из способов мониторинга бэкапов с помощью zabbix через проверку даты последнего изменения файла из архивной копии с помощью vfs.file.time.

Подробное описание настройки мониторинга размера бэкапов в Zabbix с помощью внешних скриптов.

Пример настройки мониторинга за временем делегирования домена с помощью Zabbix и внешнего скрипта. Все скрипты и готовый шаблон представлены.

Пример распознавания и мониторинга за изменением значений в обычных текстовых файлах с помощью zabbix.

Описание мониторинга лог файлов в zabbix на примере анализа лога программы apcupsd. Отправка оповещений по событиям из лога.

Востановление только истинных репозиториев CentOS yum

Некоторые системные администраторы считают, что они лучше понимают систему и вносят изменения в конфигурацию yum файлов. Внеся измкенения и отредактировав для разрешения использования не CentOS репозиториев. В этом разделе описывается подход к откату в нормальное состояние.

Чистые версии необходимых файлов содержаться в пакете centos-release. Одним из решений является ручное получение копии этого пакета, а также востановление только файлов в директории /etc/yum.repos.d. Очевидно, что /etc/yum.conf и другие файлы, возможно, необходимо изменить для аналогичного подхода в востановлении.

В этом примере, мы предпологаем, что у нас релиз CentOS 4 и мы получим надлежащий centos-release rpm в директорию /tmp с помощью wget:

$ # ... в качестве обычного пользователя
$ cd /tmp
$ mkdir unpack
$ wget http://mirror.centos.org/centos-4/4.6/os/i386/CentOS/RPMS/centos-release-4-4.4.i386.rpm
$ mkdir -p /tmp/unpack/var/lock/rpm/
$ #  это очень редкий случай (где 'out of tree' RPM --root), где происходит
$ #   не надлежащее использование опции --nodeps
$ sudo rpm -Uvh --root /tmp/unpack/ --nodeps centos-release*rpm
$ # ... становимся root-ом
$ su -
# cd /etc/yum.repos.d/
# mkdir attic
# mv * attic/
# cp /tmp/unpack/etc/yum.repos.d/* .

вы получаете настройку чистого CentOS репозитория еще раз. Так как мы сделали распаковку «из дерева» новой конфигурации, то после завершения работ мы выполним уборку после себя: выполнив rm -rf /tmp/unpack.

Установка Zabbix proxy

Перед установкой добавлю еще пару слов о работе proxy. Прокси серверу нужна отдельная локальная база данных, которая никак не связана с базой основного сервера мониторинга. Я для простоты в качестве такой базы использую sqlite. Для proxy этого вполне достаточно. Так что наша установка будет разделена на этапы:

  1. Непосредственно установка zabbix proxy.
  2. Создание базы данных.
  3. Подключение к основному серверу мониторинга.
  4. Подключение zabbix agent через zabbix proxy.

Приступаем к установке. Подключаем репозиторий заббикса:

# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

Устанавливаем прокси и агента. Агент, кстати, ставить не обязательно, но я обычно ставлю, чтобы мониторить сам сервер.

# yum install –y zabbix-agent zabbix-proxy-sqlite3

Распаковываем файл со схемой базы:

# gunzip /usr/share/doc/zabbix-proxy-sqlite3-3.0.4/schema.sql.gz

Обращаю внимание на выделенную часть пути. Когда вы будете устанавливать zabbix proxy, версия может быть уже другой, а соответственно и путь к папке

Не забудьте его изменить на актуальный.

Создаем папку для базы данных и саму базу:

# mkdir /var/lib/sqlite
# sqlite3 /var/lib/sqlite/zabbix.db < /usr/share/doc/zabbix-proxy-sqlite3-3.0.4/schema.sql

Устанавливаем владельцем базы заббикс:

# chown -R zabbix. /var/lib/sqlite

На этом установка заббикс прокси закончена. Мы все подготовили, теперь ее надо правильно настроить и подключить к серверу. Займемся этим.

Как вывести список установленных пакетов

Установленные пакеты могут показать команды

yum list installed

или

rpm -qa

Пример, порлучить список установленных пакетов из репозитория IUS:

# yum list installed | grep ius

php71u-cli.x86_64      7.1.17-1.ius.el6 @ius                                    
php71u-common.x86_64   7.1.17-1.ius.el6 @ius                                    
php71u-embedded.x86_64 7.1.17-1.ius.el6 @ius                                    
php71u-fpm.x86_64      7.1.17-1.ius.el6 @ius                                    
                       7.1.17-1.ius.el6 @ius                                    
php71u-gd.x86_64       7.1.17-1.ius.el6 @ius                                    
php71u-intl.x86_64     7.1.17-1.ius.el6 @ius                                    
php71u-json.x86_64     7.1.17-1.ius.el6 @ius                                    
php71u-mbstring.x86_64 7.1.17-1.ius.el6 @ius                                    
php71u-pdo.x86_64      7.1.17-1.ius.el6 @ius                                    
                       3.4.3-2.ius.el6  @ius                                    
php71u-pgsql.x86_64    7.1.17-1.ius.el6 @ius                                    
php71u-xml.x86_64      7.1.17-1.ius.el6 @ius                                    
php71u-xmlrpc.x86_64   7.1.17-1.ius.el6 @ius

Принцип настройки

Конфигурирование HAProxy выполняется в файле /etc/haproxy/haproxy.cfg. Все основные настройки находятся в 4-х секциях:

  1. global. Глобальные настройки, распространяемые на все публикации.
  2. defaults. Настройки, применяемые по умолчанию, если они не указаны явно в публикации.
  3. frontend. Правила обработки запросов, приходящих на сервер и передачи этих запросов серверам backend. Может быть несколько.
  4. backend. Настройка конечных серверов, которые обрабатывают запросы и возвращают результаты. Может быть несколько.

Также есть возможность создать дополнительные секции, например userlist.

Настройка frontend

При настройке прослушивания внешних запросов, основное, что мы указываем:

  • IP-адрес и порт прослушивания.
  • Правила, по которым обрабатываются запросы.
  • Группы серверов, на которые будет перекинут запрос.

Пример:

frontend balance_http
    bind 192.168.0.15:80
    acl url_stat       path_end       -i .css .js
    use_backend static          if url_stat
    default_backend webserver

* в данном случае мы слушаем веб-запросы и если они идут на файлы с расширениями .css или .js, передаем запрос на бэкэнд с название static. Все остальные запросы передаем на бэкэнд webserver.* где balance_http — название фронтэнда; bind 192.168.0.15:80 — слушаем на адресе 192.168.0.15, порту 80; url_stat — название правила; use_backend static   if url_stat — правило обработки, при котором запросы, попавшие под действие правила url_stat, должны быть обработаны бэкэндом static; default_backend — указывает, какой бэкэнд будет использоваться по умолчанию.

Настройка backend

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

  1. Как распределяется нагрузка между серверами. Доступны варианты:
    • roundrobin — серверы используются по очереди. Нагрузка распространяется равномерно, в зависимости от указанного веса. Вес может быть изменен на лету.
    • static-rr — серверы используются по очереди. Нагрузка распространяется равномерно, в зависимости от указанного веса. Вес не может быть изменен на лету.
    • lessconn — запросы идут к серверу с наименьшим количеством активных подключений.
    • source — запросы от одного и того же IP-адреса идут на один и тот же сервер.
    • uri — запросы с одним и тем же URL (до знака вопроса) будут переправляться на один и тот же сервер.
    • url_param — запросы с одинаковыми параметрами GET (все, что после знака вопроса) будут переправляться на один и тот же сервер.
  2. На какие именно серверы передавать запросы.

Пример:

backend webserver
    balance     roundrobin
    server  server1 192.168.0.20:80 check
    server  server2 192.168.0.30:80 check

* где webserver — название бэкэнда; balance — опция определения алгоритма распределения запросов между серверами; server — указывает имя и IP-адрес сервера, на который передается запрос; check  — указываем, что необходимо проверять состояние сервера.
* для работы достаточно и одного сервера, но несколько добавят отказоустойчивости. 

После внесения изменений в настройку HAProxy, необходимо перезапустить сервис:

systemctl restart haproxy

или просто перечитать настройки:

systemctl reload haproxy

Брандмауэр

Для корректной работы сервера, не забываем открывать соответствующие порты. Например, для обработки http и https запросов вводим следующие команды:

firewall-cmd —permanent —add-port=80/tcp

firewall-cmd —permanent —add-port=443/tcp

firewall-cmd —reload

Подробнее про настройку брандмауэра в Linux при помощи firewalld и iptables.

Cледующие команды доступны после установки пакета yum-utils

найти из какого репозитория установлен пакет

найти процессы, пакеты которых обновлены и требуют рестарта

запрос к репозиторию, узнать зависимости пакета, не устанавливая его

синхронизировать yum репозиторий updates в локальную директорию repo1

проверить локальный репозиторий на целостность

завершить транзакции

установить необходимые зависимости для сборки RPM пакета

управление конфигурационными опциями и репозиториями yum 

запрос к локальной базе yum, отображение информации о пакете (использованная команда, контрольная сумма, URL с которого был установлен и другое)

скачать rpm пакеты из репозитория

скачать src.rpm пакет из репозитория(должен быть подключен соответствующий репозиторий, например в ‘/etc/yum.repos.d/CentOS-Sources.repo’ в CentOS)

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: