flip:linux:squid
Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
flip:linux:squid [2025/03/26 20:10] – создано flip | flip:linux:squid [2025/07/08 17:27] (текущий) – flip | ||
---|---|---|---|
Строка 219: | Строка 219: | ||
</ | </ | ||
- | Ограничение доступа по IP (если нужно) | + | **Ограничение доступа по IP (если нужно)** |
< | < | ||
Строка 227: | Строка 227: | ||
</ | </ | ||
- | Включение HTTPS-прокси (если нужно) | + | **Включение HTTPS-прокси (если нужно)** |
< | < | ||
https_port 3130 cert=/ | https_port 3130 cert=/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Прокси с блокировкой ресурсов ==== | ||
+ | |||
+ | Создадим файл ''/ | ||
+ | |||
+ | < | ||
+ | nano / | ||
+ | </ | ||
+ | |||
+ | Пример содержимого: | ||
+ | |||
+ | < | ||
+ | .facebook.com | ||
+ | .twitter.com | ||
+ | .youtube.com | ||
+ | .netflix.com | ||
+ | .instagram.com | ||
+ | .pornhub.com | ||
+ | .vk.com | ||
+ | .telegram.org | ||
+ | .tiktok.com | ||
+ | .reddit.com | ||
+ | </ | ||
+ | |||
+ | Каждый домен с новой строки. \\ | ||
+ | Точка в начале (*.example.com) блокирует все поддомены. | ||
+ | |||
+ | Отредактируем ''/ | ||
+ | |||
+ | < | ||
+ | # Базовый порт прокси | ||
+ | http_port 3128 | ||
+ | |||
+ | # Подключаем файл с запрещёнными сайтами | ||
+ | acl blocked_sites dstdomain "/ | ||
+ | |||
+ | # Запрещаем доступ к этим сайтам | ||
+ | http_access deny blocked_sites | ||
+ | |||
+ | # Разрешаем доступ всем остальным (или только определённым сетям) | ||
+ | acl localnet src 192.168.1.0/ | ||
+ | http_access allow localnet | ||
+ | |||
+ | # Запретить всё остальное (если нужно) | ||
+ | http_access deny all | ||
+ | |||
+ | # Логирование | ||
+ | access_log / | ||
+ | cache_log / | ||
+ | |||
+ | # Имя прокси (можно заменить на IP или домен) | ||
+ | visible_hostname my_proxy | ||
+ | </ | ||
+ | |||
+ | === Дополнительно === | ||
+ | |||
+ | **Блокировка по ключевым словам в URL** | ||
+ | |||
+ | < | ||
+ | acl blocked_keywords url_regex -i "/ | ||
+ | http_access deny blocked_keywords | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | Файл ''/ | ||
+ | |||
+ | < | ||
+ | porn | ||
+ | torrent | ||
+ | hack | ||
+ | warez | ||
+ | </ | ||
+ | |||
+ | **Блокировка по IP (если сайты меняют домены)** | ||
+ | |||
+ | < | ||
+ | acl blocked_ips dst "/ | ||
+ | http_access deny blocked_ips | ||
+ | </ | ||
+ | |||
+ | Файл ''/ | ||
+ | |||
+ | < | ||
+ | 185.191.171.0/ | ||
+ | 104.16.0.0/ | ||
+ | </ | ||
+ | |||
+ | **Разрешить доступ только к белым спискам** | ||
+ | |||
+ | < | ||
+ | acl whitelist dstdomain "/ | ||
+ | http_access allow whitelist | ||
+ | http_access deny all | ||
+ | </ | ||
+ | |||
+ | Файл ''/ | ||
+ | |||
+ | < | ||
+ | .wikipedia.org | ||
+ | .google.com | ||
+ | .github.com | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Мониторинг Squid ===== | ||
+ | |||
+ | Шаблон для zabbix \\ | ||
+ | https:// | ||
+ | Документация по SNMP \\ | ||
+ | https:// | ||
+ | |||
+ | Если есть файрвол, | ||
+ | |||
+ | |||
+ | ==== Настройка SNMP в Squid ==== | ||
+ | |||
+ | < | ||
+ | snmp_port < | ||
+ | acl < | ||
+ | snmp_access allow < | ||
+ | </ | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | **Пример** | ||
+ | |||
+ | < | ||
+ | snmp_port 3401 | ||
+ | acl zabbix snmp_community public | ||
+ | snmp_access allow zabbix 172.16.10.130 | ||
+ | </ | ||
+ | |||
+ | **Рабочий способ** | ||
+ | |||
+ | < | ||
+ | snmp_incoming_address 0.0.0.0 | ||
+ | snmp_outgoing_address 0.0.0.0 | ||
+ | snmp_port 3401 | ||
+ | acl zabbix snmp_community public | ||
+ | snmp_access allow zabbix all | ||
+ | snmp_access deny all | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Макросы ==== | ||
+ | |||
+ | ^ Name ^ Description ^ Default ^ | ||
+ | | {$SQUID.SNMP.PORT} | snmp_port configured in squid.conf (Default: 3401) | '' | ||
+ | | {$SQUID.HTTP.PORT} | http_port configured in squid.conf (Default: 3128) | '' | ||
+ | | {$SQUID.SNMP.COMMUNITY} | SNMP community allowed by ACL in squid.conf | '' | ||
+ | | {$SQUID.FILE.DESC.WARN.MIN} | The threshold for minimum number of available file descriptors | '' | ||
+ | | {$SQUID.PAGE.FAULT.WARN} | The threshold for sys page faults rate in percent of received HTTP requests | '' | ||
+ | |||
+ | |||
+ | ==== Проверка порта ==== | ||
+ | |||
+ | Локально | ||
+ | |||
+ | < | ||
+ | netstat -tulpn | grep 3401 | ||
+ | netstat -a | grep 3401 | ||
+ | netstat -apn | grep squid | ||
+ | </ | ||
+ | |||
+ | С другого узла | ||
+ | |||
+ | < | ||
+ | nc -zv -u <IP> 3401 | ||
+ | nmap -sU -p 3401 <IP> | ||
+ | </ | ||
+ | |||
+ | ==== Проверка SNMP ==== | ||
+ | |||
+ | < | ||
+ | snmpwalk -v 2c -c public -L n < | ||
+ | snmpwalk -v 2c -c public -L n 172.28.0.251: | ||
</ | </ | ||
flip/linux/squid.1743019812.txt.gz · Последнее изменение: 2025/03/26 20:10 — flip