## Введение: Зачем прокси-сервер на Raspberry Pi?
Прокси-сервер на Raspberry Pi — это бюджетное решение для анонимизации трафика, кэширования данных и контроля доступа в сети. Мини-компьютер потребляет всего 3-5 Вт энергии, превращаясь в экологичный шлюз для фильтрации рекламы, обхода географических ограничений или защиты домашних устройств. В этом руководстве разберем установку Squid Proxy — самого популярного ПО с открытым исходным кодом.
## Преимущества Raspberry Pi как прокси-сервера
– **Энергоэффективность**: Работает 24/7 при затратах на электричество ~50 руб/мес
– **Тихая работа**: Отсутствие вентиляторов гарантирует нулевой шум
– **Гибкость**: Поддержка HTTP, HTTPS и SOCKS протоколов
– **Безопасность**: Шифрование трафика через SSH-туннели
## Необходимое оборудование и ПО
Перед началом убедитесь, что у вас есть:
1. Raspberry Pi 3/4/5 с ОС Raspberry Pi OS (32 или 64-bit)
2. MicroSD карта от 16 ГБ
3. Стабильное интернет-подключение
4. Блок питания 5V/3A
5. Установленные пакеты: `sudo apt update && sudo apt upgrade -y`
## Пошаговая установка Squid Proxy
### Шаг 1: Установка Squid
Откройте терминал и выполните:
“`bash
sudo apt install squid -y
“`
### Шаг 2: Базовая конфигурация
Отредактируйте файл настроек:
“`bash
sudo nano /etc/squid/squid.conf
“`
Ключевые параметры:
– `http_port 3128` — порт прокси (можно изменить)
– `visible_hostname raspberrypi` — идентификатор сервера
– Добавьте строку: `acl localnet src 192.168.0.0/16` для доступа из локальной сети
### Шаг 3: Настройка доступа
Разрешите доступ для вашей сети, найдя блок `http_access` и добавив:
“`
http_access allow localnet
http_access deny all
“`
### Шаг 4: Запуск и автозагрузка
“`bash
sudo systemctl start squid
sudo systemctl enable squid
“`
Проверьте статус: `sudo systemctl status squid` — должно быть “active (running)”.
## Оптимизация безопасности
### Ограничение доступа по IP
В тот же squid.conf добавьте:
“`
acl allowed_ips src 192.168.1.100-192.168.1.200
http_access allow allowed_ips
“`
### Настройка аутентификации
Для парольной защиты:
1. Установите apache2-utils: `sudo apt install apache2-utils`
2. Создайте файл паролей: `sudo htpasswd -c /etc/squid/passwords user1`
3. В конфиг добавьте:
“`
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
“`
## Тестирование прокси-сервера
На клиентском устройстве (Windows/Linux/Mac):
1. Зайдите в настройки сети
2. Укажите ручную настройку прокси:
– Адрес: IP вашего Raspberry Pi
– Порт: 3128
3. Проверьте работу через сайт whoer.net или ipleak.net
## Расширенные возможности
### Кэширование для ускорения интернета
В squid.conf раскомментируйте:
“`
cache_dir ufs /var/spool/squid 500 16 256
maximum_object_size 256 MB
“`
Оптимальный размер кэша — 20% от объема SD-карты.
### Туннелирование через SSH
Для шифрования трафика:
“`bash
ssh -D 8080 -C -N user@ip_raspberrypi
“`
Теперь используйте SOCKS-прокси 127.0.0.1:8080 на клиенте.
## Часто задаваемые вопросы (FAQ)
### Можно ли использовать Pi Zero W?
Да, но для HTTPS-трафика производительности может не хватить. Рекомендуем Pi 3B+ и новее.
### Как открыть доступ из интернета?
1. Настройте проброс порта 3128 в роутере
2. Используйте DDNS-сервис (например, DuckDNS)
3. Обязательно настройте firewall: `sudo ufw allow 3128`
### Почему соединение блокируется?
Проверьте:
– Не заблокирован ли порт фаерволом
– Корректность ACL-правил в squid.conf
– Состояние сервиса: `sudo squid -k parse`
### Альтернативы Squid?
Рассмотрите:
– **TinyProxy** для слабых устройств
– **Privoxy** для фильтрации контента
– **Shadowsocks** для обхода блокировок
## Заключение
Raspberry Pi превращается в мощный прокси-сервер за 30 минут. Squid обеспечит контроль трафика, кэширование и безопасность за копейки. Для 95% домашних задач хватит модели Pi 4 с 2ГБ ОЗУ. Обновляйте ОС раз в полгода и меняйте пароли по умолчанию — ваш мини-сервер прослужит годами!