Как сделать плавающий ip адрес на компьютере

Обновлено: 16.05.2024

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

Количество используемых приватных сетей не ограничено, пропускная способность — 1 Гбит/с.

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Сеть.
  2. Откройте вкладку Приватные сети.
  3. Нажмите Создать сеть.
  4. Выберите регион.
  5. Введите имя сети.
  6. Укажите CIDR подсети – диапазон IP-адресов, доступных в этой подсети.
  7. Опционально: нажмите Добавить подсеть.
  8. Нажмите Создать.

Объединение серверов в приватную сеть

Облачные серверы можно объединять в приватные сети.

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

Вы можете сделать приватную сеть одного проекта доступной для другого проекта — кросспроектную сеть.

В одном проекте

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Серверы.
  2. Откройте страницу сервера ⟶ вкладка Порты.
  3. Нажмите Добавить порт.
  4. Выберите приватную подсеть.
  5. Укажите IP-адрес.
  6. Нажмите Добавить порт.

Кросспроектная

  1. В панели управления нажмите на имя текущего проекта и откройте список всех проектов.
  2. Скопируйте UUID целевого проекта.
  3. Перейдите в раздел Облачная платформа ⟶ Сеть в текущем проекте.
  4. Откройте карточку приватной сети (которую необходимо расшарить на другой проект) ⟶ вкладка Проекты.
  5. Нажмите Добавить проект.
  6. Введите скопированный UUID целевого проекта.
  7. Опционально: подключите облачные серверы к этой сети.

Создание роутера

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Сеть.
  2. Откройте вкладку Роутеры.
  3. Нажмите Создать роутер.
  4. Выберите регион.
  5. Введите имя.
  6. Нажмите Создать.

Создание плавающего IP-адреса

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

Если вы создаете первый плавающий IP-адрес в регионе, автоматически создастся сеть nat и роутер router-nat.

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Сеть.
  2. Откройте вкладку Плавающие IP.
  3. Нажмите Создать IP-адрес.
  4. Выберите регион.
  5. Укажите количество адресов.
  6. Нажмите Создать.

Подключение приватной сети к роутеру

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

    .
  1. Откройте карточку роутера ⟶ вкладка Порты.
  2. Нажмите Добавить порт.
  3. Выберите приватную подсеть.
  4. Укажите IP-адрес.
  5. Нажмите Добавить порт.
  6. Откройте карточку роутера ⟶ вкладка Подключение.
  7. Выберите шлюз external-network.
  8. Нажмите Подключить.

Подключение сервера к интернету

Доступ в интернет осуществляется через публичные подсети или плавающий IP-адрес.

Пропускная способность сети через интернет и локально — 1 Гбит/с.

Через публичные подсети

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Сеть.
  2. Откройте вкладку Публичные подсети.
  3. Нажмите Создать подсеть.
  4. Выберите регион.
  5. Выберите размер подсети.
  6. Нажмите Создать.
  7. Перейдите в раздел Облачная платформа ⟶ Серверы.
  8. Откройте страницу сервера ⟶ вкладка Порты.
  9. Нажмите Добавить порт.
  10. Выберите публичную подсеть.
  11. Нажмите Добавить порт.

Через плавающий IP

    . .
  1. В панели управления перейдите в раздел Облачная платформа ⟶ Серверы.
  2. Откройте страницу сервера ⟶ вкладка Порты.
  3. Нажмите Добавить порт.
  4. Выберите приватную сеть.
  5. Укажите IP-адрес.
  6. Нажмите Добавить порт.
  7. Подключите к порту плавающий адрес — нажмите Подключить в столбце Плавающий IP.

VRRP-подсети

Одной VRRP-подсетью можно связать 2 региона. В одном проекте может быть несколько VRRP-подсетей, если в проекте доступно более 2 регионов.

  1. В панели управления перейдите в раздел Облачная платформа ⟶ Квоты.
  2. Нажмите Изменить квоты.
  3. В блоке Межрегиональные ресурсы⟶ поле VRRP-подсеть укажите количество квот.
  4. Перейдите в раздел Облачная платформа ⟶ Сеть.
  5. Откройте вкладку VRRP-подсети.
  6. Нажмите Создать VRRP-подсеть.
  7. Выберите основной и резервный регион.
  8. Нажмите Создать.

Управление сетями с помощью CLI

