Как я перевез цифровую жизнь за 9 часов и почему люди важнее железа

Вчера я окончательно похоронил бренд, который строил 6 лет. В предыдущих постах я уже рассказывал о причинах этого решения и о том, как репутация доменной зоны .site медленно убивала мои проекты.

Но сегодня я хочу убрать эмоции и включить терминал. Этот текст — детальный технический разбор (post-mortem) миграции сложной инфраструктуры. Мы поговорим о том, как обмануть время распространения DNS, как хакнуть базу данных WordPress одной командой, как заставить Google полюбить новый домен за одну ночь и, что самое важное, — о людях, которые стоят за безликими тикетами техподдержки.

Phoenix901 — это не название системы. Это я. И это история о том, как я возвращал себе контроль.

Глава 0. Архитектура: Зоопарк, который мы перевозим

Чтобы понимать масштаб трагедии (или успеха), нужно видеть карту боя. Моя инфраструктура не лежит на одном модном облачном сервере. Она построена по принципу физического разделения ответственности и максимальной автономности. Это то, что я называю «Sovereign Self-Hosting».

Узел 1: PROD (Фронт и Вычисления)

  • Локация: Hostkey.
  • Железо: Intel Xeon E3-1271 v3 (3.60GHz), 32GB RAM, 2x 1TB SSD (RAID 1).
  • Роль: Это «мозги». Здесь крутится веб-сервер (Nginx/Apache), базы данных (MariaDB), Redis и приложения, требующие скорости (WordPress, Nextcloud).
  • Почему так: Вебу нужны быстрые диски и высокая частота ядра. Ксеон справляется с этим идеально.

Узел 2: MAIL & BACKUP (Сейф)

  • Локация: Inoventica (Те самые ребята, о которых пойдет речь ниже).
  • Железо: Легендарный Core i3-2100, 16GB RAM.
  • Диски: Hitachi Ultrastar HUA72201. Это старые Enterprise-диски, которые славятся своей неубиваемостью. Они медленные, шумные, но надежные как автомат Калашникова.
  • Роль: Почтовый сервер (Mailcow) и хранилище холодных бекапов.
  • Почему так: Почте не нужен мощный процессор. Ей нужен объем, стабильный аптайм и чистый выделенный IP.

Глава 1. Стратегия «Холодного Старта» и обман времени (DNS)

Любой сисадмин знает: самое долгое в переезде — это не копирование файлов, а ожидание. Ожидание обновления DNS (TTL).

Когда вы меняете NS-серверы у регистратора домена, информация об этом расходится по миру от 24 до 48 часов. У меня не было двух суток. Мне нужно было переехать «вчера».

16 декабря, 15:12. Приходит окончательный отказ от регистратора по старому домену. Точка невозврата пройдена. Я нажимаю красную кнопку.

Но у меня был козырь в рукаве. Домен phoenix901.ru был куплен мною еще 9 декабря, за неделю до событий. И не просто куплен, а сразу делегирован на NS-серверы Selectel. Всю неделю он висел там «пустым», но для глобальной сети он уже существовал.

Поэтому, когда я начал миграцию, мне не пришлось ждать обновления NS-записей. Я просто зашел в панель Selectel и прописал боевые A-записи:


@      A   ip_прода (PROD)
mail   A   ip_почты (MAIL NODE)
cloud  A   ip_прода (CLOUD)

Результат: Вместо 24 часов ожидания, новый домен заработал по всему миру через 10 минут. Это называется «Cold Standby» — инфраструктура была готова и ждала только команды на включение.


Глава 2. База данных: Магия числа 13

16:00. Самый технически опасный момент. Перенос базы данных WordPress.

WordPress — система капризная. Она хранит настройки, виджеты и пути к плагинам не просто текстом, а в виде сериализованных массивов PHP. Это выглядит примерно так: s:13:"loveprod.site";.

Цифра 13 — это жестко закодированная длина строки. Если вы просто откроете SQL-файл в текстовом редакторе и замените домен на другой, длина которого отличается (например, на 14 символов), счетчик не совпадет с реальностью. PHP не сможет распаковать массив, настройки сбросятся, сайт «поедет» версткой или выдаст критическую ошибку.

Я готовился использовать тяжелую артиллерию: утилиты типа WP-CLI search-replace или скрипты InterconnectIT. Но перед этим я решил просто посчитать символы.

  • Старый домен: l-o-v-e-p-r-o-d-.-s-i-t-e13 символов.
  • Новый домен: p-h-o-e-n-i-x-9-0-1-.-r-u13 символов.

Я не поверил своим глазам. Это был джекпот. Вселенная буквально подмигнула мне. Идентичная длина строк означала, что мне не нужны сложные инструменты. Я могу использовать грубую силу консоли Linux, не боясь сломать сериализацию.

Вся миграция базы свелась к трем командам в терминале:


# 1. Делаем дамп
mysqldump -u root -p dbname > dump.sql

# 2. SED: Хирургическая замена текста
sed -i 's/loveprod.site/phoenix901.ru/g' dump.sql

# 3. Меняем протоколы (на всякий случай)
sed -i 's/http:\/\/phoenix901.ru/https:\/\/phoenix901.ru/g' dump.sql

