Linux

Опыт:10 лет и более
Дни работы:любой день недели
Время работы:с 8:00 по 22:00
Место работы:по адресу, на выездах и удаленно
Имею постоянную практику ремонта ПК и ноутбуков. Настройка программного обеспечения, ремонт (замена запчастей), чистка от пыли, диагностика и другое. Сборка ПК под ваши нужны и потребности.
 
Контакты:

Описание задачи. Есть сервис, который банит 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.

В сентябре этого года начато восстановление Архангельской группы пользователей операционной системы GNU/Linux (Arkhangelsk Linux User Group, сокр. ALUG).

ALUG — некоммерческое, неформальное объединение пользователей операционной системы GNU/Linux.

Проект ALUG был начат в 2001 году. Cайт группы заработал 21 августа 2001 года. За время, прошедшее с момента создания группы, её активность несколько раз замораживалась из-за нехватки энтузиазма у участников.

Как сообщили инициаторы возрождения группы, ближайшие цели:

  • Восстановить группу
  • Подготовить документацию по ОС GNU/Linux, характерную для нашего региона
На перспективу планируется проведение традиционных для групп пользовтелей Linux мероприятий, таких как линуксовки, Linux Install Party, акции по распространению свободного программного обеспечения, семинары и др.

Новая версия сайта 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, которыми могу поделиться.

Для 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 не работает с другими методами до тех пор, пока не будут внесены соответствующие изменения в его конфигурацию.Далее...