Создание подсетей

Для создания новой сети:

В ответе будет выведена таблица с информацией о сети:

Создать в этой сети подсеть можно при помощи следующей команды:

Управление портами

Для просмотра всех портов сервера:

Для просмотра всех портов сети:

Для создания в сети порта:

Для подключения порта к облачному серверу:

Для удаления порта:

Назначение плавающего IP-адреса

Для выхода облачного сервера в интернет используется плавающий IP-адрес.

Для просмотра списка всех выделенных плавающих IP-адресов:

Для выделения плавающего адреса:

Для назначения серверу плавающего адреса, созданного ранее в панели управления:

В параметре <server> может быть использовано имя или ID сервера.

Проброс порта

Проброс порта (port forwarding) используется для перенаправления трафика с одного порта на другой порт. Например, можно настроить проброс порта на плавающем IP-адресе на любой порт в приватной подсети — в таком случае доступ к приватному порту будет организован без заказа дополнительного IP.

Примечание: плавающий IP-адрес перед началом настройки проброса портов не должен быть ассоциирован с каким-либо интерфейсом, балансировщиком и так далее.

Обратите внимание! Доступно только для версий OpenStack Train и выше.

IP – это адрес устройства в сети. Каждый девайс, подключенный к интернету, имеет свой персональный идентификатор, по которому его можно узнать. Из-за того, что IP-адрес фиксированный, возможны некоторые риски, связанные с возможными перебоями в Сети.

Следовательно, у многих появляется вопрос: что делать для того, чтобы сделать IP-адрес плавающим и обезопасить работу ресурса?

Содержание

Что такое плавающий IP?

IP адрес

Есть два типа IP-адресов: плавающие и фиксированные. Чтобы получить первые, необходимо их «вытащить» из пула, настраиваемого администратором, а потом передать их девайсам. Как только плавающий IP достается человеку, он переходит в его непосредственное владение. То есть, он может в любой момент передать его другому компьютеру.

Если компьютер по тем или иным причинам перестает работать, то плавающий IP-адрес сохраняется.

Необходимо выделить основные функции плавающих IP-адресов:

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

Вот, что такое плавающий IP.

Чем плавающие IP отличаются от фиксированных?

список IP адресов

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

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

Таким образом, плавающие IP очень хорошо подходят для серверов, через которые осуществляется доступ к публичным веб-узлам типа сайтов. Они достаются из ЦОД и могут использоваться для сохранения бесперебойности работы сервера или устройства в Сети.

Инструкция, как создать плавающий IP

Итак, как сделать плавающий IP? Прежде всего, надо понять, что перед изменением типа IP адреса с фиксированного на плавающий необходимо получить разрешение интернет-провайдера. Поэтому следует обратиться непосредственно к нему. При этом данная возможность доступна только один раз.

Но что же делать, если плавающий IP-адрес не получается получить через провайдера? В этом случае можно попробовать выкрутиться. Для этого необходимо зайти в Панель управления, найти там пункт «Сетевые подключения». После этого ищем протокол Интернета, переходим в «Свойства» и поставить флажок «Автоматическое получение IP-адреса».

изменение IP адреса

После этого выбирается протокол DHCP и делается электронный запрос. После этого вы увидите список серверов, которые доступны именно для этого человека. Далее записывается IP-адрес 0.0.0.0. После этого система попросит указать некоторые данные. Это надо будет сделать.

Важно при этом ввести адрес компьютера – аппаратный, уникальный, а также последний IP, через который осуществлялся выход в Интернет. После того, как будут выполнены все эти действия, сервер отправит ответ, в котором будет написан новый адрес.

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

После того, как будет получен IP плавающего типа, требуется его регистрация на DNS-сервере. Чтобы это сделать, надо воспользоваться сервисом No-IP, где надо зарегистрироваться, скачать программу Updater и установить ее.

После завершения этого процесса должна появиться кнопка «Динамический DNS», которая будет расположена в меню «Пуск». Надо сделать правый клик мышью по этой кнопке и открыть вкладку «Настроить». Далее будет осуществлена установка и обновление программы, после чего появится новый плавающий IP.

регистрация на DNS сервере

