Як веб-програма Azure досягає локальної мережі через VPN
Офісний брандмауер бачить вашу інтеграційну підмережу, а не публічну адресу програми. Виправте вихідний діапазон, селектори та шлях повернення, перш ніж звинувачувати тунель.
Вихідний запит веб-програми залишає працівника, якого ви ніколи не бачите, з джерела, яке ви не вибрали, і офісний брандмауер має прийняти його. Ось і вся проблема в одному реченні. Регіональна інтеграція VNet надає запиту шлях до віртуальної мережі, а мережева мережа VPN передає його звідти. Усе, що згодом піде не так, залежить від діапазону джерела та маршруту, який фактично використав пакет.
Що фактично надсилає працівник
Служба додатків запускає ваш код на робочих програмах, які перебувають за межами перегляду мережі вашої підписки. Коли регіональна інтеграція ввімкнено, вихідний трафік передається до делегованої підмережі у віртуальній мережі в тому ж регіоні, і пакет з’являється там, перш ніж продовжити роботу. Інтеграція не переміщує програму у віртуальну мережу та не змінює її вхідну адресу. Це лише дає вихідним потокам інший перший стрибок.
За замовчуванням лише приватний адресний простір приймає цей шлях, тому звичайні Інтернет-адреси все одно відправляються безпосередньо від працівника. Маршрутизація всього через VNet є окремим параметром і окремим рішенням, оскільки воно також надсилає ваші публічні залежності через тунель.
Трафік конфігурації, як-от завантаження зображення контейнера під час запуску, дотримується власних правил маршрутизації та може зазнати збою, коли ваші виклики API виконуються успішно.
Інтеграційна підмережа – це джерело, яке ви повинні дозволити
Офіс бачить діапазон адрес підмережі інтеграції або те, на що його перекладає ваш пристрій, а не загальнодоступні вихідні адреси програми. Помістіть цей діапазон у селектори трафіку VPN сайту та в правило локального брандмауера. Якщо тунель заснований на політиці, селектори, які його пропускають, скидають пакет, навіть якщо маршрут існує.
Не дозволяйте жодній адресі працівника, яку ви випадково спостерігали. Примірники змінюються з масштабуванням і обслуговуванням платформи, і правило, закріплене за однією адресою, порушується в найгірший момент.
Тримайте вузьку сторону призначення: одна послуга, один порт, один напрямок із чітким дозволом зворотного шляху.
Пірінг і транзит через шлюз є явними
Якщо шлюз VPN розташований у віртуальній мережі-концентраторі, а підмережа інтеграції — у спільній мережі, для шляху потрібно дозволити транзит через шлюз на одноранговому вузлі-концентраторі та ввімкнути використання віддаленого шлюзу на одноранговому вузлі. Піринг сам по собі передає трафік між двома віртуальними мережами і нічого більше. Ефективні маршрути в інтеграційній підмережі – це те, де ви підтверджуєте, що наступний шлюз дійсно є.
Поширеним варіантом є конструкція «концентратор і стрілка», таблиця маршрутів якої надсилає 0.0.0.0/0 на брандмауер, і цей брандмауер потребує власного правила для локального префікса.
Намалюйте шлях на папері, перш ніж відкривати квиток разом із мережевою командою, оскільки це заощадить день вгадувань. Включіть у малюнок напрямок повернення, оскільки половина людей забуває про це.
Вхідна приватна кінцева точка є іншим напрямком
Приватна кінцева точка робить додаток доступним із віртуальної мережі. Він нічого не робить для вихідного дзвінка програми в офіс, і команди регулярно налаштовують його, тоді як фактичні вимоги були навпаки.
Попередня документація описує інтеграцію, необхідну для шлюзу, побудовану на VPN типу "точка-сайт", іншу функцію з власними вимогами. Корпорація Майкрософт запланувала припинення цієї функції на 31 березня 2027 року та рекомендує натомість регіональну інтеграцію.
Не копіюйте застарілу конфігурацію точка-сайт лише тому, що її використовував старий приклад.
Перевірте за допомогою власного контексту програми
Тестуйте з розгорнутої програми, а не з ноутбука чи віртуальної машини в тій самій віртуальній мережі. Реєструйте розділену адресу, результат підключення та відповідь на рівні програми окремо, оскільки збій DNS, тайм-аут TCP і відхилення автентифікації вказують на трьох різних власників. Якщо розпізнати імена не вдається, виправте приватний DNS для віртуальної мережі, перш ніж торкатися тунелю.
Зелений статус тунелю лише доводить, що шлюз працює. Тут нічого не сказано про селектори, правила брандмауера чи DNS.
Коли запит нарешті спрацює, запишіть вихідний діапазон, порт призначення та зону DNS у модуль Runbook програми. Наступна особа, яка налагодить це, почне з вашої нотатки, а не зі сторінки стану шлюзу.