Содержание

Как узнать ip python

Получение внешнего IP-адреса компьютера с помощью Python

В поисках лучшего способа получить машины с текущим внешним IP-адресом . Ниже работает, но я бы предпочел не полагаться на внешний сайт для сбора информации . Я ограничен использованием стандартных библиотек Python 2.5.1 в комплекте с Mac OS X 10.5.x

22 ответа

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

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

Я предпочитаю эту конечную точку Amazon AWS:

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

Вот скрипт, который должен сделать трюк и загрузить только минимальное количество информации:

Если вы не заинтересованы в нажатии на любой URL, чтобы получить публичный ip, я думаю, что следующий код может помочь вам получить публичный ip с использованием python вашей машины.

Линия sed -n 3p зависит от сети, которую вы используете для подключения устройства.

Я столкнулся с той же проблемой, мне был нужен публичный IP-адрес устройства iot, который поражает мой сервер. но публичный ip полностью отличается в команде ifconfig, и ip я получаю на сервере из объекта запроса. после этого я добавляю дополнительный параметр в свой запрос на отправку ip устройства на мой сервер.

Надеюсь, что это будет полезно

Самое простое (не python) рабочее решение, которое я могу придумать,

Я хотел бы добавить очень короткое решение Python3, использующее API-интерфейс JSON http://hostip.info.

Конечно, вы можете добавить проверку ошибок, условие тайм-аута и некоторое удобство:

Вот еще один альтернативный скрипт.

РЕДАКТИРОВАТЬ: не забудьте импортировать httplib и json

Если вы пишете только для себя, а не для обобщенного приложения, возможно, вы сможете найти адрес на странице настройки вашего маршрутизатора, а затем убрать его из html этой страницы. Это работало хорошо для меня с моим маршрутизатором SMC. Один прочитанный и один простой поиск RE, и я нашел это.

Мой особый интерес к этому состоял в том, чтобы сообщить мне мой домашний IP-адрес, когда я был вдали от дома, чтобы я мог вернуться через VNC. Еще несколько строк Python хранят адрес в Dropbox для внешнего доступа и даже отправляют мне электронные письма, если он видит изменение. Я запланировал, что это произойдет при загрузке и один раз в час после этого.

Получить IP-адреса в Python

IP-адреса представляют собой последовательность цифр от 0.0.0.0 до 255.255.255.255, каждое число находится в диапазоне адресов от 0 до 255. Он может однозначно идентифицировать устройство в сети.

В этой статье мы получим локальные IP-адреса с помощью Python.

Используйте функцию socket.gethostname() для получения локального IP-адреса в Python

Мы можем использовать модуль socket в Python для создания сетевых подключений и отправки сообщений по сети.

Функция gethostname() возвращает имя хоста системы, под которым в настоящий момент выполняется Python.

Используйте функцию socket.getsockname() для получения локального IP-адреса в Python

Если компьютерное устройство имеет маршрут, подключенный к Интернету, мы можем использовать функцию getsockname() . Он возвращает IP-адрес и порт в виде кортежа.

Этот метод возвращает основной IP-адрес локального компьютера, то есть маршрут по умолчанию.

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

Вышеупомянутый метод работает на всех интерфейсах. Он также работает со всеми общедоступными, частными и внешними IP-адресами. Этот метод эффективен в Linux, Windows и OSX.

Используйте модуль netifaces для получения локального IP-адреса в Python

Модуль netifaces используется для предоставления информации о сетевых интерфейсах и их статусе.

Мы можем использовать его для получения IP-адреса локальной машины, как показано ниже.

Нужно узнать ip адрес своего компьютера в интернете в Python

В документации нашел socket.gethostbyname(socket.gethostname()) . Но у меня выдает ошибку. Не работает gethostbyname , не знаю почему. Версия питона 3.2. Подскажите, из-за чего может не работать или другое решение поставленной задачи.

Внешний адрес можно определить через специально для этого предназначенный протокол STUN (Session Traversal Utilities for NAT):

Показывает внешний адрес и пробрасывает UDP порт.

