Порт 443 одговара, SSTP и даље не успева: која фаза се сломила?
Нешто је прихватило везу, а тунел се ипак не гради. Одвојите транспорт, сертификат, SSTP преговарање и PPP аутентикацију.
Завршетак TCP руковања на порту 443 док се тунел никада не гради доказује једну ствар, и то је мала ствар. Нешто слуша и спремно је да прихвати везу на тој адреси. То не идентификује услугу, сертификат који ће представити, ни шта се дешава после првих бајтова.
Између тог руковања и тунела који ради стоје четири фазе, и свака производи другу грешку.
Отворен порт описује само један слој
Прихватити TCP везу значи да процес поседује сокет и да пут дозвољава руковање. То ништа не говори о томе да ли је тај процес SSTP сервер, да ли има сертификат важећи за име у вашем профилу, или да ли ће одобрити ваш налог. Веб сервер на истој адреси савршено одговара на руковање, а затим на ваш SSTP захтев одговара HTTP грешком. Све изнад тог руковања остаје непроверено.
Третирајте тест порта као најјефтинији могући филтер, а не као пресуду. Његова вредност је у томе што уклања целу категорију отказа, а не у томе што потврђује све изнад себе.
Мешање тога двоје је разлог зашто људи поново инсталирају клијенте после теста који никада није испитао прави проблем клијента.
Одвојите четири фазе доказима
Фазе су доступност транспорта, TLS валидација, SSTP размена преко HTTPS-а и PPP аутентификација унутар тунела. Путу који прође прву и падне на четвртој потребна је исправка података за пријаву; ономе који падне на другој потребна је исправка сертификата или имена. Те поправке немају ништа заједничко, а избор погрешне траћи прекид.
nc -vz vpn.example.net 443
openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -brief
curl -sS -o /dev/null -w '%{http_code}\n' https://vpn.example.net/
Трећу команду вреди пажљиво прочитати. 200 са обичне веб странице каже вам да веб услуга постоји; не каже да ће SSTP захтев бити схваћен. 404 са исте адресе једнако је неинформативан о VPN-у. Само дневник клијента каже којој је од четири фазе стигао.
Обратите пажњу које је име свака команда користила. Сертификат се бира према имену које шаљете, па је неслагање између профила и теста неслагање које сте сами унели. Записивање тог имена поред резултата спречава каснију забуну.
Читајте делимичан успех у правом смеру
Посредник може дозволити обично прегледање и одбити каснију размену, зато прокси који ради за веб сајтове још увек може да не успе за тунел. Исти образац се појављује када је сертификат важећи за име прегледача, али не за име конфигурисано у профилу: прегледач је задовољан, а клијент није, и обоје су у праву у вези са оним што су проверили.
Држите валидацију сервера укључену док ово дијагностикујете. Њено искључивање претвара неслагање сертификата у успешно руковање и скрива једини доказ који би објаснио отказ.
Ако исти профил ради са друге мреже, разлика зависи од пута. То сужава потрагу на посреднике без речи који, и још увек је користан корак напред. Запишите мрежу коју сте користили, јер је поређење без ње безвредно.
Затим тестирајте апликацију, не само сесију
Када сесија постоји, проверите предвиђену руту, резолуцију имена и дозволу за услугу од клијента којима је потребна. Повезан тунел и даље може имати пренос који недостаје на далекој страни или повратну руту која никада није постојала, а ти откази изгледају тачно као проблем апликације за особу која чека.
Држите сваки закључак везан за фазу која га је произвела. Назвати отворен порт радним VPN-ом је начин на који петоминутна провера сертификата постаје дан поновне инсталације софтвера.