НовоеWhatsPush — WhatsApp Business API для вашей POS-системы и CRM.
VetstaCP

Массовая смена IP в DNS после миграции сервера VestaCP

Здесь я создал Bash-скрипт для VestaCP, который автоматически обновляет IP во всех доменах и учётных записях одной командой.

Обновление IP в DNS VestaCP после миграции сервера
В этой статье
  1. Прежде чем начать
  2. После изменения
  3. More about vestacp

Введение:

После долгих исследований и полного анализа форумов vestacp выяснилось, что официального решения проблемы, возникающей после миграции сервера, нет: IP-адрес не меняется даже после повторной генерации DNS, WEB и почты. Здесь я создал скрипт, который решил мою проблему, когда мне нужно было перейти с одного IP на другой; в некоторых случаях эту проблему вызывает и NAT IP.

 

Как обновить IP после миграции сервера:

Несколько дней назад мы работали над переносом нашего центра обработки данных в новое место, где большинство наших клиентов используют VestaCP в качестве панели управления. VestaCP предоставляет очень удобную и замечательную возможность для миграции данных: нужно просто создать резервную копию с помощью v-backup-users , загрузить полученный zip-файл на новый сервер и выполнить команду v-restore-user — и всё готово. Но в нашем случае на каждом сервере более 500 учётных записей, которые нужно перенести, поэтому новая проблема заключалась в том, чтобы восстанавливать каждую учётную запись по одной, а это слишком долгий процесс, поэтому мы создали для этого скрипт. Потому что официального способа восстановить каждую учётную запись до сих пор нет. После успешного восстановления мы обнаружили новую проблему: запись DNS каждого домена по-прежнему указывала на старый IP, который не менялся; после множества усилий все официальные решения не работали, поэтому я создал скрипт для решения этой проблемы и подумал, что он может понадобиться и вам, поэтому делюсь им здесь. Для этого нужно выполнить следующие шаги.

Создайте новый файл в корневой папке или скачайте скрипт с github

nano changeDNS.sh

Добавьте следующий код в файл

#!/bin/bash

oldIp=$1
newIp=$2

sed -i "s/$oldIp/$newIp/g" /home/*/conf/dns/*.db
sed -i "s/$oldIp/$newIp/g" /usr/local/vesta/data/users/*/dns/*.conf
/usr/local/vesta/bin/v-restart-dns
echo "Everything done :) all DNS has been replaced from $oldIp to $newIp"

Просто сохраните файл и выполните его следующим способом

bash changeDNS.sh 2.2.2.2 4.4.4.4

Here the 2.2.2.2 is the old IP and 4.4.4.4 is new IP just replace it with your IP.

Вывод:

В VestaCP после переноса на новый сервер старую запись DNS теперь легко заменить описанным выше способом, сэкономив время и усилия.

Прежде чем начать

  • Сделайте резервную копию зон DNS и веб-конфигурации каждого пользователя.
  • Снизьте TTL ваших записей за день до переноса, чтобы изменение распространилось быстро.
  • Не выключайте старый сервер, пока все записи не распространятся.

После изменения

  1. Пересоберите зоны DNS и перезапустите службу DNS, затем проверьте один домен с помощью dig или nslookup.
  2. Проверьте, что сайт, почта и SSL работают на новом IP.
  3. Если вы также используете Cloudflare или другого DNS-провайдера, обновите IP-адрес исходного сервера и там.

Нужна помощь с переносом серверов? Ознакомьтесь с нашим облачным хостингом и управлением серверами.

More about vestacp

Want to go further with vestacp? These Netstech guides and services are a good next step:

Читайте также

Похожие статьи

Давайте создадим то, что вашему бизнесу нужно дальше

Расскажите о проекте — бесплатная консультация и понятный расчёт в течение нескольких дней.