Настройка Прокси-Сервера на Linux: Полное Руководство с Squid и Не Только

Что Такое Прокси-Сервер и Зачем Он Нужен в Linux?

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

Базовые Методы Настройки Прокси в Linux

Linux предлагает гибкие варианты интеграции прокси на разных уровнях:

  • Системные настройки (GUI): В Ubuntu перейдите в Settings → Network → Network Proxy. Выберите “Manual” и укажите адрес/порт (например, 192.168.1.10:3128).
  • Переменные окружения (Терминал):
    • Экспортируйте для текущей сессии:
      export http_proxy="http://user:pass@proxy_ip:port"
      export https_proxy="http://user:pass@proxy_ip:port"
    • Для постоянного применения добавьте в ~/.bashrc или /etc/environment.
  • Настройка для конкретных приложений:
    • APT: Создайте файл /etc/apt/apt.conf.d/80proxy с содержимым:
      Acquire::http::Proxy "http://proxy_ip:port";
    • Wget: Добавьте в ~/.wgetrc:
      use_proxy=on
      http_proxy=http://proxy_ip:port

Установка и Настройка Squid Proxy на Linux

Squid — мощный кэширующий прокси с поддержкой HTTP/HTTPS. Установка в Ubuntu/Debian:

  1. Обновите пакеты:
    sudo apt update
  2. Установите Squid:
    sudo apt install squid -y
  3. Настройте конфиг: Откройте /etc/squid/squid.conf в редакторе (nano/vim).
  4. Ключевые параметры:
    • Порт прокси:
      http_port 3128
    • Разрешите доступ для сети (например, 192.168.1.0/24):
      acl local_net src 192.168.1.0/24
      http_access allow local_net
    • Задайте размер кэша:
      cache_dir ufs /var/spool/squid 5000 16 256

      (5000 МБ).

  5. Перезапустите службу:
    sudo systemctl restart squid

Настройка Аутентификации для Squid Proxy

Для ограничения доступа добавьте проверку логина/пароля:

  1. Установите утилиту для паролей:
    sudo apt install apache2-utils
  2. Создайте файл с паролями:
    sudo touch /etc/squid/passwd
    sudo chmod 600 /etc/squid/passwd
  3. Добавьте пользователя:
    sudo htpasswd /etc/squid/passwd username
  4. В /etc/squid/squid.conf добавьте:
    auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
    auth_param basic realm Squid Proxy
    acl auth_users proxy_auth REQUIRED
    http_access allow auth_users
  5. Перезапустите Squid:
    sudo systemctl restart squid

Как Проверить Работу Прокси-Сервера

Убедитесь в корректности настройки:

  • Через терминал:
    curl -x http://proxy_ip:port ifconfig.me

    — выведет IP прокси.

  • Проверьте доступ к сайтам:
    wget -e use_proxy=yes -e http_proxy=proxy_ip:port example.com
  • Мониторинг логов Squid:
    sudo tail -f /var/log/squid/access.log

FAQ: Частые Вопросы по Настройке Прокси в Linux

  • Как настроить прокси для Docker?

    Создайте файл /etc/systemd/system/docker.service.d/http-proxy.conf с содержимым:

    [Service]
    Environment="HTTP_PROXY=http://proxy_ip:port"

    Выполните:

    sudo systemctl daemon-reload && sudo systemctl restart docker

  • Прокси не работает после перезагрузки. Что делать?

    Убедитесь, что переменные окружения прописаны в ~/.bashrc или /etc/environment, а для Squid включена автозагрузка:

    sudo systemctl enable squid

  • Как разрешить HTTPS через Squid?

    В squid.conf раскомментируйте строку:

    http_port 3128 ssl-bump cert=/etc/squid/ssl_cert/myCA.pem

    Предварительно сгенерируйте SSL-сертификат.

  • Можно ли использовать SOCKS-прокси?

    Да! Например, через SSH:

    ssh -D 8080 user@remote_server

    Затем настройте приложения на localhost:8080 (тип SOCKS5).

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