Что такое прокси-сервер и зачем он нужен на 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
Выполните в терминале:
- Обновите пакеты:
sudo apt update
- Установите Squid:
sudo apt install squid -y
- Включите автозагрузку:
sudo systemctl enable squid
- Запустите службу:
sudo systemctl start squid
Проверьте статус: sudo systemctl status squid
. Если сервис активен – базовая установка завершена.
Базовая конфигурация Squid
Основной файл настроек: /etc/squid/squid.conf
. Измените его через nano или vim:
- Резервная копия:
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
- Откройте файл:
sudo nano /etc/squid/squid.conf
- Настройте порт (по умолчанию 3128):
http_port 3128
- Разрешите доступ для сети (пример для 192.168.1.0/24):
acl local_net src 192.168.1.0/24
http_access allow local_net
- Сохраните изменения (Ctrl+O) и перезапустите Squid:
sudo systemctl restart squid
Настройка аутентификации пользователей
Для защиты прокси логином/паролем:
- Установите утилиту:
sudo apt install apache2-utils -y
- Создайте файл паролей:
sudo touch /etc/squid/passwords
sudo chmod 600 /etc/squid/passwords
- Добавьте пользователя (замените user1):
sudo htpasswd /etc/squid/passwords user1
- В
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
- Перезапустите 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
. Это применяет изменения «на лету».