Чтобы узнать свой публичный IP адрес, можно DNS запрос сделать, например на Windows:

Концепция IP-адресов на примере Python-модуля ipaddress

В самом грубом представлении IP-адрес – это просто число. В случае протокола IPv4 IP-адрес– это 32-разрядное целое число, используемое для представления хоста в сети. То есть существует 232 возможных IPv4 адреса – от 0 до 4 294 967 295. IPv4-адреса записывают в виде четырех октетов – целых чисел, разделенных точками:

220.14.9.37
    

Каждый октет – это один байт, число от 0 до 255. То есть максимальный адрес равен 255.255.255.255, а минимальный – 0.0.0.0.

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

Примечание

Модуль ipaddress добавлен в стандартную библиотеку в версии Python 3.3, примеры туториала проверены на примере Python 3.8. Пользователь matyushkin любезно адаптировал программный код статьи в виде конспективного Jupyter-блокнота. За счёт этого с кодом можно поиграть в среде Colab.

Получим внешний IP-адрес нашего компьютера для работы с ним в командной строке. В Linux это делается так:

$ curl -sS ifconfig.me/ip
220.14.9.37
    

Этот запрос узнает наш IP-шник на сайте ifconfig.me. Сайт также выдает множество другой полезной информации о вашем сетевом подключении.

Примечания

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

Теперь откроем интерпретатор Python. Чтобы создать объект Python с инкапсулированным адресом, создадим класс IPv4Address:

