Как перенести Minecraft сервер на DDoS-защиту без даунтайма
Зачем вообще переносить сервер под защиту
Если ты читаешь этот гайд, скорее всего, уже столкнулся с DDoS-атаками на свой Minecraft сервер. Или пока не столкнулся, но понимаешь, что это вопрос времени. Атаки на Minecraft серверы - реальность, с которой живут тысячи администраторов каждый день.
Главный страх при подключении DDoS-защиты - это даунтайм. Игроки не смогут зайти, кто-то уйдет на другой сервер, донаты пропадут. Знакомо? Хорошая новость: при правильном подходе перенос можно сделать вообще без простоя. Игроки даже не заметят, что что-то изменилось.
В этом гайде разберем весь процесс по шагам - от подготовки до финальной проверки.
Как работает DDoS-защита через DNS
Прежде чем лезть в настройки, стоит понять базовый принцип. Большинство сервисов защиты (включая MineGuard) работают по схеме обратного прокси:
- Игрок подключается к домену твоего сервера (например, play.myserver.ru)
- DNS направляет его не на твой реальный IP, а на IP фильтра защиты
- Фильтр проверяет трафик, отсеивает мусор
- Чистый трафик пересылается на твой настоящий сервер
Вся магия происходит на уровне DNS. Ты просто меняешь, куда указывает домен - и трафик начинает идти через фильтр. Сам сервер при этом продолжает работать как работал.
Шаг 1: Подготовка - бэкап и снижение TTL
Перед любыми изменениями - бэкап. Да, мы не трогаем сам сервер, но привычка делать бэкап перед любыми манипуляциями спасала не один проект.
Что забэкапить:
- Конфиг DNS-зоны (скриншот или экспорт записей)
- Настройки файрвола на сервере
- Конфиги BungeeCord/Velocity, если используешь прокси
Снижаем TTL записей DNS
Это критически важный шаг, который многие пропускают. TTL (Time To Live) - это время, которое DNS-резолверы кэшируют запись. Если у тебя TTL стоит 86400 (24 часа), то после смены DNS часть игроков будет ходить на старый IP еще сутки.
Зайди в панель управления DNS (Cloudflare, Hetzner DNS, любой другой провайдер) и установи TTL для A-записи твоего игрового домена на минимум - 60 или 120 секунд. Сделай это за 24-48 часов до переноса. Нужно подождать, пока старый высокий TTL истечет у всех резолверов.
Если используешь Cloudflare с включенным проксированием (оранжевое облако) - TTL управляется автоматически, тут ничего менять не нужно.
Шаг 2: Регистрация и настройка защиты
Регистрируемся в панели управления DDoS-защиты. На примере MineGuard:
- Создаем аккаунт на сайте
- Добавляем новую сеть (network) - это контейнер для настроек твоего сервера
- Выбираем тариф - для начала подойдет базовый, потом всегда можно масштабировать
После создания сети ты получишь адрес фильтра - это может быть IP-адрес или CNAME-запись вида filter.mineguard.net. Именно на этот адрес мы потом направим DNS.
Важный момент: не торопись сразу менять DNS. Сначала нужно полностью настроить защиту.
Шаг 3: Добавление домена и бэкенда
В панели защиты нужно указать два ключевых параметра:
Домен (или поддомен) - тот адрес, по которому игроки подключаются к серверу. Например, play.myserver.ru или просто myserver.ru.
Бэкенд - реальный IP-адрес твоего Minecraft сервера и порт. Например, 185.100.50.25:25565. Это адрес, куда фильтр будет пересылать чистый трафик.
В MineGuard это делается в разделе настроек сети:
- Backend Address: указываем IP и порт сервера
- Backend Protocol: TCP (стандарт для Minecraft Java Edition)
Если у тебя несколько серверов за BungeeCord или Velocity - указывай IP прокси-сервера, а не отдельных бэкенд-серверов.
Шаг 4: Настройка Proxy Protocol (если нужно)
Proxy Protocol - это способ передачи реального IP-адреса игрока через прокси. Без него твой сервер будет видеть все подключения как идущие с IP фильтра, а не от реальных игроков.
Когда Proxy Protocol нужен:
- Ты хочешь видеть реальные IP в логах
- У тебя есть бан-система по IP
- Используешь плагины, привязанные к IP игрока
Когда можно обойтись без него:
- Маленький сервер, где IP не критичен
- Используешь авторизацию только по нику
Настройка на стороне BungeeCord:
В config.yml BungeeCord найди секцию listeners и добавь:
listeners:
- proxy_protocol: true
Для Velocity в velocity.toml:
haproxy-protocol = true
Для Paper/Spigot напрямую (без BungeeCord) потребуется плагин HAProxyDetector или аналогичный.
После включения Proxy Protocol на стороне сервера - включи его и в панели защиты. Порядок важен: сначала сервер, потом защита. Если включить Proxy Protocol только на одной стороне, подключения сломаются.
Шаг 5: Переключение DNS
Все настроено, протестировано локально (к этому вернемся) - пора переключать DNS. Это собственно момент переноса.
Вариант A: Используешь A-запись
Заходим в DNS-панель и меняем A-запись игрового домена с реального IP сервера на IP фильтра защиты.
Было:
play.myserver.ru A 185.100.50.25
Стало:
play.myserver.ru A 104.167.24.91
Вариант B: Используешь CNAME
Некоторые сервисы защиты дают CNAME-запись. В этом случае удаляем старую A-запись и создаем CNAME:
play.myserver.ru CNAME yournetwork.filter.mineguard.net
Вариант C: Cloudflare + защита
Если домен на Cloudflare, можно использовать CNAME с включенным проксированием (оранжевое облако). Cloudflare будет проксировать HTTP/HTTPS трафик, а для игрового трафика Minecraft нужно выключить проксирование (серое облако) и использовать обычный CNAME или A-запись на фильтр.
Важно помнить: Cloudflare проксирует только веб-трафик. Игровой TCP/UDP трафик Minecraft через оранжевое облако не пойдет (если нет Cloudflare Spectrum, но это дорого и отдельная тема).
После сохранения DNS-записи изменения начнут распространяться. Благодаря низкому TTL, который мы выставили на шаге 1, большинство игроков переключатся на новый маршрут в течение нескольких минут.
Шаг 6: Проверка работы
DNS обновился, теперь проверяем, что все работает.
Проверка DNS-резолва:
nslookup play.myserver.ru
или
dig play.myserver.ru +short
В ответе должен быть IP фильтра защиты, а не реальный IP сервера.
Проверка подключения:
Запускаем Minecraft клиент и подключаемся к серверу по домену. Если зашел нормально, видишь мир, можешь двигаться - базовая проверка пройдена.
Проверка IP в логах:
Зайди на сервер и посмотри последний лог. Если настроен Proxy Protocol, в логах должны быть реальные IP игроков, а не IP фильтра. Если видишь IP фильтра - перечитай шаг 4.
Проверка через панель защиты:
В панели MineGuard можно увидеть активные подключения, статистику трафика и текущие угрозы. Если видишь входящие соединения - значит трафик идет через фильтр.
Проверка пинга:
Пинг может немного вырасти (на 1-5 мс) из-за дополнительного хопа через фильтр. Это нормально и незаметно для игроков. Если пинг вырос значительно (на 50+ мс), проверь географическое расположение фильтра - в идеале он должен быть ближе к основной аудитории сервера.
Шаг 7: Закрываем прямой доступ к серверу
Это шаг, который забывают чаще всего. Если реальный IP сервера известен атакующим (а он скорее всего известен), они просто будут бить напрямую, минуя защиту.
Настройка файрвола:
Разрешаем входящие подключения на игровой порт (25565) только с IP-адресов фильтра защиты. В iptables это выглядит примерно так:
iptables -A INPUT -p tcp --dport 25565 -s IP_ФИЛЬТРА -j ACCEPT
iptables -A INPUT -p tcp --dport 25565 -j DROP
У каждого сервиса защиты есть список IP-адресов, с которых приходит трафик. Убедись, что добавил все адреса, иначе часть игроков не сможет подключиться.
Смена IP (если скомпрометирован):
Если атакующие знают реальный IP сервера, файрвол поможет от прямых атак на порт Minecraft, но не спасет от volumetric атак на сам IP. В идеале - сменить IP у хостера и никому его не светить. Новый IP указать только в настройках защиты как бэкенд.
Что делать, если что-то пошло не так
Игроки не могут подключиться после смены DNS:
- Проверь, что DNS обновился (
nslookup/dig) - Попроси игроков очистить DNS-кэш (
ipconfig /flushdnsна Windows) - Проверь, что бэкенд-адрес в панели защиты указан верно
- Убедись, что файрвол сервера разрешает подключения с IP фильтра
Подключение есть, но сервер лагает:
- Проверь нагрузку на самом сервере - может быть не связано с защитой
- Посмотри, нет ли потери пакетов на маршруте через
mtrилиtraceroute - Обратись в поддержку сервиса защиты с результатами диагностики
В логах IP фильтра вместо реальных IP игроков:
- Proxy Protocol не настроен или настроен только на одной стороне
- Перечитай шаг 4 и проверь конфигурацию и на сервере, и в панели защиты
Часть игроков заходит, часть нет:
- DNS еще не обновился у всех - подожди (зависит от старого TTL)
- Если прошло больше суток - проблема в другом, проверяй файрвол и маршрутизацию
Откат: если все совсем плохо, просто верни DNS-запись на прежний IP сервера. Через несколько минут (благодаря низкому TTL) все вернется как было. Именно поэтому мы делали бэкап DNS-конфигурации.
Рекомендации после переноса
После успешного переноса не забудь:
- Поднять TTL обратно до 3600-86400 секунд. Низкий TTL создает лишнюю нагрузку на DNS-серверы.
- Настроить оповещения в панели защиты, чтобы получать уведомления об атаках.
- Изучить настройки файрвола в панели - можно ограничить подключения по версии протокола, включить капчу для подозрительных подключений, настроить rate limiting.
- Не светить реальный IP - не указывай его в публичных конфигах, DNS-записях для других поддоменов на том же IP, трекерах серверов.
- Проверить SRV-записи - если используешь SRV для Minecraft, убедись, что они тоже указывают на защищенный адрес.
Итого
Перенос Minecraft сервера под DDoS-защиту - не рокет сайенс. Весь процесс сводится к: подготовил DNS, настроил фильтр, переключил запись, проверил работу. При правильной подготовке (особенно с низким TTL) даунтайм равен нулю.
Главное - не торопиться и проверять каждый шаг. Лучше потратить лишние 30 минут на подготовку, чем потом разбираться, почему 200 игроков не могут зайти на сервер.
Sunucunuzu DDoS Saldırılarından Koruyun
5 dakikada kurulumla ücretsiz koruma. 1 TB bant genişliği dahil.
Ücretsiz Deneyinİlgili Makaleler
Как прочитать crash report Minecraft сервера: пошаговый гайд (2026)
Сервер упал, в папке crash-reports/ лежит файл на 800 строк. Учимся отличать NullPointerException в плагине от падения JVM, читать stack trace, находить виновный плагин и понимать, когда нужен hs_err_pid.
Гайд для новичков: как защитить Minecraft сервер
Пошаговая инструкция по защите Minecraft сервера от DDoS атак, ботов и других угроз. Рассказываем, на что обратить внимание при выборе защиты и как правильно настроить свой сервер.
Как капча защищает Minecraft серверы от ботов
Бот-атаки на Minecraft серверы становятся все изощреннее. Разбираемся, как веб-капча помогает фильтровать нежелательных игроков и какие виды проверки работают лучше всего.