Я хочу назначить публичные IP-адреса своим службам (требуются IPv4 и IPv6), но я могу выбрать один из следующих вариантов:
- Назначьте выделенный адрес IPv4
- Назначьте выделенный адрес IPv6
- Назначьте связку адресов IPv4 и IPv6...
Поскольку мне нужны оба варианта, я хотел бы узнать, в чем преимущество назначения их по одному или вместе... Есть ли какие-либо недостатки в случае, если я выберу один из них?
И я где-то упустил момент назначения публичного IPv6 напрямую машине? В моем случае мне пришлось сначала назначить машине локальный адрес IPv6, а затем добавить к нему IPv6 - по сути NAT, что кажется неправильным...
Может быть, кто-то сможет мне в этом помочь... Заранее спасибо, Себастьян
решение1
Назначьте столько IP-адресов и маршрутов, сколько необходимо для доставки трафика туда, куда вам нужно. Предположим, что внешние адреса сервисов должны быть с двойным стеком.
Примеры балансировщика нагрузки Azure с двойным стеком как правило, имеют публичные IP-адреса на LB и частные на бэкэнде. Берем пример из документации Azure, 2a01:111:f100:3000::a83e:19c3
из публичного диапазона Azure и fd00:db8:deca:deed::4
из уникального ULA, /48
который вы сгенерировали.
Для v6 не требуется NAT. Подключения 2a01:111:f100:3000::a83e:19c3
направляются через Интернет в Azure, а затем завершаются на LB. Новые подключения проксируются на бэкенд fd00:db8:deca:deed::4
. Хотя, поскольку это прокси, бэкенд может быть адресом v4 RFC 1918 или публичным адресом v6. В Azure, если у вас есть маршрут к vnet, вы также можете напрямую подключиться к хосту бэкенда.
Если вы хотите напрямую подключиться к экземпляру, назначьте ему публичный адрес IPv6. Это может быть в дополнение к другим имеющимся у него IP-адресам.
Странности:
- Насколько мне известно, виртуальной машине должен быть назначен как минимум один адрес v4.
- Некоторые скриншоты документации Azureнеправильно использовать нераспределенные диапазоны IPv6. Используйте ULA для частного пространства v6.