Ви додали адресу VPN і очікували, що запит використає її, але сервер досі записував у журнал старий префікс. У тунелі нічого не зламалося; вузол зробив вибір адреси-джерела ще до того, як зазирнув у маршрут, на який ви дивилися. Вибір джерела IPv6 — це окреме впорядковане змагання між адресами-кандидатами вузла, і найдовший збіжний префікс — лише одне правило ближче до кінця цього змагання. Щоб отримати потрібний результат, треба знати, яке правило вже перемогло. Самі правила нудні й точні, і саме тому їх слід читати по порядку.

Два пошуки, а не один

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

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

Читайте правила як упорядковане змагання

RFC 6724 перелічує правила по порядку, і кожне лише розв'язує нічию, залишену попередніми. Перевага вихідного інтерфейсу й збіг міток з'являються задовго до порівняння префіксів, тому адреса на інтерфейсі, який використовує маршрут, уже отримала перевагу, яку кращий збіг префікса не може стерти. Беруть участь також застарілість і область дії, і тому застаріла адреса іноді перестає вибиратися без того, щоб хтось змінив політику.

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

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

Прив'язування застосунку змінює питання

Застосунок може запитати конкретну адресу-джерело, і коректний явний вибір переносить питання з «яку адресу вузол віддав би перевагу» на «чи може ця адреса досягти призначення й повернутися». Інструменти, які прив'язуються до джерела або запитують додаткові дані про вибрану адресу, показують це напряму, і вони — найшвидший спосіб довести, яку адресу з'єднання справді використало. Цей експеримент кращий за третє читання таблиці маршрутизації, бо повідомляє, що вирішило ядро, а не те, що ви налаштували. Повторіть його після зміни й порівняйте дві відповіді.

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

Перевірте, що дальній бік приймає це джерело

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

Тримайте адресу зовнішньої кінцевої точки окремо і у своїх міркуваннях. Вона позначає транспорт між учасниками VPN і не є джерелом пакета застосунку всередині.

Вирішуйте за чотирма спостереженнями

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

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

Схожі статті