Здесь возможны некоторые нюансы. Дело в том, что его параметры могут лишь единоразово применяться. Также возможны случаи, когда вы еще не получили плавающий IP, а уже надо выйти в интернет. В этом случае последовательность действий следующая:

  1. Открываем сервис 2IP, на котором можно посмотреть нынешний адрес компьютера.
  2. Отключаемся от интернета.
  3. Убеждаемся в том, что доступ к интернету был отключен.
  4. Заново подключаемся к интернету.

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

Выводы

Таким образом, плавающий IP дает возможность обеспечить большую гибкость и менять адресацию компьютеров по своему желанию. Они очень часто используются на VPS – внешних серверах, к которым можно подключиться для выполнения действий на другой машине. Их использование полезно для того, чтобы обеспечить отказоустойчивость всей серверной инфраструктуры. Ведь всегда можно изменить компьютер при сохранении того же адреса. И если возникает ошибка, можно быстро переключить устройство и таким образом обеспечить бесперебойную связь.

Подробно о том, как сделать плавающий IP

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

Это параметр неизменен и назначается именно администратором сетевого подключения.

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

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

Если напрямую не удается связаться с вашим провайдером Интернета, или по каким-то личным причинам вы этого делать не хотите или не можете, тогда есть вариант получить плавающий адрес без обращения к оному. Как это сделать? Зайти в Панель управления, найти там Сетевые подключения, выбрать протокол Интернета, далее войти в Свойства, именно в этой вкладе нужно установить флажок напротив строки Автоматическое получение IP-адреса, выбрать такой параметр протокола настройки, как DHCP, после чего отправляется электронный запрос.

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

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

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

Вот и все секреты, как сделать плавающим свой IP.

Запись опубликована 09.07.2015 автором katrinas11 в рубрике Интернет и сети. Отблагодари меня, поделись ссылкой с друзьями в социальных сетях:

Недавно я описал, как работает VlanManager и как он обеспечивает масштабируемость сети и изолированность пользователей. Но до настоящего момента я говорил только о сетях с фиксированным IP-адресом, принадлежащих различным пользователям. И хотя по умолчанию экземплярам выделяются фиксированные IP-адреса, они не гарантируют немедленной доступности экземпляров из-за пределов сети (или из других ЦОД). Представьте себе следующий сценарий:

Вы запускаете небольшой веб-сайт с одним www-сервером, сервером базы данных, и брандмауэром, который выполняет трансляцию сетевых адресов (NAT) и фильтрацию трафика. Обычно вы применяете следующие настройки:
-Все серверы общаются внутри сети в рамках частного (немаршрутизируемого) сетевого диапазона (например, 192.168.0.0/24).
-Есть один публичный маршрутизируемый IP-диапазон, на котором виден www-сервер.

Вы делаете следующее:
-Присваиваете брандмауэру публичный IP-адрес.
-Создаете правило NAT на брандмауэре для маршрутизации трафика с публичного IP-адреса на частный IP-адрес www-сервера.

Фиксированные IP-адреса в OpenStack работают так же, как и сетевой диапазон 192.168.0.0/24 в примере выше. Они гарантируют только взаимодействие между экземплярами внутри одного кластера OpenStack. Но OpenStack также вводит другой пул IP-адресов под названием “плавающие IP-адреса”. Плавающие IP-адреса — это публично маршрутизируемые IP-адреса, которые вы покупаете у провайдера интернет-услуг (того, который помещается в указанный выше брандмауэр). Пользователи могут назначать IP-адреса своим экземплярам, делая их доступными из внешней сети.

Различия между плавающими и фиксированными IP-адресами

Плавающие IP-адреса не назначаются виртуальным машинам по умолчанию. Пользователи облака должны явным образом “взять” их из пула, настроенного администратором OpenStack, а затем назначить их своим виртуальным машинам. Как только пользователь забрал плавающий IP-адрес из пула, он становится его “владельцем” (то есть в любой момент он может открепить IP-адрес от виртуальной машины и прикрепить его к другой). Если виртуальная машина по каким-то причинам прекращает существование, пользователь не теряет плавающий IP-адрес — он может его затем назначить другому экземпляру. К сожалению, сейчас невозможно совместно использовать один плавающий IP-адрес несколькими виртуальными машинами для балансировки нагрузки, как например с эластичной балансировкой нагрузки на Amazon EC2.
С другой стороны фиксированные IP-адреса назначаются динамически компонентом nova-network при загрузке ВМ. Нет возможности приказать OpenStack назначить конкретный фиксированный IP-адрес виртуальной машине. Таким образом, вы можете оказаться в ситуации, когда при случайном завершении работы виртуальной машины после её восстановления из снимка новый экземпляр загружается с новым фиксированным IP-адресом.

