Высокая доступность на Vultr с плавающим IP и BGP

Vultr позволяет объединить две наши функции (плавающие IP-адреса и BGP) для достижения высокой доступности.

Настроить

Вам понадобятся два экземпляра в одном месте и плавающий IP. Вам также нужно будет открыть билет, запрашивающий настройку BGP на частном ASN для плавающих IP-адресов. (Вы также можете использовать эту функцию, если вы используете BGP вместе с нами на общедоступной ASN)

Вам также потребуется демон BGP, мы рекомендуем BIRD. BIRD обычно доступен через менеджер пакетов вашей операционной системы.

В 192.0.2.10/32качестве примера мы будем использовать плавающий IP-адрес и 198.51.100.99IP-адрес одного из наших экземпляров.

Примечание. Не следует подключать плавающий IP-адрес к какому-либо конкретному экземпляру через панель управления. Если IP-адрес подключен через панель управления, высокая доступность не будет работать должным образом.

Конфигурация IP

Мы собираемся использовать «фиктивный» интерфейс Linux для привязки IP-адреса. Вы можете создать это с помощью следующих команд:

ip link add dev dummy1 type dummy
ip link set dummy1 up
ip addr add dev dummy1 192.0.2.10/32

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

# ip addr show dev dummy1
5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether ba:23:57:2c:ad:bc brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.10/32 scope global dummy1

Конфигурация ПТИЦЫ

Далее мы настроим BIRD. Эти инструкции немного различаются в зависимости от операционной системы хоста, см. Сноски внизу этого раздела.

Создать /etc/bird.confфайл:

log "/var/log/bird" all;

router id 198.51.100.99;

protocol device
{
    scan time 60;
}

protocol direct
{
    interface "dummy1";
}

protocol bgp vultr
{
    local as <<YOURAS>>;
    source address 198.51.100.99;
    import none;
    export all;
    graceful restart on;
    next hop self;
    multihop 2;
    neighbor 169.254.169.254 as 64515;
    password "<<YOURPASSWORD>>";
}

Вам необходимо обновление YOURASи YOURPASSWORDс номером AS и BGP пароль , заданный для вашей учетной записи. Эту информацию можно найти на вкладке BGP на странице экземпляра в панели управления Vultr .

Этот файл конфигурации сообщит BIRD о поиске интерфейса dummy1 и объявит любые IP-адреса, которые он найдет, в нашей инфраструктуре через BGP. Это означает, что как только ваш экземпляр будет запущен, вы начнете получать трафик, и в случае его сбоя трафик остановится.

Конфигурация FreeBSD

Если вы используете FreeBSD в качестве хоста вместо Linux, есть несколько отличий.

  1. Ядро необходимо перекомпилировать для поддержки подписи TCP MD5. Эти инструкции выходят за рамки данной статьи. Если ваше ядро ​​BSD не поддерживает подписи TCP MD5, вы увидите следующий вывод в журнале BIRD.

    $ cat /var/log/bird
    2017-12-15 01:35:00 <INFO> Started
    2017-12-15 01:35:00 <ERR> vultr: Socket error: Kernel does not support TCP MD5 signatures
    
  2. Файл конфигурации BIRD находится /usr/local/etc/bird.confна BSD.

Проверьте подключение BGP

Запустите службу BIRD service bird startи подождите несколько секунд. Убедитесь, что сеанс BGP установлен:

# birdc show proto all vultr
BIRD 1.5.0 ready.
name     proto    table    state  since       info
vultr    BGP      master   up     2016-01-15  Established
  Preference:     100
  Input filter:   REJECT
  Output filter:  ACCEPT
  Routes:         0 imported, 1 exported, 0 preferred
  Route change stats:     received   rejected   filtered    ignored   accepted
    Import updates:      255919581          0  255919581          0          0
    Import withdraws:      1905513          0        ---  257825094          0
    Export updates:              1          0          0        ---          1
    Export withdraws:            0        ---        ---        ---          0
  BGP state:          Established
    Neighbor address: 169.254.169.254
    Neighbor AS:      YOURAS
    Neighbor ID:      x.x.x.x (Host IP)
    Neighbor caps:    refresh enhanced-refresh restart-able AS4
    Session:          external multihop AS4
    Source address:   198.51.100.99
    Hold timer:       184/240
    Keepalive timer:  30/80