# 4. Заливаем обратно
mysql -u root -p dbname < dump.sql

Сайт поднялся мгновенно. Плагины защиты (AIOS), SEO (Rank Math) и все настройки встали как влитые.


Глава 3. Человеческий фактор: Inoventica и Почта

17:00. Сайт работает, но это только половина дела. Почта — это кровеносная система.

Мой почтовый сервер (Mailcow) живет на отдельном дедике в Inoventica. Чтобы письма доходили до адресатов, сервер должен иметь безупречные документы. Главный документ — это PTR-запись (Reverse DNS). Это когда IP-адрес «говорит», какому домену он принадлежит.

Я написал тикет в поддержку с просьбой сменить PTR. И здесь я хочу сделать важное отступление.

Мы привыкли, что техподдержка хостинга — это часто стена. Скрипты, боты, формальные отписки. Но в этот раз всё было иначе.

Сначала инженер Владимир Д. проверил мой IP на чистоту. Я переживал, что из-за атак на старый домен IP мог попасть в блек-листы. Владимир проверил и успокоил: «По IP ip_почты жалобы не поступали. В спам-базах не числится». Это было критически важно: это подтвердило, что проблема была не в моем сервере, а в «токсичности» самой зоны .site.

Затем подключился инженер Илья М. Он не просто сменил PTR за 3 минуты. Когда я в сердцах написал в тикете о том, как намучился с дешевым доменом, он ответил не по скрипту:

«.site очень часто встречается на дешевых хостингах - в этом и ответ. Их используют для не самых лучших целей в сети, от этого и такая репутация. Гораздо легче перейти на другое доменное имя, чем пытаться "обелить" .site, поэтому решение Вы приняли крайне верное».

А в конце добавил: «Теперь надо работать и создавать классный контент».

Это зацепило. Оказалось, что на том конце провода — не бездушная машина, а люди, которые понимают боль сисадмина и даже, возможно, читают то, что я пишу. Спасибо вам, Владимир и Илья. Вы сделали этот переезд человечным.


Глава 4. Битва за Инбокс: Как я взломал Google

Новый домен — это всегда «Day 0». Для спам-фильтров он выглядит подозрительно просто по факту своего рождения.

Яндекс и Mail.ru: Доверие к своим

Как только зона сменилась на .ru, а записи SPF/DKIM обновились, отечественные почтовики открыли ворота.
Письма залетели во «Входящие» с первого раза. Почему? Потому что зона .ru требует паспортные данные. Для Яндекса и Mail.ru это сигнал: «Здесь не бот, здесь реальный человек». Постмастер Mail.ru зажегся зеленым через 20 минут.

Gmail: Последний Босс

Гугл — параноик. Первые письма с phoenix901.ru улетели в спам. Это нормально. Алгоритм рассуждает так: «Я не знаю этого парня, домену 4 часа, лучше перестраховаться».

Можно было ждать неделю «естественного прогрева». Но я применил метод Социальной Инженерии Алгоритмов.

  1. Я отправил письмо на свой личный Gmail. Оно упало в Спам.
  2. Я достал его оттуда кнопкой «Report not spam». Это сильный сигнал, но его мало.
  3. Я ответил на это письмо. Написал осмысленный текст.
  4. Затем я ответил сам себе с сервера Феникса.

Мы создали Thread (Цепочку писем). Для ИИ Гугла это железобетонный аргумент. Спамерам не отвечают. Боты не ведут диалоги. Если идет переписка — значит, это живые люди.

Утром 17 декабря, спустя пару таких итераций, Google капитулировал. Блокировка была снята глобально. Письма начали приходить в Inbox без предупреждений.


Глава 5. Звук тишины

Финал истории наступил, когда я открыл логи WAF (фаервола) на следующий день.

На старом домене .site меня сканировали сотни раз в час. Дешевые зоны — это гетто интернета, там пасутся все ботнеты мира в поисках уязвимостей. Я тратил ресурсы процессора просто на то, чтобы отбиваться от атак.

Сейчас в логах тишина.

Ботнеты, которые долбят старый адрес, получают от моего веб-сервера код 301 Redirect. Большинство примитивных скриптов не умеют ходить по редиректам — они видят «код не 200» и отваливаются. А новый домен в чистой зоне .ru еще не попал в списки массового сканирования.

Нагрузка на сервер упала. Fail2Ban скучает. Система работает на холостых оборотах, занимаясь делом, а не войной.


Итог

За 9 часов и 40 минут я перевез цифровую жизнь на новую планету.

  • Данные: Сохранены на 100%.
  • Доступность: Простоя не было (спасибо DNS-трюку).
  • Репутация: Абсолютно чистый лист.

Это не просто смена вывески. Это переход на новый уровень осознанности в администрировании. Теперь у меня есть автономная система, которая работает на меня, а не я на неё.

Работаем.

👁️ 7

Как я перевез цифровую жизнь за 9 часов и почему люди важнее железа: 2 комментария

  1. игорь, искренне от всей души поздравляю! ты истинный профи! 🙂





    1. Спасибо за поздравления!
      Надеюсь письмо об ответе прилетит тебе во входящие





Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

3 × четыре =

root@loveprod:~# connect
[×]

Получай дайджест раз в неделю.
Без спама.

>>