Системные администраторы могут настраивать несколько пулов плавающих IP-адресов. Тем не менее, в отличие от пулов фиксированных IP-адресов, пулы плавающих IP-адресов нельзя соотнести с конкретными пользователями. Каждый пользователь может “взять” плавающий IP-адрес из любого пула плавающих IP-адресов. Но основная мотивация для создания нескольких пулов плавающих IP-адресов в том, чтобы каждый пул обслуживал свой поставщик доступа в интернет. Таким образом, мы можем гарантировать возможность подключения, даже при сбое у одного из поставщиков.

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

Плавающие IP-адреса—внутренние или внешние облака

“Публичная доступность” плавающего IP-адреса – это относительное понятие. Для публичных облаков вы, возможно, захотите определить пул плавающих IP-адресов как пул IP-адресов, публично доступных из интернета. Затем ваши клиенты смогу назначать их виртуальным машинам, чтобы заходить в них через SSH со своих домашних или рабочих компьютеров:

image

Если в вашем ЦОД запущено корпоративное облако, то пул плавающих IP-адресов может быть любым диапазоном IP-адресов, который предоставляет доступ к инстансам OpenStack из остального ЦОД.

Для трафика своего ЦОД вы можете определить следующий диапазон: 10.0.0.0/16.

Внутри OpenStack вы можете создать следующий диапазон фиксированных IP-адресов: 192.168.0.0/16, разбитый на подсети пользователей.
Чтобы сделать экземпляры OpenStack доступными из всего ЦОД вы можете определить пул плавающих IP-адресов как подсеть 10.0.0.0/8, (например, 10.0.0.0/16) и зарегистрировать её в OpenStack, чтобы пользователи могли брать оттуда IP-адреса.

image

Работа с плавающими IP-адресами

Как я упомянул ранее, сначала системный администратор регистрирует пул плавающих IP-адресов в OpenStack:
nova-manage floating create --ip_range=PUBLICLY_ROUTABLE_IP_RANGE --pool POOL_NAME

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

Теперь пользователи следуют данной процедуре:
-Загрузить экземпляр:

-Перечислить доступные пулы плавающих IP-адресов:

-Взять плавающий IP-адрес из пула “pub” (или при желании из пула “test”):

nova floating-ip-create pub

-Назначить плавающий IP-адрес экземпляру:

(где первый аргумент — это uuid экземпляра, а второй – сам плавающий IP-адрес)

-Проверить правильность всех настроек:

Как работают плавающие IP-адреса

Что происходит внутри экземпляра после добавления плавающего IP-адреса? Правильный ответ – ничего. Если вы подключитесь к нему по SSH и посмотрите конфигурацию сети, вы увидите, что существует один интерфейс сети с настроенным фиксированным IP-адресом.

Вся настройка выполняется на вычислительном узле. Вся работа, связанная с плавающим IP-адресом, выполняется сервисом nova-network: организуется транслятор сетевых адресов (NAT) между фиксированным и плавающим IP-адресами экземпляра. Объяснение, как работает NAT, можно найти тут.

image

Взгляните на следующую диаграмму:

Схема отображает один вычислительный узел, настроенный в режиме сети c распределением узлов и VlanManager, используемый для настраивания фиксированных IP-сетей. Вычислительный узел оснащен двумя сетевыми интерфейсами: интерфейс eth0 выделен для трафика с фиксированным IP/VLAN, а eth1 – это интерфейс, по которому вычислительный узел подключается к внешней сети; в нем располагаются плавающие IP-адреса. (Информацию о том, как VlanManager настраивает фиксированные IP-сети см. в предыдущей статье)

Примите во внимание, что в то время как на интерфейсе eth0 (фиксированном/частном) не настроен адрес, интерфейсу eth1 назначен IP-адрес, который является шлюзом по умолчанию для вычислительного узла (91.207.15.105).

В общем, nova-network добавляет дополнительные цепочки к тем, которые предварительно определены в таблице NAT. Порядок цепочек по отношению к трафику по плавающему IP-адресу показан ниже (с использованием правил, показанных выше):
Chain OUTPUT — Chain nova-network-OUTPUT — Rule: -d 91.207.16.144/32 -j DNAT --to-destination 10.0.0.3

