Linux
Описание задачи. Есть сервис, который банит IP за очень активную работу с ним. К нему обращается некая программа. Есть пул IP-адресов, которые можно использовать для исходящих соединений на сервис. Программа-клиент умеет использовать прокси-сервера, авторизуясь на них. Нужно настроить свой прокси, чтобы он принимал входящие соединения от программы и отправлял их с разных IP, которые настроены на сетевом интерфейсе сервера.
Используется сервер с Linux, дистрибутив Centos 7.
Установка squid проста:
yum install squid -y systemctl enable squid systemctl start squid
Есть несколько способов настройки squid. Опишу пару.
Первый способ - это использование авторизации на прокси.
Второй - без авторизации, входящие соединения клиентов принимаются на разных портах Squid.
Итак, первый способ.
Пусть у нас будет только 2 пользователя: user1 и user2, то есть им нужно иметь каждому свой исходящий адрес squid.
Создаём файл с паролями пользователей squid и добавляем пользователя username1 с паролем password1:
htpasswd -bc /etc/squid/passwd.squid username1 password1
В уже созданный файл с паролями пользователей squid добавляем пользователя username1 с паролем password1:
htpasswd -b /etc/squid/passwd.squid username2 password2
Редактируем файлик /etc/squid/squid.conf:
acl SSL_ports port 443 acl Safe_ports port 80# http acl Safe_ports port 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 CONNECT method CONNECT # Включаем с типом basic. Указываем параметр для это типа аутентификации program и путь к программе, которая выполняет проверку - /usr/lib64/squid/basic_ncsa_auth. Она в свою очередь имеет параметр - файл пользователей и паролей /etc/squid/passwd.squid. auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd.squid # Включаем аутентификацию в конфиге с типом basic. Указываем параметр для это типа аутентификации program и путь к программе, которая выполняет проверку - /usr/lib64/squid/basic_ncsa_auth. Она в свою очередь имеет параметр - файл пользователей и паролей /etc/squid/passwd.squid. auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd.squid #Разруливаем авторизованных пользователей на разные исходящие IP-адреса acl user1 proxy_auth user1 acl user2 proxy_auth user2 #Разрешаем пользователю user1 доступ http_access allow user1 # Устанавливаем для user1 исходящий адрес 1.2.11.111 tcp_outgoing_address 1.2.11.111 user1 http_access allow user2 tcp_outgoing_address 1.2.11.112 user2 http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localhost http_access deny all http_port 1.2.11.111:3128
Перезапускаем squid:
systemctl restart squid или переконфигурируем: squid -k reconfigure
Теперь пользователь user1 выходит в мир с внешним адресом 1.2.11.111, а user2 - 1.2.11.112.
Второй способ не требует авторизации. Доступ к прокси-серверу осуществляется без авторизации из локальной сети с распределением исходящих адресов в зависимости от того, какой порт выбран при обращении к Squid.
Также редактируем /etc/squid/squid.conf:
acl localnet src 10.39.0.0/16# определяем локальную сеть (ограничиваем доступ только ею, так как у нас нет авторизации) acl SSL_ports port 443 acl Safe_ports port 80# http acl Safe_ports port 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 CONNECT method CONNECT http_port 1.2.11.111:3128 name=3128 # указываем на каком порту слушать входящие подключения клиентов http_port 1.2.11.111:3129 name=3129 # Создаём правило changeip3128 для обращении на порт 3128 с компьютеров сети localnet acl changeip3128 myportname 3128 src localnet # Разрешаем по этому правилу changeip3128 доступ http_access allow changeip3128 # Устанавливаем исходящий адрес запроса будет 1.2.11.111 для правила changeip3128 tcp_outgoing_address 1.2.11.111 changeip3128 acl changeip3129 myportname 3129 src localnet http_access allow changeip3129 tcp_outgoing_address 1.2.11.112 changeip3128 http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localhost http_access deny all
Перезапускаем squid:
systemctl restart squid или переконфигурируем: squid -k reconfigure
Получаем, что при обращении клиента на порт 3128 исходящий адрес будет 1.2.11.111, а на 3129 - 1.2.11.111.
Возрождение ALUG
В сентябре этого года начато восстановление Архангельской группы пользователей операционной системы GNU/Linux (Arkhangelsk Linux User Group, сокр. ALUG).
ALUG — некоммерческое, неформальное объединение пользователей операционной системы GNU/Linux.
Проект ALUG был начат в 2001 году. Cайт группы заработал 21 августа 2001 года. За время, прошедшее с момента создания группы, её активность несколько раз замораживалась из-за нехватки энтузиазма у участников.
Как сообщили инициаторы возрождения группы, ближайшие цели:
- Восстановить группу
- Подготовить документацию по ОС GNU/Linux, характерную для нашего региона
Новая версия сайта ALUG, к сожалению, не сохранила предыдущие форумы и обсуждения, поэтому пока информации на сайте совсем мало. Тем не менее, в разделах Wiki уже есть документация по настройке доступа в интернет через Архангельских провайдеров, а на форуме обсуждают пути и способы дальнейшего развития группы.
Участники ALUG призывают единомышленников принять активное участие в проекте.
Подключение к АТК-интернет из Linux
Для подключения к сети интернет через провайдера "Архангельская телевизионная компания" Linux требуется:
- установить VPN-клиент pptp (Point-to-Point Tunneling Protocol (PPTP) Client обычно присутствует на диске с дистрибутивом, но часто не устанавливается в стандартной конфигурации);
- внести параметры подключения в файл /etc/ppp/chap-secrets;
- создать командный файл, в котором выполняется подключение к серверу доступа провайдера и создаются маршруты и сделать его запускаемым;
- выполнить командный файл с правами root.
15 октября 2007 года было компания Caninical Ltd. официально объявила о выпуске Ubuntu 7.10 (Gutsy Gibbon). Файлы дистрибутивов доступны для скачивания с 18 октября.
Изменения в дистрибутиве, точнее дистрибутиве пользовательской версии, безусловно полезные:
- поддержка записи на NTFS изначально, "из коробки";
- улучшенная поддержка второго монитора (проектора);
- улучшена настройка plug-and-play для принтеров и сетевых карт Broadcom;
- улучшен интерфейс (3D-эффекты и улучшена графика);
- добавлена полноценная настольная поисковая система, которая позволяет искать все виды файлов;
- автоматическая установка популярных расширений для Firefox.
Изменения серверной версии можно и изменения других версий можно посмотреть на сайте Ubuntu.
Я уже скачал новый дистрибутив desktop-версии для i386. Поэтому обновляю список дистрибутивов Linux, которыми могу поделиться.
Настроить прокси для php pear
Для linux-систем нужно просто дать команду в shell (предполагается, что php установлен с pear и исполняемые файлы находятся по стандартным путям):
pear config-set http_proxy http://proxy-server.ru:3128
Просмотреть установки прокси:
pear config-get http_proxy
Для Windows-систем и php4 нужно запустить go-pear.bat (в каталоге php) и ввести прокси-сервер, когда будет задан вопрос об этом.
Исходная задача: есть сервер в локальной сети с Linux на него нужно с использованием SVN установить некоторое программное обеспечение из интернета. Доступ в интернет из сети осуществляется через прокси-сервер Squid.
Решение найдено здесь: Subversion (SVN) through proxy. Приведу примерный перевод.
SVN обычно работает через протокол HTTP и использует большее количество методов нежели обычные клиенты c GET и POST. А широко распространённый сервер Squid не работает с другими методами до тех пор, пока не будут внесены соответствующие изменения в его конфигурацию.Далее...