Порт у полі адраса VPN Windows працуе толькі з SSTP
Поле Імя сервера не з’яўляецца host:port. PPTP, L2TP і IKEv2 маюць фіксаваныя парты; SSTP прымае порт толькі як поўны https:// URL, а перанакіраванне 443 - чысцей.
VPN-сервер адказвае на TCP 10443, убудаваны кліент Windows мае правільныя ўліковыя даныя, а злучэнне ўсё роўна абрываецца пасля паўзы, якая выглядае як тайм-аўт DNS. Прычына звычайна ў полі адраса: калі ўвесці vpn.example.com:10443 у поле Імя сервера або адрас, Windows чытае ўвесь радок як імя хоста, бо гэтае поле не з’яўляецца агульным уводам host:port. Ці можна наогул выразіць там порт, залежыць ад тыпу тунеля, які выкарыстоўвае профіль, і толькі адзін з чатырох тыпаў ставіцца да значэння як да чагосьці, што ён можа разабраць.
Чаму поле адраса не з’яўляецца полем host:port
Уласцівасць профілю за гэтым полем - ServerAddress, і кожны тып тунеля сам вырашае, што рабіць з радком. У трох з іх няма параметра порта, які трэба запоўніць, таму двукроп’е і лік - проста знакі ў імені, якое ніколі не будзе вырашана. Чацвёрты працуе праз HTTPS, дзе порт з’яўляецца часткай URL, таму значэнне трэба запісаць у форме, якая разбіраецца як URL.
Таму збой выглядае як разрозненне імёнаў, а не як адхіленае злучэнне. Няма дрэннага порта, пра які трэба паведаміць, ёсць толькі неіснуючае імя хоста, і памылка прыходзіць пасля таго, як разрознівальнік здаецца. Перш чым кранаць сервер, праверце, які тып тунеля заяўляе профіль.
Тры тыпы з фіксаваным портам
PPTP злучаецца з TCP 1723, а затым нясе тунель у GRE, пратаколе IP 47. L2TP/IPsec выкарыстоўвае UDP 1701 для тунеля і UDP 500 плюс 4500 для IPsec, прычым 4500 - гэта порт пранікнення NAT. IKEv2 таксама выкарыстоўвае UDP 500 і 4500. Ні адзін з гэтых профіляў нідзе ў інтэрфейсе не паказвае поле порта, і ні адзін не будзе ўзгадняць нестандартны порт.
Сервер, які слухае на карыстальніцкім порце, таму недасягальны для гэтых профіляў, як бы ні быў запісаны адрас. Практычныя адказы вузкія: апублікуйце стандартны порт на серверы або перанясіце стандартны порт на карыстальніцкі на маршрутызатары перад ім. Абодва варыянты пакідаюць кліенцкі профіль некранутым, што шмат варта, калі профіль разгортваецца палітыкай, а не ўводзіцца ўручную.
SSTP патрэбен URL, а не імя
SSTP - выключэнне, бо працуе ўнутры сеанса TLS. Поле павінна разбірацца як URL: спачатку схема https://, затым хост, затым двукроп’е і порт. Без схемы Windows працягвае ставіцца да значэння як да звычайнага імені, і злучэнне падае да таго, як адбудзецца любы абмен TLS.
Прычына, па якой гэта здзіўляе людзей, у тым, што стандартны порт прымае голае імя хоста. Профіль, якому ніколі не патрабаваўся карыстальніцкі порт, ніколі не вучыць гэтаму правілу, і першы чалавек, які дадае яго, выяўляе гэта праз няўдачу. Пасля захавання перачытайце захаванае значэнне замест таго, каб давяраць дыялогу:
Get-VpnConnection -Name "Corporate SSTP" | Select-Object Name, ServerAddress, TunnelType
ServerAddress паказвае менавіта тое, што было захавана. Калі ён чытаецца як голае імя хоста з двукроп’ем, профіль ніколі не атрымаў URL, і ніякая колькасць паўторных спроб гэтага не выправіць.
Сінтаксіс вытворцы, які ўстаўляюць у тое ж поле
Некаторыя шлюзы дакументуюць дадатковыя ўмовы для гэтага поля, напрыклад realm, далучаны пасля порта, або параметры запыту, якія змяняюць апрацоўку сертыфікатаў. Іх разумее сервер гэтага вытворцы і ў некаторых зборках яго ўласны кліент. Яны не ўваходзяць у фармат профілю Windows, і іх устаўка ва ўбудаваны профіль звычайна дае такі ж ціхі збой імені.
Стаўцеся да параметра, які адключае праверку сертыфікатаў, як да папярэджання, а не як да выпраўлення. Калі профіль злучаецца толькі з гэтым параметрам, сертыфікат не адпавядае імені, якое выкарыстоўваецца, і правільнае выпраўленне - на шлюзе, а не ў кліенце. Realm пасля порта мае тую ж уласцівасць: ён робіць нешта толькі калі сервер на тым баку яго чакае.
Дакажыце порт, затым прачытайце які збаіць этап
Перш чым вінаваціць профіль, пераканайцеся, што нешта прымае TCP на гэтым порце з сеткі кліента:
Test-NetConnection vpn.example.com -Port 10443
Поспех даказвае наяўнасць слухача, а не SSTP. Вэб-сервер, зваротны проксі або балансіроўшчык нагрузкі могуць завяршыць рукапацісканне TCP і ўсё роўна не гаварыць на SSTP, таму зялёны тэст з чырвоным VPN - рэальная камбінацыя. Параўнайце суб’ект сертыфіката з імем у профілі і праверце журнал RasClient у зборках, якія яго пастаўляюць, бо ён запісвае этап, які збаіў, замест агульнага тайм-аўту.
Затым разгледзьце варыянт, які выдаляе праблему замест таго, каб яе дакументаваць: перанакіруйце TCP 443 звонку на 10443 на VPN-серверы. Тады кліент выкарыстоўвае стандартны профіль зусім без порта, што звычайна з’яўляецца самым чыстым рашэннем для кіраванага парку і пакідае карыстальніцкі порт унутранай дэталлю.