Админ
Администратор
- Регистрация
- 24.02.18
- Сообщения
- 1.582
- Реакции
- 443
Полная инструкция по блокировке Роскомнадзора
Шаг 1: Создать глобальный конфиг блокировки в Nginx
bash
nano /etc/nginx/conf.d/block-rkn.conf
Вставить содержимое:
nginx
# Блокировка по User-Agent
map $http_user_agent $block_by_ua {
default 0;
"~*rkn" 1;
"~*roskomnadzor" 1;
"~*arm-nat" 1;
"~*zapret-info" 1;
}
# Блокировка по Referer (домены РКН)
map $http_referer $block_by_referer {
default 0;
"~*rkn\.gov\.ru" 1;
"~*arm-nat\.rkn\.gov\.ru" 1;
"~*zapret-info\.gov\.ru" 1;
}
# Блокировка по IP (известные подсети РКН)
geo $rkn_block {
default 0;
77.75.107.0/24 1;
77.75.108.0/24 1;
77.75.109.0/24 1;
77.75.110.0/24 1;
77.75.111.0/24 1;
77.75.112.0/24 1;
77.75.113.0/24 1;
77.75.114.0/24 1;
77.75.115.0/24 1;
}
Сохранить: Ctrl+O, Enter, Ctrl+X
Шаг 2: Добавить правила в cardik.ru
bash
nano /etc/nginx/sites-available/cardik.ru
Добавить после server { в ОБА блока (для порта 80 и для порта 443):
nginx
# Блокировка РКН
if ($rkn_block = 1) {
return 444;
}
if ($block_by_ua = 1) {
return 444;
}
if ($block_by_referer = 1) {
return 444;
}
Сохранить.
Шаг 3: Добавить правила в phphack.ru
bash
nano /etc/nginx/sites-available/phphack.ru
Добавить после server {:
nginx
# Блокировка РКН
if ($rkn_block = 1) {
return 444;
}
if ($block_by_ua = 1) {
return 444;
}
if ($block_by_referer = 1) {
return 444;
}
Сохранить.
Шаг 4: Добавить правила в rust-client.ru
bash
nano /etc/nginx/sites-available/rust-client.ru
Добавить после server {:
nginx
# Блокировка РКН
if ($rkn_block = 1) {
return 444;
}
if ($block_by_ua = 1) {
return 444;
}
if ($block_by_referer = 1) {
return 444;
}
Сохранить.
Шаг 5: Блокировка IP через UFW (firewall)
bash
ufw deny from 77.75.107.0/24
ufw deny from 77.75.108.0/24
ufw deny from 77.75.109.0/24
ufw deny from 77.75.110.0/24
ufw deny from 77.75.111.0/24
ufw deny from 77.75.112.0/24
ufw deny from 77.75.113.0/24
ufw deny from 77.75.114.0/24
ufw deny from 77.75.115.0/24
ufw reload
Шаг 6: Проверить и перезагрузить Nginx
bash
nginx -t
Если ошибок нет:
bash
systemctl reload nginx
Шаг 7: Проверить блокировку
bash
# Проверить что Nginx работает
systemctl status nginx
# Проверить UFW правила
ufw status numbered
Как это работает:
Шаг 1: Создать глобальный конфиг блокировки в Nginx
bash
nano /etc/nginx/conf.d/block-rkn.conf
Вставить содержимое:
nginx
# Блокировка по User-Agent
map $http_user_agent $block_by_ua {
default 0;
"~*rkn" 1;
"~*roskomnadzor" 1;
"~*arm-nat" 1;
"~*zapret-info" 1;
}
# Блокировка по Referer (домены РКН)
map $http_referer $block_by_referer {
default 0;
"~*rkn\.gov\.ru" 1;
"~*arm-nat\.rkn\.gov\.ru" 1;
"~*zapret-info\.gov\.ru" 1;
}
# Блокировка по IP (известные подсети РКН)
geo $rkn_block {
default 0;
77.75.107.0/24 1;
77.75.108.0/24 1;
77.75.109.0/24 1;
77.75.110.0/24 1;
77.75.111.0/24 1;
77.75.112.0/24 1;
77.75.113.0/24 1;
77.75.114.0/24 1;
77.75.115.0/24 1;
}
Сохранить: Ctrl+O, Enter, Ctrl+X
Шаг 2: Добавить правила в cardik.ru
bash
nano /etc/nginx/sites-available/cardik.ru
Добавить после server { в ОБА блока (для порта 80 и для порта 443):
nginx
# Блокировка РКН
if ($rkn_block = 1) {
return 444;
}
if ($block_by_ua = 1) {
return 444;
}
if ($block_by_referer = 1) {
return 444;
}
Сохранить.
Шаг 3: Добавить правила в phphack.ru
bash
nano /etc/nginx/sites-available/phphack.ru
Добавить после server {:
nginx
# Блокировка РКН
if ($rkn_block = 1) {
return 444;
}
if ($block_by_ua = 1) {
return 444;
}
if ($block_by_referer = 1) {
return 444;
}
Сохранить.
Шаг 4: Добавить правила в rust-client.ru
bash
nano /etc/nginx/sites-available/rust-client.ru
Добавить после server {:
nginx
# Блокировка РКН
if ($rkn_block = 1) {
return 444;
}
if ($block_by_ua = 1) {
return 444;
}
if ($block_by_referer = 1) {
return 444;
}
Сохранить.
Шаг 5: Блокировка IP через UFW (firewall)
bash
ufw deny from 77.75.107.0/24
ufw deny from 77.75.108.0/24
ufw deny from 77.75.109.0/24
ufw deny from 77.75.110.0/24
ufw deny from 77.75.111.0/24
ufw deny from 77.75.112.0/24
ufw deny from 77.75.113.0/24
ufw deny from 77.75.114.0/24
ufw deny from 77.75.115.0/24
ufw reload
Шаг 6: Проверить и перезагрузить Nginx
bash
nginx -t
Если ошибок нет:
bash
systemctl reload nginx
Шаг 7: Проверить блокировку
bash
# Проверить что Nginx работает
systemctl status nginx
# Проверить UFW правила
ufw status numbered
Как это работает:
- IP блокировка: Блокирует доступ с подсетей РКН на уровне firewall
- User-Agent блокировка: Блокирует ботов с UA содержащим "rkn", "roskomnadzor", "arm-nat"
- Referer блокировка: Блокирует запросы с доменов РКН
- return 444: Закрывает соединение без ответа (как будто сервера нет)
