Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
setup_proxy [17.06.2016 11:11] phantom [Настройка iptables] |
setup_proxy [13.07.2017 17:19] phantom [Настройка proxy сервера] |
||
---|---|---|---|
Строка 2: | Строка 2: | ||
**Настройка proxy сервера необходима только если используется вариант "proxy у оператора".** | **Настройка proxy сервера необходима только если используется вариант "proxy у оператора".** | ||
+ | |||
+ | **Настройку и тестирование работы proxy сервера (как правило) осуществляют наши специалисты.** | ||
+ | |||
+ | **Примеры конфигурации, приведенные ниже, являются лишь примерами. Конфигурация proxy сервера может отличаться в ту или иную сторону в зависимости от специфики клиента.** | ||
+ | |||
+ | **Обновления и рекомендации для конфигурации proxy сервера публикуются в нашей рассылке, которую получают технические специалисты (контакты) указанные в Личном Кабинете.** | ||
+ | |||
===== Подготовка ===== | ===== Подготовка ===== | ||
Строка 22: | Строка 29: | ||
</code> | </code> | ||
- | Скачать скрипты для обновления {{:cf_ipset_update.tar.gz|}}, вписать в них Api Key (можно посмотреть в ЛК->Администрирование->Настройки). Добавить вызов скриптов по cron (например, раз в час). | + | Скачать скрипты для обновления {{:cf_ipset_update.tgz|}}, вписать в них Api Key (можно посмотреть в ЛК->Администрирование->Настройки). Добавить вызов скриптов по cron (например, раз в час). |
===== Настройка iptables ===== | ===== Настройка iptables ===== | ||
Строка 28: | Строка 35: | ||
<code> | <code> | ||
# Перенаправлять HTTP трафик для сетей из списка полной блокировки на отдельный виртуальный сервер | # Перенаправлять HTTP трафик для сетей из списка полной блокировки на отдельный виртуальный сервер | ||
- | iptables -t nat -A PREROUTING -i eth0 -m set --match-set BLOCK-IP dst -p tcp --dport 80 -j REDIRECT --to-port 8000 | + | iptables -t nat -A PREROUTING -i eth0 -m set --match-set BLOCK-IP dst -p tcp --dport 80 -j REDIRECT --to-port 9000 |
# Перенаправлять HTTP трафик для пар IP:PORT подлежащих блокировке на отдельный виртуальный сервер | # Перенаправлять HTTP трафик для пар IP:PORT подлежащих блокировке на отдельный виртуальный сервер | ||
- | iptables -t nat -A PREROUTING -i eth0 -p tcp -m set --match-set CUSTOM-IP-PORT dst,dst -j REDIRECT --to-port 8000 | + | iptables -t nat -A PREROUTING -i eth0 -p tcp -m set --match-set CUSTOM-IP-PORT dst,dst -j REDIRECT --to-port 9000 |
# Перенаправлять весь HTTP/HTTPS трафик на локальный порт | # Перенаправлять весь HTTP/HTTPS трафик на локальный порт | ||
Строка 42: | Строка 49: | ||
# Блокировать весь трафик, на сети из списка полной блокировки | # Блокировать весь трафик, на сети из списка полной блокировки | ||
- | iptables -t filter -A FORWARD -m set --match-set BLOCK dst -j REJECT | + | iptables -t filter -A FORWARD -m set --match-set BLOCK-IP dst -j REJECT |
# Пропускать весь транзитный трафик | # Пропускать весь транзитный трафик | ||
Строка 49: | Строка 56: | ||
===== Настройка nginx ===== | ===== Настройка nginx ===== | ||
+ | |||
+ | Мы рекомендуем использовать nginx с поддержкой lua и headers_more. Ссылки на готовые пакеты находятся в конце текущего раздела. | ||
Настройки DNS резолвера (необходимо использовать DNS сервера без RPZ) | Настройки DNS резолвера (необходимо использовать DNS сервера без RPZ) | ||
Строка 174: | Строка 183: | ||
</code> | </code> | ||
- | Конфигурация дополнительного (для запросов на сети с полной блокировкой) виртуального сервера: | + | Конфигурация дополнительного (для запросов на сети с полной блокировкой и порты отличные от HTTP/HTTPS) виртуального сервера: |
<code> | <code> | ||
server { | server { | ||
- | listen 0.0.0.0:8000; | + | listen 0.0.0.0:9000; |
server_name ~^.*$; | server_name ~^.*$; | ||
access_log /var/log/nginx/block_access_log main; | access_log /var/log/nginx/block_access_log main; | ||
- | error_log /var/log/nginx/block_error_log debug; | + | error_log /var/log/nginx/block_error_log warn; |
root /var/www/cyberfilter; | root /var/www/cyberfilter; | ||
Строка 224: | Строка 233: | ||
* notfound.html - выводится, если запрашиваемый ресурс не найден в DNS | * notfound.html - выводится, если запрашиваемый ресурс не найден в DNS | ||
- | Архив с настройками и со страницами сообщений: {{:proxy_config.tgz|}} | + | Архив с настройками и со страницами сообщений: {{:proxy_config.tgz|}}\\ |
+ | Готовый RPM nginx 1.10.3 для CentOS7 с поддержкой lua и headers_more: {{:nginx-1.10.3-1.el7.centos.ngx.x86_64.rpm|}} | ||
===== Настройка sniproxy ===== | ===== Настройка sniproxy ===== | ||
- | **Внимание:** для корректной работы [[https://github.com/dlundquist/sniproxy|sniproxy]] (фильтрация HTTPS) необходимо, чтобы использовался механизм DNS RPZ. Системный DNS резолвер **ДОЛЖЕН** использовать DNS сервер с включенным механизмом [[setup_dns|DNS RPZ]]. Так же необходимо, чтобы на sniproxy был наложен {{:sniproxy-0.3.6-connection-loop-fix.patch.gz|патч}} от зацикливания. | + | **Внимание:** для корректной работы [[https://github.com/dlundquist/sniproxy|sniproxy]] (фильтрация HTTPS) необходимо, чтобы использовался механизм DNS RPZ. Системный DNS резолвер **ДОЛЖЕН** использовать DNS сервер с включенным механизмом [[setup_dns|DNS RPZ]]. Так же необходимо, чтобы на sniproxy был наложен {{:sniproxy-0.3.6-cyberfilter.patch.gz|патч}}. Рекомендуемая версия sniproxy - 0.3.6 |
<code> | <code> | ||
Строка 271: | Строка 281: | ||
Репозитарий (GIT) sniproxy: [[https://github.com/dlundquist/sniproxy|]]\\ | Репозитарий (GIT) sniproxy: [[https://github.com/dlundquist/sniproxy|]]\\ | ||
- | Патч от зацикливания: {{:sniproxy-0.3.6-connection-loop-fix.patch.gz|}}\\ | + | Патч: {{:sniproxy-0.3.6-cyberfilter.patch.gz|}}\\ |
Конфиг: {{:sniproxy.conf.gz|}} | Конфиг: {{:sniproxy.conf.gz|}} | ||
- | Готовый ebuild для Gentoo Linux: {{:sniproxy.ebuild.tgz|}} | + | Готовый ebuild для Gentoo Linux: {{:sniproxy-0.3.6-r1.ebuild.tgz|}} (USE="cyberfilter")\\ |
+ | Готовый RPM для CentOS7: {{:sniproxy-0.3.6-1.el7.centos.x86_64.rpm}} и необходимый для него udns: {{:udns-0.4-3.el7.x86_64.rpm|}} |