Как настроить прозрачный прокси-сервер Squid на Ubuntu и Debian

18 ago 2023 2 min di lettura
Как настроить прозрачный прокси-сервер Squid на Ubuntu и Debian
Indice dei contenuti

Введение

Прозрачные прокси-серверы располагаются между клиентами и Интернетом, перехватывая все запросы без необходимости настройки на стороне клиента. Популярным программным решением для реализации прозрачного прокси является 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 предлагает несколько расширенных функций и конфигураций, которые стоит изучить, чтобы удовлетворить ваши конкретные потребности.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.