Chain PREROUTING — Chain nova-network-PREROUTING — Rule: -d 91.207.16.144/32 -j DNAT --to-destination 10.0.0.3

Chain POSTROUTING — Chain nova-postrouting-bottom — Chain nova-network-snat — Chain nova-network-float-snat — Rule: -s 10.0.0.3/32 -j SNAT --to-source 91.207.16.144

-Код, ответственный за задание правил, располагается в nova/network/linux_net.py в функции:
def floating_forward_rules(floating_ip, fixed_ip):

return [('PREROUTING', '-d %s -j DNAT --to %s' % (floating_ip, fixed_ip)),
('OUTPUT', '-d %s -j DNAT --to %s' % (floating_ip, fixed_ip)),
('float-snat',
'-s %s -j SNAT --to %s' % (fixed_ip, floating_ip))]

Возвращаемся к диаграмме. Если пользователь хочет получить доступ к виртуальной машине по своему IP-адресу из внешней сети (например, “ping 91.20.16.144″):
-Трафик достигает публичного интерфейса (eth1) вычислительного узла. В nova-network-PREROUTING выполняется DNAT, меняющий IP-адрес назначения пакетов с 91.207.16.144 на 10.0.0.3.
-Вычислительный узел обращается к своей таблице маршрутизации и видит, что сеть 10.0.0.0 доступна на интерфейсе br100 (за исключением “ip route show” вычислительного узла):
10.0.0.0/24 dev br100

Таким он направляет пакет на интерфейс br100, затем пакет достигает виртуальной машины.

Если виртуальная машина отправляет пакет во внешний мир (например, “ping 8.8.8.8):
-Так как адрес назначения не находится в локальной сети виртуальной машины, пакеты отправляются на шлюз виртуальной машины по умолчанию с IP-адресом 10.0.0.1 (адрес устройства “br100″ на вычислительном узле).
-Вычислительный узел проверяет свои таблицы маршрутизации и обнаруживает, что в непосредственно подключенных сетях нет адреса 8.8.8.8, поэтому он переадресует пакет на шлюз по умолчанию (который является первичным адресом eth1 — 91.207.15.105 в данном случае).
-Пакет попадает в цепочку POSTROUTING и передается цепочке “nova-network-float-snat”, где его исходный IP-адрес переписывается на плавающий IP-адрес (91.207.16.144).

Примечания о безопасности

При использовании OpenStack системные администраторы передают полный контроль за таблицами iptables сервисам nova. Набор настраиваемых правил очень сложен и с легкостью нарушается любым вмешательством извне. Более того, при каждом перезапуске демона nova-network он применяет все правила в цепочках таблиц iptables, связанных с OpenStack. Если есть необходимость каким-либо образом изменить поведение таблиц iptables, это можно сделать, изменив код в соответствующих местах linux_net.py (для правил NAT это будут floating_forward_rules).

Также стоит сказать, что nova-network не отслеживает свои таблицы каким-либо образом. Таким образом, если мы вручную удаляем какие-либо правила из цепочек, связанных с OpenStack, они не восстановятся при следующем запуске nova-network.

Таким образом, системный администратор может легко случайно открыть нежелательный доступ к вычислительному узлу. Помните, что nova-network поместил плавающий IP-адрес как вторичный на интерфейсе eth1 и настроил правила DNAT, которые направляют трафик на фиксированный IP-адрес виртуальной машины:
-A nova-network-PREROUTING -d 91.207.16.144/32 -j DNAT --to-destination 10.0.0.3

Таким образом, весь трафик, направленный на 91.207.16.144, попадает на адрес 10.0.0.3.

Теперь давайте представим, что системный администратор ночью решал проблемы подключения к сети и случайно удалил все правила NAT, напечатав:
iptables –F –t nat

Указанное выше правило NAT было удалено, но интерфейсу eth1 все ещё присвоен вторичный IP-адрес 91.207.16.144. Таким образом, мы всё ещё можем обратиться к адресу 91.207.16.144 извне, но вместо того, чтобы попасть на виртуальную машину, у нас теперь есть доступ к самому вычислительному узлу (IP-адрес назначения более не транслируется по правилу DNAT, так как мы удалили все правила NAT). Эта дыра в безопасности не будет закрыта до следующего перезапуска процесса nova-network, который заново создаст правила.

