Купить Корзина
  • Облако и IT-инфраструктура
  • Домены и сайты
  • Вход
Получить консультацию

Ответим на вопросы, расскажем о конфигурациях, поможем с переносом, подберем оборудование, подготовим коммерческое предложение

Нажимая кнопку «Отправить» я даю согласие на обработку персональных данных и подтверждаю, что ознакомился с Политикой конфиденциальности

Персональный менеджер ответит на ваши вопросы и проведет через все этапы заключения договора: — подберет оборудование — сформирует коммерческое предложение — поможет с миграцией сервера к нам

Нажимая кнопку «Отправить» я даю согласие на обработку персональных данных и подтверждаю, что ознакомился с Политикой конфиденциальности

Или просто оставьте номер телефона, и мы перезвоним вам

  • Телефон в Москве

    +7 495 580-11-11
  • Бесплатный звонок по России

    8 800 555-34-78
  • Или обратитесь в наши офисы

    Региональные номера
    1. Документация
    2. Инструкции
    3. Облачные серверы
    4. Инструкции для UNIX-подобных операционных систем
    5. Как изменить IP-адрес на сервере и в DNS

    Как изменить IP-адрес на сервере и в DNS

    При смене IP-адреса сервера такие сервисы, как веб-серверы, прокси или базы данных, могут перестать отвечать, так как в их конфигурациях указан старый IP.

    В этой статье расскажем, как найти и заменить статический IP-адрес в конфигурационных файлах сервера на новый, а также как правильно обновить DNS-записи для возобновления корректной работы всех услуг.

    Предварительные действия

    Перед внесением изменений важно создать резервные копии конфигураций, чтобы избежать потери данных и неработоспособности сервера. А также определить старый и новый IP-адреса.

    • 1
      Подключитесь к серверу по SSH.
    • 2

      Скопируйте все файлы, которые планируете редактировать. Например, команда для Ubuntu 22.04 LTS будет выглядеть так:

      sudo cp -r /etc/nginx /etc/nginx.backup
      sudo cp -r /etc/apache2 /etc/apache2.backup

      или

      Создайте снэпшот сервера по инструкции.

    • 3

      Определите старый и новый IP-адреса, для удобства можно задать переменные:

      OLD_IP="192.168.0.10"
      NEW_IP="192.168.0.20"

      Поиск конфигурационных файлов со старым IP

      Обратите внимание

      Примеры команд приведены для ОС Ubuntu 22.04 LTS.

      Чтобы найти все файлы, где используется старый IP-адрес, выполните команду grep.

      sudo grep -r --include="*.conf" --include="*.yml" --include="*.yaml" "$OLD_IP" /etc/ /opt/

      Где:

      — -r — рекурсивный поиск во вложенных папках;

      — --include="*.conf", --include="*.yml", --include="*.yaml" — поиск в файлах с расширением .conf, .yml, .yaml;

      — $OLD_IP — переменная с вашим старым IP.

      Чтобы сохранить пути ко всем файлам для последующего редактирования, выполните:

      sudo grep -rl --include="*.conf" --include="*.yml" --include="*.yaml" "$OLD_IP" /etc/ /opt/ > files_with_old_ip.txt

    Готово. Все найденные файлы перечислены в files_with_old_ip.txt.

    Редактирование конфигурационных файлов

    Последовательно откройте каждый файл из списка и замените старый IP на новый.

    • 1

      Откройте файл в текстовом редакторе, например, с помощью nano:

      sudo nano /etc/nginx/sites-available/example.conf
    • 2

      Найдите и замените IP-адрес.

      Например, файл с таким содержимым:

      server {
          listen 192.168.0.10:80;
          server_name example.com;
          root /var/www/example;
      }

      После изменений будет выглядеть так:

      server {
          listen 192.168.0.20:80;
          server_name example.com;
          root /var/www/example;
      }
    • 3
      Сохраните изменения с помощью сочетания клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.
    • 4
      Повторите эти шаги для каждого файла из списка files_with_old_ip.txt.

    Перезапуск сервисов

    После внесения всех изменений необходимо перезагрузить измененные сервисы.

    • 1

      Проверьте корректность синтаксиса конфигурационных файлов веб-серверов:

      # Проверить конфигурацию Nginx
      nginx -t
      
      # Проверить конфигурацию Apache
      apachectl -t
    • 2

      При отсутствии ошибок перезапустите сервисы:

      # Для Nginx
      sudo systemctl restart nginx
      
      # Для Apache
      sudo systemctl restart apache2
      
      # Для других сервисов (PostgreSQL, Redis и т.д.)
      sudo systemctl restart postgresql
    • 3

      Проверьте их статус и убедитесь, что в выводе команды статус active (running) и нет ошибок:

      # Проверить статус Nginx
      sudo systemctl status nginx
      
      # Проверить статус Apache2
      sudo systemctl status apache2
      
      # Проверить статус других сервисов (PostgreSQL, Redis и т.д.)
      sudo systemctl status postgresql

    Проверка настроек фаервола

    • 1

      Проверьте существующие правила для старого IP-адреса:

      # Для iptables 
      sudo iptables -L -n | grep "$OLD_IP"
      
      # Для ufw
      sudo ufw status | grep "$OLD_IP"
    • 2

      Создайте аналогичные правила для нового IP:

      # Для iptables 
      sudo iptables -A INPUT -d $NEW_IP -p tcp --dport 80 -j ACCEPT
      
      # Для ufw
      sudo ufw allow from any to $NEW_IP port 80
    • 3

      Убедитесь, что правила добавлены:

      # Для iptables 
      sudo iptables -L -n | grep "$NEW_IP"
      
      # Для ufw
      sudo ufw status numbered

    Проверка и обновление hostname сервера

    Hostname — имя сервера в системе. Он используется в логах, терминале и некоторыми сервисами (SSH, мониторинг, почта). Если сервер был создан с техническим hostname вида 192-168-0-10.cloudvps.reg.ru, его нужно обновить в соответствии с новым IP. Проверьте текущий hostname с помощью команды hostnamectl.

    • 1

      Установите новый hostname.

      Важно: Hostname должен быть доменоподобным именем, например server1.example.com, либо корректным техническим именем на базе нового IP, например, 192-168-0-20.cloudvps.reg.ru. Если у вас собственный домен — рекомендуется использовать его.

      sudo hostnamectl set-hostname <новый IP>.cloudvps.reg.ru
    • 2

      Убедитесь, что изменения применились:

      hostnamectl
    • 3

      Проверьте файл /etc/hosts:

      sudo nano /etc/hosts
    • 4

      Если в файле сохранились старый IP и hostname, измените строку со старым IP на:

      192.168.0.20   192-168-0-20.cloudvps.reg.ru

      Вместо 192.168.0.20 введите ваш новый IP-адрес.

    • 5
      Сохраните изменения с помощью сочетания клавиш Ctrl + O и закройте файл комбинацией Ctrl + X.

    Когда важно обновлять hostname

    Обновление hostname обязательно, если:

    — в логах сервисов встречается старый IP,

    — вы используете мониторинг или CM-системы (Zabbix, Prometheus, Ansible),

    — на сервере настроены почтовые сервисы (Postfix, Exim).

    PTR-запись

    PTR-запись — это обратная DNS-запись. Она сопоставляет IP-адрес с доменным именем сервера. PTR-запись часто используется в почтовыми сервисами, системами мониторинга и безопасности для проверки подлинности источника трафика.

    Связь PTR и hostname

    PTR-запись должна указывать на hostname сервера. Если PTR не соответствует hostname:

    — почтовые сервисы могут считать сервер недоверенным,

    — письма могут попадать в спам,

    — возможны ошибки в мониторинге и логировании.

    Для технических hostname на основе IP (например, 192-168-0-10.cloudvps.reg.ru) PTR также будет указывать на имя со старым IP. После смены IP PTR-запись необходимо обновить.

    Проверка PTR-записи

    Выполните команду:

    dig -x <новый IP> +short

    Пример корректного вывода:

    <новый IP>.cloudvps.reg.ru.

    Важно: PTR и hostname должны совпадать.

    Пример корректного вывода:

    IP: 192.168.0.20
    hostname: 192-168-0-20.cloudvps.reg.ru
    PTR: 192-168-0-20.cloudvps.reg.ru

    Если используется собственный домен:

    IP: 192.168.0.20
    hostname: app01.example.com
    PTR: app01.example.com

    Если вывод пустой или содержит старое имя, обновите PTR-запись по инструкции.

    Обновление DNS-записей

    Чтобы пользователи могли находить ваш сервер по доменному имени, обновите DNS-записи типа «A».

    DNS-серверы
    Инструкция, как добавить ресурсные записи
    ns1.reg.ru и ns2.reg.ru
    Настройка ресурсных записей в личном кабинете
    ns1.hosting.reg.ru и ns2.hosting.reg.ru
    Настройка ресурсных записей на хостинге
    ns5.hosting.reg.ru и ns6.hosting.reg.ru
    Настройка ресурсных записей на VPS

    Обратите внимание

    Процесс обновления DNS-записей может занять от нескольких минут до 24 часов. В этот период часть пользователей может по-прежнему обращаться на старый IP-адрес.

    Специальные предложения
    • Гранты для бизнеса до 500к
    • Скидки на cloud GPU до 50%
    • Скидки на bare-metal с А4000 и А5000
    • Кешбэк 100% на kubernetes
    Рассылка Рег.облака

    Лайфхаки, скидки и новости об IT

    Даю согласие на получение рекламных и информационных материалов

    Продукты и сервисы
    • Облачные серверы
    • Выделенные серверы
    • Базы данных
    • S3 хранилище
    • Кластеры Kubernetes
    • Cloud GPU
    • VPS
    Решения
    • Интернет-магазин в облаке
    • Разработка и тестирование в облаке
    • Удаленный рабочий стол
    • Работа с 1С
    • Корпоративное хранение данных
    • Искусственный интеллект и машинное обучение в облаке
    • Конфигуратор сервера
    • Администрирование серверов
    Техподдержка
    • Создать тикет
    • Документация
    Прочее
    • О компании
    • Партнерская программа
    • Гранты
    • Блог
    • Контакты
    • Отзывы клиентов
    • © ООО «РЕГ.РУ» Нашли опечатку?
      Выделите и нажмите Ctrl+Enter
    • Облачная платформа Рег.ру включена в реестр российского ПО Запись №23682 от 29.08.2024
      • Политика конфиденциальности
      • Политика обработки персональных данных
      • Правила применения рекомендательных технологий
    • 8 800 333-92-23

      Бесплатный звонок по России

      +7 (495) 009‑92‑22

      Телефон в Москве

      • telegram
      • vk
      • vkvideo
      • vcru
      • moikrug
      • rbc
    • Мы используем cookie и рекомендательные технологии для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера