Кой източник IPv6 избира заявката към VPN и защо това е важно
Хост с няколко адреса IPv6 избира източник преди търсенето на маршрута. Проверете подредените правила, евентуално свързване на приложение и политиката за връщане на далечната страна.
Добавихте адрес за VPN и очаквахте заявката да го използва, а сървърът все още записваше стария префикс. Нищо в тунела не се е счупило; хостът е направил избор на адрес-източник, преди изобщо да погледне маршрута, който гледахте. Изборът на източник IPv6 е отделно подредено състезание между кандидат-адресите на хоста и най-дългият съвпадащ префикс е само едно правило близо до края му. Да получите желания резултат означава да знаете кое правило вече е победило. Самите правила са скучни и точни и точно затова трябва да се четат по ред.
Две търсения, не едно
Изборът на дестинация определя следващия хоп и изходящия интерфейс. После изборът на източник определя кой от адресите на хоста ще се появи в заглавката и на двата въпроса отговарят различни механизми, макар и двата да използват префикси. Хост с физически адрес, временен адрес и адрес за VPN има три кандидата за всяка дестинация и маршрутът към VPN не посочва третия автоматично.
Затова правилният маршрут и грешният източник толкова лесно съжителстват и затова една и съща заявка може да се държи различно от браузър и от принудително свързване. Отнасяйте се към двете търсения като отделни, докато не намерите доказателство, което ги свързва.
Четете правилата като подредено състезание
RFC 6724 изрежда правилата по ред и всяко само разбива равенство, оставено от предишните. Предпочитанието към изходящия интерфейс и съвпадението на етикети се появяват доста преди сравнението на префикси, така че адрес на интерфейса, който маршрутът използва, вече е получил предимство, което по-добро съвпадение на префикс не може да изтрие. Остаряването и обхватът също участват и затова остарял адрес понякога спира да бъде избиран, без някой да е променил политиката.
Практическият извод е, че не можете да съдите за победителя само по дестинацията. Избройте кандидатите, минете правилата по ред и вижте къде решението наистина е взето.
Обърнете внимание също, че това е източниковата половина на проблема. Смесването на двете сравнения на префикси дава обяснения, които звучат строго и предсказват грешния адрес. Казвайте кое сравнение имате предвид, когато използвате думата префикс в тикет.
Свързването на приложение променя въпроса
Приложението може да поиска конкретен адрес-източник и валиден явен избор премества въпроса от “кой адрес би предпочел хостът” към “може ли този адрес да стигне до дестинацията и да се върне”. Инструментите, които се свързват към източник или искат допълнителни данни за избрания адрес, показват това директно и са най-бързият начин да докажете кой адрес наистина е използвала връзката. Този експеримент е по-добър от третото четене на таблицата за маршрутизация, защото съобщава какво е решило ядрото, а не какво сте конфигурирали. Повторете го след промяната и сравнете двата отговора.
Това прави свързването на източник едновременно диагностичен инструмент и заобиколно решение: свържете адреса за VPN и вижте дали заявката успява. Ако успее, пътят е наред и проблемът е бил изборът. Ако се провали, проблемът от самото начало е бил обратният път или политиката на далечната страна.
Проверете дали далечната страна приема този източник
Каквото и да избере хостът, то трябва да пасва на защитения обхват на VPN и на обратния маршрут и правилата за достъп в далечния край. Източник извън селекторите може да влезе в тунела и да бъде отхвърлен в далечния край, което изглежда като едностранна повреда и се приписва на маршрутизацията. Сравнете избрания вътрешен източник със защитния обхват, преди да пипате настройките за шифроване, защото смяната на режима не избира между кандидат-адреси.
Дръжте адреса на външната крайна точка отделно и в разсъжденията си. Той идентифицира транспорта между участниците във VPN и не е източникът на пакета на приложението отвътре.
Решавайте с четири наблюдения
Запишете използваната дестинация, допустимите локални източници, действително избрания източник и ефективния изходящ път. Четири реда стигат, за да обяснят почти всеки случай, и могат да се сравнят между работещ и повреден хост, без да се преповтаря теорията. За стъпката на избор използвайте поддържания изглед на самата операционна система, а не име от стандарта, защото реализациите добавят свои локални предпочитания.
Когато отговорът все още ви изненадва, подредбата прави нещо, което вашият мисловен модел не прави, и поправката е да промените входните данни, а не да спорите с алгоритъма. Запишете четирите наблюдения в тикета и следващият читател ще може да възпроизведе заключението ви.