Тунель із подвійним стеком — це не одне рішення, а три, і на кожне можна відповісти по-різному. Через яку родину йде зовнішній тунель, які родини клієнт отримує всередині і на яких родинах справді відповідають захищені сервіси. Проєкт, який розглядає їх як один вибір, або несе IPv6, який ніколи не був потрібен, або роздає адреси, які ніщо не може спрямувати назад. Розділіть ці три, і решта конфігурації стане майже механічною.

Три види адрес, вирішені окремо

Зовнішня адреса — це те, як два шлюзи досягають один одного, і вона може бути IPv4, поки внутрішній трафік несе обидві родини. Внутрішня віртуальна адреса — це ідентичність клієнта всередині тунелю, і кожній родині потрібен свій пул. Захищені префікси — це те, до чого клієнт може дістатися, і вони належать сервісам, а не тунелю. Плутанина третього з другим спричиняє більшість помилок планування, бо обидва виглядають як приватні діапазони.

Зовнішній транспорт лише через IPv4 з внутрішнім трафіком подвійного стеку — це нормальна й добре підтримувана схема.

Вирішіть кожне явно і запишіть рішення. Якщо зовнішній шлях лише IPv4, скажіть це й перестаньте турбуватися про доступність кінцевих точок IPv6. Якщо родину призначено всередині, але ніщо на ній не відповідає, або приберіть її з плану, або зробіть ці сервіси справді подвійного стеку.

Виділіть віртуальну адресу в кожній родині

У конфігурації swanctl клієнт запитує віртуальні адреси, і шаблон у кожній родині просить відповідача виділити по одній з кожної. Відповідач бере їх із пулів, а пули — окремі об'єкти від мереж за шлюзом. Тримайте їх окремо і в плані, бо пул, що перетинається з префіксом сервісу, створює маршрутизацію, яка виглядає правильною до моменту, коли трафік опиняється в несподіваному місці.

Просіть обидві родини, коли потрібні обидві, і одну, коли не потрібно, бо невикористана адреса — це поверхня політики без користі. Конкретний запит — це запит, а не резервування, і відповідач може повернути інше значення за своєю політикою. Ця деталь важлива скрізь, де адресу жорстко записано в правило міжмережевого екрана або в перевірку моніторингу. Посилайтеся на пули за назвою в з'єднанні й тримайте мережі сервісів поза ними.

vips = 0.0.0.0, ::

Створіть власний унікальний локальний префікс для пулу IPv6 замість того, щоб переймати коротке прикладне значення. Приклад показує форму налаштування, а не значення за замовчуванням, яке треба успадкувати.

Опишіть призначення окремо від пулів

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

Тим самим префіксам потрібні зворотні маршрути й дозволене пересилання всередині мережі шлюзу, для кожної родини, яку ви ввімкнете.

Тут приватний план IPv6 перестає бути достатнім. Унікальна локальна адресація купує приватну доступність і не створює публічний вихід IPv6, тому проєкт, який припускає, що ненумерована родина просто піде за правилами маскування IPv4, розчарує своїх користувачів. Якщо публічний доступ до IPv6 є частиною вимоги, йому потрібен маршрутизований план і постачальник вище, який із ним згоден. Інакше скажіть прямо, що бік IPv6 лише приватний, і це чесна межа, а не обмеження, яке треба приховувати.

Зробіть DNS і зворотні шляхи усвідомленими

Розв'язання імен не йде за транспортом. Резолвер може повернути записи A і AAAA через тунель лише з IPv4, і клієнт тоді спробує родину, яку ви ніколи не планували. Вирішіть, які назви сервісів мають нести придатні відповіді подвійного стеку, і зробіть обидва ці шляхи усвідомленими. Назва, що розв'язується в родину без робочого шляху, дає зависання, а не чисту помилку, а зависання діагностувати значно важче.

Задокументуйте доступність зовнішньої кінцевої точки окремо, зокрема чи задіяне проходження NAT і яку родину воно використовує.

Потім запишіть план у шість рядків: зовнішня кінцева точка, пул IPv4, пул IPv6, префікс сервісу IPv4, префікс сервісу IPv6 і маршрутизатор, якому належать відповіді для кожного. План такої форми відповідає на питання, які оператор справді ставить о третій годині ночі. Усе коротше залишає подвійний стек другим адресом, прикрученим до політики лише IPv4, і так він зазвичай закінчує працювати наполовину.

Схожі статті