Если все работает правильно, вы должны увидеть «Установлено» рядом с состоянием BGP. Распространенной проблемой здесь является наличие межсетевого экрана, блокирующего порт BGP (TCP 179). Кроме того, если этот экземпляр был развернут до того, как Vultr настроил ваш сеанс BGP, его необходимо будет перезапустить через панель управления, прежде чем BGP станет доступен. Если у вас все еще есть проблемы, посмотрите на /var/log/birdболее подробную информацию.

тестирование

Вы можете убедиться, что BIRD объявляет маршрут к вашему плавающему IP с помощью следующего:

# birdc show route
BIRD 1.5.0 ready.
192.0.2.10/32    dev dummy1 [direct1 2015-12-29] * (240)

Чтобы убедиться, что это работает правильно, вы можете отключить интерфейс dummy1 (с помощью ip link set dummy1 down), а затем повторить show routeкоманду. ПТИЦА заметит, что интерфейс исчез, и откажется от маршрута.

Использование продукции

Чтобы обеспечить работоспособность вашего сайта, необходимо, чтобы несколько серверов работали с одинаковой конфигурацией BGP. Если один из экземпляров выйдет из строя, трафик будет динамически перенаправлен на один из других экземпляров. Количество экземпляров, которые вы можете запустить с этой конфигурацией в определенном месте, не ограничено, однако только один из них будет активен в любой момент времени.

В некоторых наших местах трафик будет распределяться случайным образом между любыми экземплярами, которые вы настроили таким образом. В конце концов все места будут настроены таким образом. Если вы хотите, чтобы один экземпляр получал весь трафик, если он не находится в автономном режиме, вам следует использовать prepends для управления трафиком.

Например, если у вас есть два экземпляра:

  • Экземпляр A - основной экземпляр, должен нормально получать весь трафик
  • Экземпляр B - резервный экземпляр, должен получать трафик, только если экземпляр A не работает

Для этого добавьте следующий раздел в конфигурацию BIRD на экземпляре B следующим образом:

export filter {
    bgp_path.prepend(YOURAS);
    accept;
};

Это гарантирует, что трафик всегда будет идти к экземпляру А, если он не работает.

Если у вас есть экземпляр C, который должен получать трафик только тогда, когда A и B не работают, вы можете просто добавить еще одну строку «bgp_path.prepend» для этого.

Настройка IPv6

Этот процесс также будет работать с зарезервированными подсетями IPv6, хотя вы будете использовать «bird6» вместо «bird» и «birdc6» вместо «birdc».



Leave a Comment

Как получить доступ к Vultr VPS

Как получить доступ к Vultr VPS

Vultr предоставляет несколько различных способов доступа к вашему VPS для настройки, установки и использования. Учетные данные для доступа Учетные данные для доступа к вашему VPS по умолчанию

Windows Custom ISO с драйверами VirtIO

Windows Custom ISO с драйверами VirtIO

Создание Windows ISO (только для версий сервера) Получите последние двоичные драйверы VirtIO для Windows, упакованные в виде файла ISO, для

Запуск CoreOS на Vultr VPS

Запуск CoreOS на Vultr VPS

Пожалуйста, прочитайте: Vultr теперь предлагает CoreOS на странице заказа - это руководство объясняет, как настроить CoreOS вручную. Эти инструкции проведут вас через бег

Настройка BGP на Vultr

Настройка BGP на Vultr

Функция Vultrs BGP позволяет вам использовать свое собственное IP-пространство и использовать его в любом из наших мест. Начало работы Для использования BGP вам потребуется: развернутый Vult

Исправление времени на Windows Server

Исправление времени на Windows Server

