Введение
Прозрачные прокси-серверы располагаются между клиентами и Интернетом, перехватывая все запросы без необходимости настройки на стороне клиента. Популярным программным решением для реализации прозрачного прокси является Squid. В этой статье мы рассмотрим процесс настройки Squid в системах Ubuntu и Debian.
Предпосылки
- Система под управлением Ubuntu или Debian.
- Доступ с правами root или sudo.
Монтаж
Обновите список пакетов вашей системы.
sudo apt-get update
Установите Сквид.
sudo apt-get install squid
Конфигурация
Сделайте резервную копию исходного файла конфигурации. Это всегда хорошая практика.
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.original
Отредактируйте файл конфигурации.
sudo nano /etc/squid/squid.conf
Чтобы настроить базовый прозрачный прокси, внесите следующие изменения в файл конфигурации:
Найдите строку http_port 3128 и измените ее на:
http_port 3128 intercept
Разрешить локальной сети доступ в Интернет. Замените YOUR_NETWORK на CIDR вашей локальной сети, например 192.168.1.0/24.
acl localnet src YOUR_NETWORK
http_access allow localnet
Сохраните файл и выйдите из редактора.
Перенаправление трафика
Чтобы прокси функционировал как прозрачный прокси, весь веб-трафик должен проходить через него. Это можно сделать с помощью iptables.
Перенаправить HTTP-трафик (порт 80) на Squid.
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 127.0.0.1:3128
Замените eth0 на свой сетевой интерфейс, если он отличается.
Убедитесь, что правила iptables сохраняются после перезагрузки. Один из способов добиться этого — установить iptables-persistent.
sudo apt-get install iptables-persistent
Во время установки вам будет предложено сохранить текущие правила. Выберите «Да» для правил IPv4 и IPv6.
Запустите и протестируйте
Перезапустите Squid, чтобы применить изменения.
sudo systemctl restart squid
Проверьте статус Squid.
sudo systemctl status squid
Проверьте конфигурацию, попытавшись получить доступ к Интернету с клиентского компьютера. Вам не нужно выполнять какие-либо настройки на стороне клиента, если все настроено правильно.
Мониторинг и журналы
Чтобы получить подробную информацию о посещенных веб-сайтах, Squid предоставляет журналы. Журнал доступа можно проверить на:
cat /var/log/squid/access.log
Заключение
Прозрачный прокси-сервер может быть полезен по нескольким причинам, таким как управление полосой пропускания, фильтрация контента или мониторинг. Squid предлагает мощное решение для этой цели. В то время как предыдущие шаги обеспечивают базовую настройку, Squid предлагает несколько расширенных функций и конфигураций, которые стоит изучить, чтобы удовлетворить ваши конкретные потребности.