>>> from ipaddress import IPv4Address
>>> addr = IPv4Address("220.14.9.37")
>>> addr
IPv4Address('220.
14.9.37')

Передача строки "220.14.9.37" в конструктор IPv4Address – наиболее распространенный подход, но класс может принимать и другие типы:

>>> IPv4Address(3691907365)   # Из целого числа
IPv4Address('220.14.9.37')
>>> IPv4Address(b"\xdc\x0e\t%")  # Из байтовой строки
IPv4Address('220.14.9.37')
    

Адрес можно распаковать в требуемую форму:

>>> int(addr)
3691907365
>>> addr.packed
b'\xdc\x0e\t%'
    

Экземпляры

IPv4Address являются хэшируемыми и могут использоваться в качестве ключей словаря:

>>> hash(IPv4Address("220.14.9.37"))
4035855712965130587
>>> num_connections = {
...     IPv4Address("220.14.9.37"): 2,
...     IPv4Address("100.201.0.4"): 16,
...     IPv4Address("8.240.12.2"): 4,
... }
    

Класс IPv4Address также реализует методы, позволяющие проводить сравнения:

>>> IPv4Address("220. 14.9.37") > IPv4Address("8.240.12.2")
True
>>> addrs = (
...     IPv4Address("220.14.9.37"),
...     IPv4Address("8.240.12.2"),
...     IPv4Address("100.201.0.4"),
... )
>>> for a in sorted(addrs):
...     print(a)
...
8.240.12.2
100.201.0.4
220.14.9.37
    

Можно использовать любой стандартный оператор сравнения целочисленных значений адресных объектов.

Сеть – это набор IP-адресов. Сети описываются и отображаются как непрерывные диапазоны адресов. Например, сеть может соответствовать диапазону 192.4.2.0192.4.2.255, т. е. включать 256 адресов. Если нужно это отобразить в краткой форме, используется нотация CIDR.

В CIDR сеть определяется с помощью сетевого адреса и префикса <network_address>/<prefix>:

>>> from ipaddress import IPv4Network
>>> net = IPv4Network("192. 4.2.0/24")
>>> net.num_addresses
256
# Вывести префикс можно с помощью свойства prefixlen:
>>> net.prefixlen
24
    

В данном случае префикс равен 24. Префикс – это количество ведущих битов, соответствующих входящим в сеть адресам. Ведущие биты отсчитываются слева направо.

Пример: входит ли адрес 192.4.2.12 в сеть 192.4.2.0/24?

Ответ: да, так как ведущие 24 бита адреса 192.4.2.12 – это первые три октета: 192.4.2. Последний октет соответствует последним 8 битам 32-битного IP-адреса.

Воспользуемся netmask для маскирования битов в сравниваемых адресах.

Определение

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

>>> net.netmask
IPv4Address('255.255.255.0')
    

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

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

Последние 8 бит в 192.4.2.12 маскируются нулем и игнорируются при сравнении.

>>> IPv4Address("192.4.2.12") in net
True
>>> IPv4Address("192.4.20.2") in net
False
    

Рассмотрим еще один важный тип адреса – широковещательный.

Определение

Широковещательный адрес

– условный (не присвоенный никакому устройству в сети) адрес, который используется для передачи широковещательных пакетов в компьютерных сетях.

Это единственный адрес, который может использоваться для связи со всеми хостами сети:

>>> net.network_address
IPv4Address('192. 4.2.0')
    

Чаще всего вы будете сталкиваться с длиной префикса кратной 8.

Распространенные подсети

Любое целое число от 0 до 32 является допустимым, но такой вариант встречается реже:

>>> net = IPv4Network("100.64.0.0/10")
>>> net.num_addresses
4194304
>>> net.netmask
IPv4Address('255.192.0.0')
    

Класс IPv4Network позволяет перебирать отдельные адреса в цикле for:

>>> net = IPv4Network("192.4.2.0/28")
>>> for addr in net:
...     print(addr)
...
192.4.2.0
192.4.2.1
192.4.2.2
...
192.4.2.13
192.4.2.14
192.4.2.15
    

Инструмент net.hosts() возвращает генератор, выдающий адреса, исключая сетевые и широковещательные:

>>> h = net.hosts()
>>> type(h)
<class 'generator'>
>>> next(h)
IPv4Address('192.
4.2.1') >>> next(h) IPv4Address('192.4.2.2')

Подсеть – это часть IP-сети:

>>> small_net = IPv4Network("192.0.2.0/28")
>>> big_net = IPv4Network("192.0.0.0/16")
>>> small_net.subnet_of(big_net)
True
>>> big_net.supernet_of(small_net)
True
    

В коде выше small_net содержит 16 адресов, а big_net – 65 536.

Распространенный способ разбиения на подсети – это увеличение длины префикса на 1:

Разбиение сети

К счастью, IPv4Network расчеты подсетей поддерживаются встроенным методом subnets():

>>> for sn in net.subnets():
...     print(sn)
...
200.100.10.0/25
200.100.10.128/25
    

В передаваемом subnets() аргументе можно задать, каким должен быть новый префикс:

>>> for sn in net. subnets(new_prefix=28):
...     print(sn)
...
200.100.10.0/28
200.100.10.16/28
200.100.10.32/28
...
200.100.10.208/28
200.100.10.224/28
200.100.10.240/28
    

Администрация адресного пространства Интернет (Internet Assigned Numbers Authority, IANA) совместно с Инженерном советом Интернета (Internet Engineering Task Force, IETF) осуществляют надзор за распределением диапазонов адресов. Реестр подобных адресов – важная таблица, которая описывает, для каких целей зарезервированы диапазоны IPv4-адресов.

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

Зарезервированные диапазоны

Случайным образом выберем адрес – 10.243.156.214. Относится ли этот адрес к приватным? Для этого проверим, попадает ли он в диапазон cети 10.0.0.0/8:

>>> IPv4Address("10. 243.156.214") in IPv4Network("10.0.0.0/8")
True
    

Другой специальный тип адреса – это локальный адрес связи, состоящий из блока 169.254.0.0/16. Примером может служить Amazon Time Sync Service, доступный для инстансов AWS EC2 по адресу 169.254.169.123. Данный пул также использует Windows для выдачи адресов сетевым адаптерам при отсутствии интернета от провайдера.

>>> timesync_addr = IPv4Address("169.254.169.123")
>>> timesync_addr.is_link_local
True
    

Модуль ipaddress предоставляет набор свойств для проверки того, относится ли адрес к специальным:

>>> IPv4Address("10.243.156.214").is_private
True
>>> IPv4Address("127.0.0.1").is_loopback
True
>>> [i for i in dir(IPv4Address) if i.startswith("is_")]
['is_global',
 'is_link_local',
 'is_loopback',
 'is_multicast',
 'is_private',
 'is_reserved',
 'is_unspecified']
    

Вот еще несколько зарезервированных сетей:

  • 0. 0.0.0/8 – адреса источников пакетов «своей» сети;
  • 127.0.0.0/8 – используется для локального хоста;
  • 169.254.0.0/16 – внутренние адреса;
  • 198.18.0.0/15 – для бенчмаркинга сетей.

В дополнение к хорошо документированному API, исходный код CPython и класс IPv4Address показывают некоторые отличные идеи, как улучшить собственный код.

Компоновщик

Модуль ipaddress использует преимущества шаблона проектирования «Компоновщик». Класс IPv4Address представляет собой компоновщик, который оборачивает обычное целое число.

Каждый экземпляр IPv4Address имеет атрибут _ip, число типа int. Многие свойства и методы класса определяются значением этого атрибута:

>>> addr = IPv4Address("220. 14.9.37")
>>> addr._ip
3691907365
    

Атрибут _ip отвечает за создание int(addr). Цепочка вызовов выглядит следующим образом:

Цепочка вызовов в компоновщике

Продемонстрируем силу ._ip путем расширения класса IPv4Address:

from ipaddress import IPv4Address
class MyIPv4(IPv4Address):
    def __and__(self, other: IPv4Address):
        if not isinstance(other, (int, IPv4Address)):
            raise NotImplementedError
        return self.__class__(int(self) & int(other))
    

Добавление .__and__() позволяет использовать бинарный оператор &, чтобы применять маску к IP-адресу:

>>> addr = MyIPv4("100.127.40.32")
>>> mask = MyIPv4("255.192.0.0")  # Соответствует префиксу /10
>>> addr & mask
MyIPv4('100. 01]", "", binary_repr), 2) (строка 14) состоит
из двух частей:

  • удаление из входящей строки всего, кроме нулей и единиц;
  • анализ результата с помощью int(<string>, 2).

Методы binary_repr() и from_binary_repr() позволяют проводить двустороннюю конвертацию:

>>> MyIPv4("220.14.9.37").binary_repr
'11011100.00001110.00001001.00100101'
>>> MyIPv4("255.255.0.0").binary_repr  # Маска для префикса /16 
'11111111.11111111.00000000.00000000'
>>> MyIPv4.from_binary_repr("11011100 00001110 00001001 00100101")
MyIPv4('220.14.9.37')
    

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

Заключение

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

  • Как хранить объекты Python со сложной структурой (о модуле pickle)
  • Итерируем правильно: 20 приемов использования в Python модуля itertools
  • Не изобретать велосипед, или Обзор модуля collections в Python
  • Назад в будущее: практическое руководство по путешествию во времени с Python
  • Как подружить Python и базы данных SQL. Подробное руководство

Управление общедоступным IP-адресом с помощью подсистемы балансировки нагрузки - Azure Virtual Network

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья
  • Чтение занимает 6 мин

Общедоступная подсистема балансировки нагрузки — это решение уровня 4 для распределения трафика TCP и UDP, передающегося в серверный пул. Для подсистемы балансировки нагрузки доступны базовый и стандартный номера SKU. Эти номера SKU соответствуют базовым и стандартным номерам SKU общедоступного IP-адреса.

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

Azure Load Balancer с базовым номером SKU ограничен по доступу и набору функций. Комбинация IP-адреса и подсистемы балансировки нагрузки со стандартными номерами SKU — это рекомендуемое развертывание для рабочих нагрузок. IP-адреса со стандартным номером SKU поддерживают зоны доступности в поддерживаемых регионах.

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

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

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

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

Примечание

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

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

  • Учетная запись Azure с активной подпиской. Создайте бесплатно.
  • Два общедоступных IP-адреса со стандартным номером SKU в подписке. IP-адреса не могут быть связаны ни с одним из ресурсов. Дополнительные сведения о создании общедоступного IP-адреса со стандартным номером SKU см. в разделе Создание общедоступного IP-адреса на портале Azure.
    • В примерах этой статьи присвойте новым общедоступным IP-адресам имена myStandardPublicIP-1 и myStandardPublicIP-2.
  • Префикс общедоступного IP-адреса в подписке. Дополнительные сведения о создании префикса общедоступного IP-адреса см. в разделе Создание префикса общедоступного IP-адреса на портале Azure.
    • В примерах этой статьи присвойте новому префиксу общедоступного IP-адреса имя myPublicIPPrefixOutbound.

Создание подсистемы балансировки нагрузки с существующим общедоступным IP-адресом

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

  1. Войдите на портал Azure.

  2. В поле поиска в верхней части портала введите Подсистема балансировки нагрузки.

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

  4. Выберите + Создать.

  5. На странице Создание подсистемы балансировки нагрузки введите или выберите следующие данные.

    ПараметрЗначение
    Сведения о проекте
    ПодпискаВыберите свою подписку.
    Группа ресурсовВыберите Создать. Введите myResourceGroupIP. Нажмите кнопку .
    Сведения об экземпляре
    ИмяВведите myLoadBalancer.
    РегионВыберите (США) Западная часть США 2.
    ТипОставьте значение по умолчанию Общий.
    номер SKUОставьте значение по умолчанию Стандартный.
    УровеньОставьте значение по умолчанию Региональный.
    Общедоступный IP-адрес
    Общедоступный IP-адресВыберите вариант Использовать существующее.
    Выбор общедоступного IP-адресаВыберите myStandardPublicIP-1.
    Добавление общедоступного IPv6-адресаОставьте значение по умолчанию Нет.
  6. Перейдите на вкладку Просмотр и создание или нажмите синюю кнопку Просмотр и создание.

  7. Нажмите кнопку создания.

Примечание

Это простое развертывание подсистемы балансировки нагрузки. Сведения о расширенной конфигурации и установке см. в кратком руководстве "Создание общедоступной подсистемы балансировки нагрузки с помощью портала Azure для распределения нагрузки между виртуальными машинами"

Дополнительные сведения об Azure Load Balancer см. в статье Что такое Azure Load Balancer?

Изменение или удаление общедоступного IP-адреса

В этом разделе вы выполните вход на портал Azure и измените IP-адрес подсистемы балансировки нагрузки.

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

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

  1. Войдите на портал Azure.

  2. В поле поиска в верхней части портала введите Подсистема балансировки нагрузки.

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

  4. В разделе Load Balancers выберите myLoadBalancer или подсистему балансировки нагрузки, которую необходимо изменить.

  5. В параметрах myLoadBalancer выберите IP-конфигурацию внешнего интерфейса.

  6. В IP-конфигурации внешнего интерфейса выберите LoadBalancerFrontend или свой внешний интерфейс подсистемы балансировки нагрузки.

  7. В конфигурации внешнего интерфейса подсистемы балансировки нагрузки выберите myStandardPublicIP-2 в общедоступном IP-адресе.

  8. Щелкните Сохранить.

  9. Убедитесь, что внешний интерфейс подсистемы балансировки нагрузки отображает новый IP-адрес с именем myStandardPublicIP-2.

    Примечание

    Эти процедуры допустимы для подсистемы балансировки нагрузки между регионами. Дополнительные сведения о подсистеме балансировки нагрузки между регионами см. в статье Подсистема балансировки нагрузки между регионами .

Добавление префикса общедоступного IP-адреса

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

Несколько IP-адресов позволяют обойти проблему недостаточности портов для SNAT. Каждый внешний IP-адрес предоставляет 64 000 временных порта, которые может использовать подсистема балансировки нагрузки. Дополнительные сведения см. в статье Правила для исходящего трафика.

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

Важно!

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

  1. Войдите на портал Azure.

  2. В поле поиска в верхней части портала введите Подсистема балансировки нагрузки.

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

  4. В разделе Load Balancers выберите myLoadBalancer или подсистему балансировки нагрузки, которую необходимо изменить.

  5. В параметрах myLoadBalancer выберите IP-конфигурацию внешнего интерфейса.

  6. В IP-конфигурации внешнего интерфейса выберите LoadBalancerFrontendOutbound или свой внешний интерфейс исходящего трафика подсистемы балансировки нагрузки.

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

  8. Для параметра Префикс общедоступного IP-адреса выберите префикс, созданный ранее myPublicIPPrefixOutbound.

  9. Щелкните Сохранить.

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

  • Подсистемы балансировки нагрузки между регионами — это особый тип стандартной общедоступной подсистемы балансировки нагрузки, который может охватывать несколько регионов. Внешний интерфейс подсистемы балансировки нагрузки между регионами можно использовать только с параметром глобального уровня в общедоступных IP-адресах со стандартным номером SKU. Трафик, отправленный на внешний IP-адрес подсистемы балансировки нагрузки между регионами, распределяется по региональным общедоступным подсистемам балансировки нагрузки. Региональные внешние IP-адреса назначены в серверном пуле подсистемы балансировки нагрузки между регионами. Дополнительные сведения см. в разделе Подсистема балансировки нагрузки между регионами.

  • По умолчанию общедоступная подсистема балансировки нагрузки не позволяет использовать несколько правил балансировки нагрузки с одним и тем же серверным портом. Если требуется настроить несколько правил для одного и того же серверного порта, включите параметр "Плавающий IP-адрес" для правила балансировки нагрузки. Этот параметр перезаписывает конечный IP-адрес трафика, передаваемого в серверный пул. Без включения параметра "Плавающий IP-адрес" конечный IP-адрес будет частным IP-адресом серверного пула. Если параметр "Плавающий IP-адрес" включен, в качестве внешнего общедоступного IP-адреса подсистемы балансировки нагрузки будет использоваться конечный IP-адрес. Этот общедоступный IP-адрес должен быть настроен в конфигурации сети серверного экземпляра для правильного получения этого трафика. Интерфейс замыкания на себя с внешним IP-адресом, настроенным в экземпляре. Дополнительные сведения см. в статье IP-конфигурация Azure Load Balancer с плавающим IP-адресом

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

  • Как стандартные общедоступные подсистемы балансировки нагрузки, так и общедоступные IP-адреса могут иметь значение времени ожидания TCP-пакета, в течение которого соединение должно оставаться открытым до получения сообщений проверки активности. Если общедоступный IP-адрес назначается внешнему интерфейсу подсистемы балансировки нагрузки, то значение времени ожидания в IP-адресе имеет приоритет. Примечание. Этот параметр применяется только к входящим подключениям к подсистеме балансировки нагрузки. Дополнительные сведения см. в статье Сброс TCP Load Balancer

Предупреждения

  • Стандартные общедоступные подсистемы балансировки нагрузки в качестве общедоступных IP-адресов или префиксов общедоступных IP-адресов могут использовать статические IPv6-адреса ценовой категории "Стандартный". Каждое развертывание должно быть с двойным стеком с внешними интерфейсами IPv4 и IPv6. Преобразование NAT64 недоступно. Дополнительные сведения см. в статье Развертывание приложения с двойным стеком IPv6 в Azure — PowerShell (обратите внимание, что базовые общедоступные подсистемы балансировки нагрузки могут использовать динамические IPv6-адреса ценовой категории "Стандартный" в качестве общедоступных IP-адресов.)

  • Если общедоступной подсистеме балансировки нагрузки назначено несколько внешних интерфейсов, не существует метода назначения потоков от определенных серверных экземпляров для исходящего трафика на определенном IP-адресе. Дополнительные сведения см. в статье Несколько внешних интерфейсов для Azure Load Balancer

Дальнейшие действия

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

Вы заменили IP-адрес в конфигурации внешнего интерфейса подсистемы балансировки нагрузки.

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

  • Дополнительные сведения об Azure Load Balancer см. в этой статье.
  • Дополнительные сведения об общедоступных IP-адресах в Azure см. в статье Общедоступные IP-адреса.

Как узнать любой IP адрес? |

JavaScript отключён. Чтобы полноценно использовать наш сайт, включите JavaScript в своём браузере.