VPN се повезује код куће, али у хотелском Wi-Fi-ју истиче време
Исти лаптоп, исти налог, друга мрежа. Читајте код грешке као фазу, проверите име, а затим ухватите спољашњи пакет пре него што промените било коју поставку.
Лаптоп се придружује кућном Wi-Fi-ју, клијент се повезује за три секунде, а исти профил не успева у хотелу сат касније. Између тога ништа није ажурирано. Пролазак кроз ово са клијентом пред собом углавном се своди на то да знате која грешка припада којој фази, јер је корисна информација у коду који клијент испише, а не у чињеници да је подбацио. Прођите кроз четири корака испод по реду и знаћете да ли вас је одбило име, пакет, порт или правило.
Читајте код грешке као фазу, не као пресуду
Клијент долази до три одвојене прекретнице пре него што тунел постоји. Разрешава име сервера, добија одговор од нечега на мрежи и преговара безбедносну асоцијацију. Свака прекретница има своју поруку о неуспеху, а Windows је посебно дарежљив са различитим кодовима када знате којој фази припадају.
| What the client says | Stage that failed | First thing to run |
|---|---|---|
| 868, name did not resolve | DNS, before any packet leaves for the server | Resolve-DnsName vpn.example.net |
| 721 or 806, remote computer did not respond | Outer protocol filtered, typically GRE or UDP | A capture on the local interface |
| 809, server not responding | A device in the path is dropping the outer flow | The same capture, from a second network |
| 789, security layer error | The security exchange started and was rejected | Certificate and proposal settings on both ends |
Два од тих кодова значе да је мрежа невина. 789 значи да су пакети текли и да се две стране нису сложиле око криптографије, што је конфигурацијски проблем који можете поправити код куће. 868 значи да ниједан пакет није морао да изађе, па је дизајн тунела небитан док се име не разреши. Разврставање кода у праву фазу штеди више времена од било ког снимања, јер вам каже који од следећа три корака да прескочите.
Будите примерено опрезни ако клијент није Windows. Клијенти трећих страна већину овога своде на "веза није успостављена", зато се следећа два корака уопште не ослањају на поруку.
Проверите име пре него што окривите тунел
Хотелске и аеродромске мреже стално пресрећу DNS, а резолвер који одговара адресом портала производи неуспех који изгледа тачно као мртав сервер. Упоредите шта каже локални резолвер са оним што каже јавни:
Resolve-DnsName vpn.example.net -Type A
nslookup vpn.example.net 1.1.1.1
ipconfig /all | findstr /i "DNS Servers"
Ако се два одговора разликују, вас преусмеравају и остатак дијагностике је узалудан док се то не реши. Посебно ће адреса портала радо прихватити TCP везу и затим се заглавити, зато то може изгледати као блок заштитног зида када тестирате прегледачем.
Сада потврдите да је адреса коју намеравате да достигнете она која се користи. Неки клијенти кеширају претходно разрешење за цео животни век профила, па поновно повезивање након промене DNS-а и даље иде на стару адресу. Потпуно затворите клијент пре поновног тестирања, уместо да притиснете искључи и повежи у истом прозору.
Откријте који спољашњи пакет нестаје
Тунел има спољашњи ток који у целини припада путу између вас и сервера, и управо тај ток посредни уређаји класификују и одбацују. Снимите га на клијенту, затим упоредите мрежу која ради са оном која подбацује. На Windows-у је уграђено снимање довољно за први поглед:
pktmon filter remove
pktmon filter add -p 500 -t UDP
pktmon start --capture --pkt-size 128
pktmon stop
pktmon etl2txt PktMon.etl
Желите да видите излазе ли ваши пакети уопште и враћа ли се ишта. Пакети напоље без ичега заузврат значе да их пут или удаљени крај одбацује; ако ништа не излази, клијент никада није стигао до слања, што упућује назад на разрешавање имена или на локално правило заштитног зида.
Поновите исти тест на хотспоту телефона. То је једино најинформативније поређење које вам је доступно, јер уклања са пута сваку кутију у хотелу док лаптоп, клијент и акредитиви остају исти. Ако се тунел подигне на хотспоту, престаните да гледате у сервер. Ако и тамо подбаци, имате проблем са клијентом или налогом који мрежа никада није проузроковала.
Промените један транспорт и поново тестирајте
Када знате да се спољашњи ток одбацује, практично питање је који ток мрежа ипак допушта. Већина ограничених мрежа допушта одлазни TCP 443, јер иначе не могу да функционишу, па је премештање слушаоца тамо уобичајен одговор. На OpenVPN то је прекидач на страни клијента док се сервер не промени:
openvpn --config corp.ovpn --proto tcp-client --remote vpn.example.net 443 --verb 4
IPsec клијенти имају еквивалентан прекидач у сопственим панелима поставки, обично описан као IPsec преко TCP-а или NAT пролаз. Његова промена је такође дијагностика: ако се тунел подигне преко TCP-а и умре преко UDP-а, доказали сте да мрежа филтрира UDP, и нашли сте и поставку која ће вам требати при свакој посети том месту.
Одуприте се искушењу да искључите функције рутера на први покушај. Искључивање надзора стања или заштите од поплаве на хотелској мрежи вам ионако није доступно, а на сопственој опреми то мења праву заштиту за један лаптоп. Забележите која поставка је променила исход, затим је вратите и тражите транспорт који мрежа већ допушта.
Проверите исти профил на другој мрежи
Пре него што затворите тикет, докажите да је промена преживела излазак из зграде. Поново се повежите на изворној мрежи са изворним поставкама, снимите првих тридесет секунди и потврдите да клијент достиже исто стање као на хотспоту:
pktmon filter add -p 443 -t TCP
pktmon start --capture
Get-VpnConnection -Name "Corp" | Select-Object ConnectionStatus, TunnelType, ServerAddress
Разлику коју открива последња наредба вреди задржати: профил може да пријави повезан тунел док је усмеравање унутар њега погрешно, а то даје "VPN је укључен али ништа не ради", што је други чланак. Ако се тип тунела променио после ваше измене, профил није онај који сте тестирали.
Затим запишите налаз тамо где ће гледати следећа особа. "Корпоративни профил тражи TCP 443 на овом месту; UDP 500 филтрира хотел" је реченица по којој колега може да поступи. "VPN је нестабилан у хотелима" није, и гарантује да ће се исти сат поново потрошити следећег месеца.