Настройка прокси-сервера на Ubuntu: Полное руководство с Squid Proxy

Что такое прокси-сервер и зачем он нужен на Ubuntu?

Прокси-сервер на Ubuntu выступает промежуточным звеном между вашей локальной сетью и интернетом, обеспечивая кэширование данных, контроль доступа и повышение безопасности. Настройка proxy Ubuntu server особенно полезна для:

  • Ограничения доступа к определенным сайтам
  • Снижения трафика за счет кэширования
  • Мониторинга сетевой активности
  • Обхода географических блокировок

Squid Proxy – оптимальное решение для Ubuntu благодаря стабильности и гибкости конфигурации. Это руководство поможет развернуть его за 6 шагов.

Предварительные требования

Перед настройкой proxy Ubuntu server убедитесь в наличии:

  • Ubuntu Server 20.04 LTS или новее (рекомендуется)
  • Доступ sudo/root к серверу
  • Статический IP-адрес в локальной сети
  • Минимум 512 МБ оперативной памяти
  • Обновленная система: sudo apt update && sudo apt upgrade -y

Установка Squid Proxy на Ubuntu

Выполните в терминале:

  1. Обновите пакеты: sudo apt update
  2. Установите Squid: sudo apt install squid -y
  3. Включите автозагрузку: sudo systemctl enable squid
  4. Запустите службу: sudo systemctl start squid

Проверьте статус: sudo systemctl status squid. Если сервис активен – базовая установка завершена.

Базовая конфигурация Squid

Основной файл настроек: /etc/squid/squid.conf. Измените его через nano или vim:

  1. Резервная копия: sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
  2. Откройте файл: sudo nano /etc/squid/squid.conf
  3. Настройте порт (по умолчанию 3128):
    http_port 3128
  4. Разрешите доступ для сети (пример для 192.168.1.0/24):
    acl local_net src 192.168.1.0/24
    http_access allow local_net
  5. Сохраните изменения (Ctrl+O) и перезапустите Squid:
    sudo systemctl restart squid

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

Для защиты прокси логином/паролем:

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

Проверка работоспособности прокси

Протестируйте конфигурацию:

  • В браузере: укажите IP сервера и порт 3128 в настройках сети
  • Через curl: curl -x http://ваш_сервер:3128 http://example.com
  • Проверьте логи: sudo tail -f /var/log/squid/access.log

При ошибках анализируйте /var/log/squid/cache.log.

FAQ: Часто задаваемые вопросы

Q: Как изменить порт прокси?
A: В squid.conf замените http_port 3128 на нужный порт. Перезапустите Squid.

Q: Как разрешить доступ только для определенных IP?
A: Добавьте в конфиг:
acl allowed_ips src 192.168.1.50 192.168.1.100
http_access allow allowed_ips

Q: Почему прокси блокирует все сайты?
A: Проверьте правила http_access. Убедитесь, что есть разрешающее правило после http_access deny all.

Q: Как добавить SSL-шифрование?
A: Сгенерируйте сертификат и укажите в squid.conf:
https_port 3130 cert=/etc/squid/ssl/cert.pem key=/etc/squid/ssl/key.pem

Q: Как обновить конфиг без перезагрузки?
A: Используйте: sudo squid -k reconfigure. Это применяет изменения «на лету».

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