Настройка плавающих IP-адресов

Итоговые комментарии

Кроме предоставления доступа к виртуальным машинам напрямую из интернета, механизм плавающих IP-адресов дает пользователям облака некоторую гибкость. После “забора” плавающего IP-адреса они могут менять их принадлежность, то есть на ходу назначать их различным виртуальным машинам и переназначать их, что значительно облегчает выпуск нового кода и обновления системы. Для системных администраторов это представляет потенциальную угрозу безопасности, так как лежащий в основе механизм (iptables) работает очень сложно и не отслеживается OpenStack. Поэтому очень важно, чтобы только программное обеспечение OpenStack могло менять политики брандмауэра и чтобы они не менялись вручную.

Плавающий IP – публичный статический IP-адрес, который можно присвоить одному из ваших серверов. Плавающие IP-адреса быстро переназначать (обычно с помощью панели управления или API) – передавать между машинами в одном датацентре. Эта функция мгновенного переопределения даёт возможность проектировать и создавать инфраструктуру серверов высокой доступности (HA), не имеющую единой точки отказа, путем добавления избыточности к точке входа или шлюзу.

Для достижения максимально высокой доступности требуется избыточность на каждом уровне инфраструктуры, в том числе и на серверах приложений и баз данных, что часто бывает трудно реализовать. Однако это позволяет значительно сократить время простоя.

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

В данной статье охвачены следующие темы:

  • Базовая настройка высокой доступности.
  • Метаданные плавающих IP-адресов.
  • Реализация высокой доступности.
  • Другие варианты использования плавающих IP-адресов.

Базовая настройка высокой доступности.

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

Базовая настройка сервера с высокой доступностью состоит из плавающего IP-адреса, который привязан к группе балансировщиков нагрузки (нужно 2 балансировщика минимум). Плавающий IP-адрес действует как уровень шлюза, с помощью которого пользователи могут взаимодействовать с веб-серверами.

Пользователь

Плавающий IP-адрес
________________| .
↓ ↓
Балансировщик 1 Балансировщик 2
(активный) (пассивный)
| |
↓ ↓
Сервер приложения 1 Сервер приложения 2
| |
↓ ↓
Сервер баз данных 1 Сервер баз данных 2
↑ ↑
|__________________________|
Репликация

  • Активный сервер — сервер, получающий пользовательский трафик, который перенаправляется с плавающего IP. Как правило, это балансировщик нагрузки, который перенаправляет трафик на серверы приложений.
  • Пассивный сервер – резервный сервер (обычно с такой же конфигурацией, как на активном сервере). Он будет получать трафик только во время отказа активного сервера (то есть если активный сервер становится недоступным, плавающий IP переназначается резервному серверу).
  • Плавающий IP-адрес – это IP-адрес, который прикреплён к одному из серверов и может быть переназначен в случае сбоя активного сервера.

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

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

Метаданные плавающих IP-адресов

Сервер узнаёт о наличии плавающего IP-адреса с помощью своих метаданных. Если вы присвоили серверу плавающий IP-адрес, сервер может извлечь его. Эта информация может пригодиться при настройке высокой доступности.

Любые метаданные обычно можно извлечь с помощью команды curl.

Чтобы узнать, назначен ли серверу плавающий IP-адрес, выполните следующую команду:

Если у сервера есть плавающий IP, вы можете извлечь его:

Реализация высокой доступности

Теперь вы знаете, как работают плавающие IP-адреса, и можете приступать к разработке собственной высокодоступной инфраструктуры.

Ниже вы найдёте список полезных инструментов и приложений, которые помогут собрать инфраструктуру с высокой доступностью:

Другие варианты использования плавающих IP-адресов

Еще один вариант реализации плавающих IP-адресов – это blue/green deployment.

Blue/green deployment – это стратегия развертывания программного обеспечения, которая основана на двух идентичных производственных конфигурациях, которые чередуются (одна находится в активной фазе, а вторая – в пассивной). Одна среда называется blue, а дублирующая среда – green. Две среды, blue и green, могут обрабатывать всю производственную нагрузку и использоваться поочередно, а не как основное и дополнительное пространство. Если одна среда является активной, то другая находится в режиме ожидания (такую среду можно использовать для тестирования).

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