Показать страницуИстория страницыСсылки сюдаCopy this pageExport to MarkdownODT преобразованиеНаверх Вы загрузили старую версию документа! Сохранив её, вы создадите новую текущую версию с этим содержимым. Медиафайлы{{tag>squid proxy rokomnadzor blocklist}} ====== Squid ====== * [[https://gist.github.com/search?p=3&q=squid.conf&utf8=%E2%9C%93|Примеры настроек]] * [[http://break-people.ru/cmsmade/index.php?page=articles_squid_practice|Советы]] ===== Параметры ===== * src: IP-адрес источника (клиент) * dst: IP-адрес назначения (сервер) * myip: локальный IP-адрес клиентского соединения * srcdomain: имя домена источника (клиент) * dstdomain: имя домена назначения (сервер) * srcdom_regex: шаблон регулярного выражения источника (клиент) * dstdom_regex: шаблон регулярного выражения назначения (сервер) * time: время дня и день недели * url_regex: шаблон регулярного выражения для URL * urlpath_regex: шаблон регулярного выражения для части URL, исключая протокол и имя хоста * port: номер порта назначения (сервер) * myport: номер локального порта, куда подключается клиент * proto: тип протокола передачи (http, ftp, etc) * method: метод HTTP-запроса (get, post, etc) * browser: шаблон регулярного выражения, совпадающего с заголовком user-agent из запроса * ident: строка совпадения с именем пользователя * ident_regex: шаблон регулярного выражения имени пользователя * src_as: номер Автономной Системы источника (клиент) * dst_as: номер Автономной Системы назначения (сервер) * proxy_auth: аутентификация пользователя через внешний процесс * proxy_auth_regex: регулярное выражение аутентификации пользователя через внешний процесс * snmp_community: строка SNMP-сообщества * maxconn: ограничение максимального кол-ва соединений с одного клиентского IP-адреса * req_mime_type: шаблон регулярного выражения для заголовка content-type запроса * arp: Ethernet (MAC)-адрес ===== Darknet (onion) + i2p + hosts ===== ==== Обход запрета роскомнадзора ==== nano /etc/squid/getblocklist.sh <code bash> #!/bin/bash # git clone https://github.com/zapret-info/z-i.git curl -s -X GET -L https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv > /etc/squid/blocklist.csv URL_LIST=`cat /etc/squid/blocklist.csv | csvtool -t ';' col 2 - | sed -e '/^[0-9\.]*$/d' -e '/^[0-9\.a-z-]*$/!d' | \ sed -e 's/^.*\.\([a-z0-9\-]\{2,63\}\.[a-z0-9\-]\{2,63\}\)$/\1/' | sort | uniq 2>/dev/null`; cat /dev/null > /etc/squid/eais.list 2>/dev/null; for URL in $URL_LIST; do echo $URL | sed -e 's/\./\\\./g' -e 's/^/^http(s)?:\\\/\\\/([a-zA-Z0-9]+\\.)?/g' -e 's/$/.*$/g' >> /etc/squid/eais.list 2>/dev/null; done; /usr/sbin/squid3 -k reconfigure </code> ==== cron ==== crontab -e <code bash> 1 2 * * * /bin/bash /etc/squid/getblocklist.sh </code> ==== squid.conf ==== nano /etc/squid/squid.conf <code bash> ######################################################## # ОСНОВНЫЕ НАСТРОЙКИ SQUID ######################################################## # Отключение проверки имён хостов (как в исходной конфигурации) check_hostnames off # Определение локальных сетей (RFC 1918 и др.) acl localnet src 0.0.0.1-0.255.255.255 # "this" network (LAN) acl localnet src 10.0.0.0/8 # RFC 1918 private acl localnet src 100.64.0.0/10 # RFC 6598 CGN acl localnet src 169.254.0.0/16 # RFC 3927 link-local acl localnet src 172.16.0.0/12 # RFC 1918 private acl localnet src 192.168.0.0/16 # RFC 1918 private acl localnet src fc00::/7 # RFC 4193 private acl localnet src fe80::/10 # RFC 4291 link-local # ACL для блокируемых ресурсов acl russia_block_list url_regex "/etc/squid/eais.list" acl i2p_list url_regex -i .*://.*\.i2p\/.* acl onion_list url_regex -i .*://.*\.onion\/.* ######################################################## # НАСТРОЙКА PEER-СЕРВЕРОВ (UPSTREAM PROXIES) ######################################################## # i2p peer cache_peer 192.168.1.131 parent 4444 4444 no-digest \ protocol=http \ name=i2p_peer \ connect-timeout=15 \ request-timeout=60 \ dead-peer-timeout=30 \ round-robin cache_peer_access i2p_peer allow i2p_list # privoxy peer cache_peer 192.168.1.131 parent 8118 8118 no-digest \ protocol=http \ name=privoxy_peer \ connect-timeout=15 \ request-timeout=60 \ dead-peer-timeout=30 \ round-robin cache_peer_access privoxy_peer allow onion_list cache_peer_access privoxy_peer allow russia_block_list ######################################################## # ПРАВИЛА НАПРАВЛЕНИЯ ЗАПРОСОВ ######################################################## # never_direct: всегда использовать peer для указанных ACL never_direct allow i2p_list never_direct allow onion_list never_direct allow russia_block_list never_direct deny localnet # always_direct: никогда не использовать peer для указанных ACL always_direct deny i2p_list always_direct deny onion_list always_direct deny russia_block_list always_direct allow localnet ######################################################## # HTTP-ДОСТУП И БЕЗОПАСНОСТЬ ######################################################## # Разрешить доступ из локальных сетей http_access allow localnet # Файл hosts для разрешения имён hosts_file /etc/squid/hosts # Порты для безопасных соединений acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT # Запретить доступ к небезопасным портам http_access deny !Safe_ports # Запретить CONNECT к небезопасным SSL-портам http_access deny CONNECT !SSL_ports # Доступ для менеджера (только локально) http_access allow localhost manager http_access deny manager # Включить дополнительные конфиги include /etc/squid/conf.d/* # Разрешить локальный доступ http_access allow localhost # Запретить всё остальное http_access deny all ######################################################## # ПОРТ И ДИРЕКТОРИИ ######################################################## # Основной HTTP-порт прокси http_port 3128 # Директория для coredump coredump_dir /var/spool/squid ######################################################## # НАСТРОЙКИ КЭШИРОВАНИЯ ######################################################## refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 ######################################################## # ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ (ОПЦИОНАЛЬНО) ######################################################## # Уровень отладки (раскомментировать при необходимости) # debug_options ALL,1 33,2 # Логирование доступа (стандартный формат) access_log /var/log/squid/access.log # Логирование кэша cache_log /var/log/squid/cache.log # Размер кэша (пример: 10 ГБ) # cache_dir ufs /var/spool/squid 10240 16 256 # Максимальный размер объекта в кэше (например, 100 МБ) # maximum_object_size 102400 KB 0 20% 4320 0 20% 4320 0 20% 4320 </code> ===== Удаление комментариев ===== <code bash> $ cat /etc/squid/squid.conf | grep "^[^#;]" </code> ===== Перенаправление на другой сайт ===== <code> acl redirect url_regex czx.to http_access deny redirect deny_info http://video.czx.to redirect </code>СохранитьПросмотрРазличияОтменить Сводка изменений Примечание: редактируя эту страницу, вы соглашаетесь на использование своего вклада на условиях следующей лицензии: CC0 1.0 Universal