Skip to main content

Настроить Failover IP

Это руководство объясняет, как настроить Failover IP на вашем Linux VPS. Выберите раздел, соответствующий вашему дистрибутиву и его сетевому менеджеру.

Предварительные требования

  • Доступ SSH root или sudo
  • Failover IP, назначенный вашему VPS
  • Система Linux (Debian, Ubuntu, AlmaLinux, Rocky Linux, Fedora…)

Конфигурация через ifupdown (/etc/network/interfaces)

Устаревший метод, используемый в Debian и старых версиях Ubuntu. Если ваша система использует Netplan (Ubuntu 18.04+), обратитесь к следующему разделу.

  1. Отключите автоматическую конфигурацию сети:

    sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

    Добавьте эту строку:

    network: {config: disabled}
  2. Настройте виртуальный интерфейс:

    sudo nano /etc/network/interfaces.d/50-cloud-init

    Добавьте эти строки:

    # Интерфейс Failover IP
    auto eth0:1
    iface eth0:1 inet static
    address YOUR_FAILOVER_IP
    netmask 255.255.255.255
  3. Перезапустите сетевую службу:

    sudo systemctl restart networking

Конфигурация через Netplan (Ubuntu 18.04+)

В современных системах на базе Ubuntu сетью управляет Netplan, а не /etc/network/interfaces. Используйте этот метод вместо предыдущего раздела.

  1. Определите имя вашего сетевого интерфейса:

    ip a

    (например eth0, ens3 или enp1s0)

  2. Отредактируйте файл конфигурации Netplan:

    sudo nano /etc/netplan/50-cloud-init.yaml

    Добавьте Failover IP к вашему интерфейсу, сохранив существующую конфигурацию (соблюдайте отступы YAML, 2 пробела):

    network:
    version: 2
    ethernets:
    eth0:
    addresses:
    - YOUR_FAILOVER_IP/32
  3. Примените конфигурацию:

    sudo netplan apply

Совет: используйте sudo netplan try вместо netplan apply для проверки; конфигурация автоматически отменяется через 120 секунд, если вы её не подтвердите, что предотвращает потерю доступа SSH в случае ошибки.

Конфигурация через network-scripts (AlmaLinux / Rocky Linux 8 и 9)

На дистрибутивах, производных от RHEL (AlmaLinux, Rocky Linux 8 и 9), создайте отдельный файл конфигурации для виртуального интерфейса.

  1. Определите имя вашего сетевого интерфейса:

    ip a

    (например eth0 или ens3)

  2. Создайте файл конфигурации алиаса:

    sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0:1

    Добавьте эти строки:

    DEVICE=eth0:1
    BOOTPROTO=static
    IPADDR=YOUR_FAILOVER_IP
    NETMASK=255.255.255.255
    ONBOOT=yes
  3. Перезапустите сетевую службу:

    sudo systemctl restart NetworkManager

Конфигурация через NetworkManager (Fedora, AlmaLinux, Rocky Linux)

На Fedora и последних версиях AlmaLinux и Rocky Linux сетью управляют напрямую через файлы подключений NetworkManager.

  1. Определите файл подключения вашего интерфейса:

    ls /etc/NetworkManager/system-connections/
  2. Отредактируйте соответствующий файл подключения (например cloud-init-eth0.nmconnection):

    sudo nano /etc/NetworkManager/system-connections/cloud-init-eth0.nmconnection

    В разделе [ipv4] добавьте Failover IP:

    [ipv4]
    method=auto
    address1=YOUR_FAILOVER_IP/32
  3. Перезапустите NetworkManager:

    sudo systemctl restart NetworkManager

Проверка

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

    ip addr show
  2. Проверьте связность:

    ping -I YOUR_FAILOVER_IP 8.8.8.8

Лучшие практики

  • Документируйте ваши сетевые конфигурации
  • Тестируйте конфигурацию перед любым развертыванием в производство
  • Сохраняйте резервную копию файлов конфигурации
  • Настройте оповещения в случае потери связности

Устранение неполадок

  • Проверьте системные логи: sudo journalctl -xe
  • Проверьте конфигурацию сети: sudo networkctl status
  • Убедитесь, что IP правильно назначен вашему VPS
  • Проверьте, нет ли конфликта IP
  • В крайнем случае загрузите ваш сервер в режиме rescue и добавьте IP на лету: ip addr add YOUR_FAILOVER_IP/32 dev eth0

Важные примечания

  • Failover IP должен быть настроен с сетевой маской 255.255.255.255
  • Некоторые сервисы могут потребовать перенастройки для использования нового IP
  • Конфигурация может варьироваться в зависимости от вашего дистрибутива Linux