Поставяте адреса от писмото за първоначална настройка, клиентът стига до шлюза и формулярът за вход, който се появява, е общият портал, а не партньорският, който операторът е описал. Нищо не връща грешка и точно това обърква: тунелът дори може да се вдигне, само че зад грешна входна точка. Пътят в този URL вършеше работа и каквото и да го замени, то я изгуби.

Разделете две неща, които пристигат като един низ в заявката: адреса, който стига до услугата, и входа, който решава къде започва удостоверяването. Да поправите първото, като игнорирате второто, е начинът, по който правилен хост все още дава грешен вход.

Какво изпраща клиентът, преди да видите формуляр

С адрес като https://vpn.example.net/partners първото действие на клиента е HTTPS заявка към този път, а не към голия хост. В отговор обикновено идва пренасочване към входната точка или самият формуляр. Клиент, на който е даден само vpn.example.net, започва от каквато е страницата по подразбиране, а тя може да е друг портал, друг списък с групи или страница, която очаква съвсем друг протокол. Разликата се вижда в заглавките на отговора много преди да е въведено каквото и да е удостоверение.

Затова работещ раздел на браузъра и провален клиентски профил могат да назоват един и същ шлюз и пак да се разминават. Браузърът следваше пътя; профилът никога не го е имал.

Два входа, които изглеждат взаимозаменяеми и не са

OpenConnect предоставя първоначалния HTTPS път като --usergroup, а страницата с ръководството третира пълния URL с този път като същата заявка, написана по друг начин. --authgroup е отделна опция: тя избира запис от списъка, който шлюзът показва във формуляра за вход. Някои протоколи наричат този запис група, други домейн или шлюз, и точно тук двата флага се объркват.

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

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

Защо отрязването на пътя променя резултата

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

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

Адресите в браузъра носят и повече от пътища. Идентификатори на сесии, цели на пренасочване, езикови префикси и временни параметри за вход всички се появяват в адресната лента и нито едно от тях не принадлежи в запазен клиентски профил.

Потвърдете входната точка, преди да редактирате каквото и да е друго

Прочетете заглавките за пътя, който ви е даден. Заявка като curl -sS -o /dev/null -D - https://vpn.example.net/partners отпечатва реда на състоянието и всяка заглавка Location, без да следва пренасочването. 302 към именувана входна точка потвърждава, че пътят съществува, и показва накъде води; 404 означава, че адресът на оператора е остарял.

След това възпроизведете същата входна точка в одобрения клиент, например openconnect --usergroup=partners vpn.example.net, и наблюдавайте кой формуляр се появява. Ако формулярът е правилен, а тунелът пак не работи, пътят никога не е бил проблемът и следващата спирка е политика или маршрутизация.

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

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