По умолчанию системному времени Vultr VPS с Windows Server 2012 установлено значение часового пояса UTC. Вы можете изменить часовой пояс по своему желанию, но изменить его

Руководство по переносу данных Vultr

Руководство по переносу данных Vultr

Как я могу загрузить данные моего облака из Vultr? Переносимость данных на платформе Vultr Мы предлагаем вам ряд простых решений для загрузки.

Ubuntu 16.04 Изображения сообщают об ошибках в сервисе метаданных EC2

Ubuntu 16.04 Изображения сообщают об ошибках в сервисе метаданных EC2

При загрузке некоторые старые экземпляры Ubuntu 16.04 могут отображать следующее предупреждение: ************************************ **************************************

Как использовать библиотеку Vultr Go для получения информации о сервере

Как использовать библиотеку Vultr Go для получения информации о сервере

Введение Официальная библиотека Vultr Go может использоваться для взаимодействия с API Vultr. Vultr API позволяет вам контролировать ресурсы, связанные с вами

Vultr Firewall

Vultr Firewall

Vultr предлагает сетевое решение брандмауэра, которое можно включить для защиты одного или нескольких вычислительных экземпляров. Наличие набора правил брандмауэра для ваших серверов я

Доступ к однопользовательскому режиму (сброс пароля root)

Доступ к однопользовательскому режиму (сброс пароля root)

Чтобы сбросить пароль root вашего сервера, вам нужно будет загрузиться в однопользовательском режиме. Получите доступ к вашему серверу на портале для клиентов Vultr, затем выполните шаг

Пример авторизационного письма для объявлений BGP

Пример авторизационного письма для объявлений BGP

Пожалуйста, используйте следующий шаблон при запросе авторизации для объявлений BGP. АВТОРИЗАЦИОННОЕ ПИСЬМО [ДАТА] К кому это может относиться,

Как создать обратные записи DNS или PTR в панели управления Vultr

Как создать обратные записи DNS или PTR в панели управления Vultr

Введение в Vultr Обратный DNS Чтобы добавить PTR или Обратный DNS-запись для IP-адреса ваших экземпляров, вам необходимо выполнить шаги, описанные ниже:

Установите Nginx + PHP FPM + Caching + MySQL в Ubuntu 12.04

Установите Nginx + PHP FPM + Caching + MySQL в Ubuntu 12.04

Вероятно, многие люди будут использовать свои Vultr VPS в качестве веб-серверов, хорошим выбором будет Nginx в качестве веб-сервера. В этой теме я собираюсь описать

Vultr Object Storage

Vultr Object Storage

S3-совместимое * хранилище объектов теперь доступно в облаке Vultr. Наша технология хранения объектов является доступной, масштабируемой и легко интегрируемой в вас.

Единая точка входа

Единая точка входа

Ваша корпоративная система входа в систему может быть интегрирована с системой учетных записей Vultrs с помощью функции единого входа (SSO). SSO помогает упростить управление паролями

Как мне генерировать ключи SSH?

Как мне генерировать ключи SSH?

Ключ SSH позволяет вам войти на ваш сервер без пароля. Ключи SSH могут автоматически добавляться на серверы в процессе установки.

Включить звук Windows на экземпляре Windows Server

Включить звук Windows на экземпляре Windows Server

Примечание. Это руководство будет работать для экземпляров Windows 2012 R2 и Windows 2016. Серверы Windows по умолчанию не имеют включенной службы Windows Audio.

Использование двухфакторной аутентификации для входа в панель управления Vultr

Использование двухфакторной аутентификации для входа в панель управления Vultr

Двухфакторная аутентификация, или 2FA, - это метод, который добавляет уровень безопасности, требуя дополнительного шага аутентификации для входа в систему. Для надежной безопасности

Изменение исходящего IP-адреса Postfix

Изменение исходящего IP-адреса Postfix

Когда серверу назначено более одного IP-адреса, Postfix случайным образом выбирает IP-адрес для исходящих электронных писем. Это поведение Postfix по умолчанию может привести к

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

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

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше