Целта беше да отпадне един изпратен маршрут. След промяната липсва друга опция за маршрутизация или клиентът се свързва наново в цикъл. И двата резултата идват от това, че филтърът се чете като правило за подмрежа, докато той сравнява текст. Клиентът проверява дали изпратена опция започва със знаците, които сте подали, и на нито един етап не участва адресна логика.

Какво всъщност сравнява филтърът

Всяка изпратена опция пристига като ред от име и неговите аргументи. Филтърът сравнява вашите знаци с началото на този ред, преди адресът да бъде анализиран и преди маршрутът да бъде инсталиран. Затова правило, написано за име, улавя всяка опция, която започва с тези букви, а не само тази, която сте гледали. Ето защо филтърът може да изглежда правилен сам по себе си и пак да премахне нещо несвързано.

Низ, който изглежда като мрежов диапазон, остава просто знаци. Той не избира префикс, не извършва аритметика върху мрежови битове и не може да изрази набор от дестинации. Когато такова правило изглежда работещо, а по-късно спре, изпратеният текст обикновено е променил формата си.

Един интервал променя набора от съвпадения

Същото име на опция с и без завършващ разделител избира различни редове. Без разделителя съвпадението остава отворено, а с него името на опцията трябва да завърши точно там, преди да започнат аргументите.

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

Запишете кой ред е съвпаднал и кое действие е изпълнено. Отпаднал маршрут и цикъл на рестартиране изискват различни поправки и бележката трябва да казва кое е станало, вместо да оставя двете отворени.

Проверете какво е инсталирал хостът

Прочетете приложените маршрути след повторно свързване и тествайте дестинацията, която сте искали да запазите, както и тази, която сте искали да премахнете. Отпадането на изпратен маршрут не дава заместител, затова ресурс може да стане недостъпен по друг път, докато нежеланият маршрут е изчезнал. Ако име сега се резолвва другаде, проверете дали изпратената опция за резолвер е уловена от същия широк префикс. Промяна, която минава теста, който сте пуснали, и се проваля на този, който сте имали предвид, е нормалният изход тук.

Запазете тази разлика в заявката: маршрутът, който сте премахнали, маршрутът, който сте очаквали да запазите, и какво показва таблицата сега. Следващата промяна ще се оценява спрямо този запис.

Не го третирайте като граница на доверие

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

Запишете защо локалният филтър изобщо съществува, за да може следващият човек да реши дали още е нужен. Филтрите се натрупват дълго след като причината за тях е изчезнала.

Подобни статии