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

Що фільтр насправді порівнює

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

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

Один пробіл змінює набір збігів

Те саме ім'я параметра з кінцевим роздільником і без нього вибирає різні рядки. Без роздільника збіг лишається відкритим, а з ним ім'я параметра має закінчитися саме там, перш ніж почнуться аргументи.

pull-filter ignore "route"
pull-filter ignore "route "

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

Порядок і дія дають різні симптоми

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

ActionEffect on the sessionHow it gets reported
IgnoreOption dropped, session continuesSomething is missing afterwards
RejectError raised, connection restartsThe VPN keeps dropping

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

Перевірте, що встановив хост

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

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

Не вважайте це межею довіри

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

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

Схожі статті