proto udp ці tcp-client: які з іх чуе ваш сервер?
Дырэктыва вызначае транспарт для знешняга злучэння. Лякальнае рэдагаванне не стварае слухач на серверы, таму спачатку праверце запіс remote.
Профіль, які працаваў у мінулым месяцы, цяпер сканчаецца па тайм-аўце, і хтосьці прапануе замяніць proto udp на proto tcp-client. Часам гэта правільны крок, а часам атрымліваецца кліент, які падключаецца да порта, дзе ніхто не слухае, бо сервер ніколі не наладжваўся на іншы транспарт. Дырэктыва апісвае, як размаўляе ваш бок; яна не можа стварыць слухач на іншым баку. Прачытайце профіль і сервер разам, перш чым змяняць любы з іх.
Прачытайце транспарт, які выкарыстоўвае выбранае злучэнне
Профіль можа змяшчаць некалькі запісаў remote, і кожны з іх можа называць свой транспарт. Кліент праходзіць іх па чарзе, таму радок, які вы бачыце першым, не абавязкова той, што ўжываецца.
Знайдзіце запіс, які сапраўды спрабуецца, затым прачытайце яго транспарт. Парадак важны, бо кліент не пераходзіць далей моўчкі. Некаторыя зборкі спрабуюць наступны запіс толькі пасля тайм-аўту, таму працаздольная альтэрнатыва ўнізе файла дасягаецца на некалькі секунд пазней, чым вы чакаеце. Сачыце ў журнале за канчатковым пунктам, які спрабуецца, а не мяркуйце, што перамог першы радок.
Калі ў файле ёсць адзін радок proto каля верху і некалькі запісаў remote ніжэй, гэты радок з'яўляецца значэннем па змаўчанні для любога remote, які яго не перакрывае. Лакальная праўка значэння па змаўчанні нічога не робіць для запісу remote, які называе свой транспарт.
grep -nE '^(remote|proto)\b' client.ovpnUDP і TCP — не налада хуткасці
UDP дасылае датаграмы, не будуючы ўпарадкаваны паток, таму ўласны трафік тунеля не заварочваецца ў другі надзейны транспарт. TCP дае шлях праз сеткі, якія адкідваюць або блокуюць UDP, але каштуе ўкладзеных паўторных перадач, якія могуць зрабіць стратнае злучэнне яшчэ горшым.
Гэта кампраміс дасяжнасці, а не ўніверсальны рэйтынг. Правільны выбар — той, які дазваляе сетка перад кліентам. Шлях, які адкідвае UDP на порце VPN, ніколі не спрацуе, як бы добра ні быў напісаны профіль. Праверце шлях, затым выбірайце транспарт.
Выбіраць паміж імі толькі па выніку замеру — памылка, бо адказ залежыць ад таго, што дазваляе сетка перад вамі. Гатэль або карпаратыўны проксі можа дазваляць толькі зыходны TCP на 443, і таму пастаўшчыкі прапануюць такі варыянт. Гэта застаецца злучэннем OpenVPN на гэтым порце, а не сеансам HTTPS, нават калі нумар порта знаёмы.
Што насамрэч азначае tcp-client
Дырэктыва на баку кліента называе пачатак TCP-злучэння. Серверны бок выкарыстоўвае сваю форму слухання, і капіраванне слова кліента ў канфігурацыю сервера стварае слухач, які чакае, што да яго далучацца, а не той, што прымае.
Адпаведнасць азначае, што абодва бакі ўзгаднілі транспарт, а не што яны дзеляць адзін і той жа радок.
grep -nE '^proto\b' /etc/openvpn/server/server.conf
ss -lntp | grep openvpnСпытайце сервер, што ён слухае, перш чым меркаваць, што профіль няправільны. Слухач UDP не з'яўляецца ў спісе TCP-сокетаў, і наадварот, таму правярайце прадстаўленне, спецыфічнае для пратакола, а не агульнае.
Калі профіль імпартуецца, але ніколі не падключаецца
Імпартаваны профіль, які адразу сканчаецца тайм-аўтам, звычайна збіваецца яшчэ да аўтэнтыфікацыі. Пакет ідзе на порт без слухача, або сетка моўчкі яго адкідвае.
Праверце шлях самым простым спосабам: падключыцеся да таго ж хоста і порта з тым транспартам, які заяўляе профіль, з той жа сеткі, што і кліент, які збіваецца.
Калі UDP-проба нічога не атрымлівае, а TCP-проба падключаецца, сервер прапануе іншы транспарт, і профіль проста састарэлы. Калі не адказвае ні адзін, праблема вышэй за выбар транспарту, і ніякая праўка профілю яе не выправіць. Размежаванне гэтых двух выпадкаў займае хвіліну і эканоміць гадзіну адладкі сертыфікатаў, якая ніколі не была датычнай.
Запішыце працаздольны транспарт
Калі спалучэнне працуе, запішыце яго разам з серверам, портам і пратаколам, і адзначце, з якой сеткі яно правяралася.
Інакш наступны чалавек, які трапіць на тайм-аўт, паўторыць той жа эксперымент у адваротным кірунку і, магчыма, змяніць сервер, які быў у парадку.
Калі пастаўшчык публікуе абодва варыянты, трымайце абодва файлы і азначайце іх па сетцы, для якой яны падыходзяць. Два ясна названыя профілі прадухіляюць выпадковае змешванне кліенцкага транспарту з серверным слухачом, які ніколі для яго не наладжваўся.