Аварыйнае адключэнне ці доступ да LAN? Два адказы для WireGuard
Кліент Windows блакуе трафік, які не ідзе праз тунель, калі профіль указвае 0.0.0.0/0. Вызначце, якая ўласцівасць вам патрэбна, і выразіце прадвызначэнне адпаведна.
Рукапацісканне завяршаецца, браўзер працуе, а прынтар, NAS і лакальныя SSH-хасты знікаюць. У кліенце Windows гэта звычайна зусім не збой маршрутызацыі: пір, у дазволеных прэфіксах якога ёсць літаральнае прадвызначэнне, уключае «Блакаваць трафік па-за тунелем», і гэтая опцыя рэалізавана як правілы брандмаўэра, якія адкідваюць пакеты, што выходзяць праз любы іншы інтэрфейс. Табліца маршрутаў па-ранейшаму паказвае лакальную падсетку як on-link, таму сімптом здаецца хлуснёй. Тры ўмовы вызначаюць, што з гэтым рабіць, і толькі адна з іх пра маршрутызацыю.
Два збоі носяць адзін сімптом
Першы збой — гэта рэжым fail-closed у кліенце, і яго прыкмета ў тым, што ўсё па-за тунелем спыняецца, пакуль сам тунель працуе бездакорна. Другі — сапраўдная праблема дасяжнасці: адсутны маршрут, адсутны запіс на серверы для падсеткі за кліентам або дзве сеткі з адным і тым жа дыяпазонам адрасоў. Абодва даюць машыну, якая можа глядзець сайты і не можа друкаваць, і іх выпраўленні процілеглыя, таму дыягностыка павінна ісці перад наладай.
Адрозная назіранасць у тым, ці прысутнічае лакальная падсетка ў табліцы маршрутаў, пакуль трафік да яе адкідваецца.
Тры ўмовы вызначаюць адказ
Па-першае, ці патрэбен гэтай машыне fail-closed? Калі адказ так, тунель, які ўпаў, павінен спыняць трафік, а не дазваляць яму вяртацца на фізічны інтэрфейс, і гэта патрабаванне важнейшае за лакальны камфорт. Па-другое, ці павінны лакальныя прылады заставацца дасяжнымі, пакуль тунель падняты? Друк, сеткавае сховішча і лакальныя кансолі кіравання — звычайныя прычыны, і гэта законныя патрабаванні, а не выключэнні, за якія трэба прабачацца. Па-трэцяе, ці выражае профіль прадвызначэнне як літаральнае 0.0.0.0/0? Менавіта гэтая дэталь запускае правілы кліента, і яна рэдагуецца.
Адказвайце на гэтыя тры пытанні пісьмова, перш чым чапаць профіль, бо кожны адказ паказвае на іншую канфігурацыю.
Выберыце fail-closed і адмовіцеся ад LAN
Калі ўцечкі важнейшыя за лакальную дасяжнасць, пакіньце літаральнае прадвызначэнне і не выключайце «Блакаваць трафік па-за тунелем». Гэта паслядоўная пазіцыя: машына лічыцца прыладай, якая альбо ўнутры тунеля, альбо па-за сеткай, а лакальныя сэрвісы дасягаюцца з іншай прылады або праз тунель, калі сервер іх маршрутызуе. Кошт рэальны, і яго трэба ўказаць у нататках да разгортвання, а не даць выявіць чалавеку, якому трэба друкаваць.
Гэта правільны выбар для машын, якія выконваюць працу, што не павінна з’яўляцца ў сетцы кавярні, калі тунель падае. Гэта дрэннае прадвызначэнне для хатняга ноўтбука, якому таксама патрэбен сканер.
Выберыце доступ да LAN і выразіце прадвызначэнне інакш
Калі лакальныя прылады павінны заставацца дасяжнымі, выразіце тое ж пакрыццё без літаральнага прэфікса прадвызначэння. Два палоўныя прэфіксы пакрываюць кожны адрас IPv4, эквівалентная пара пакрывае IPv6, і кліент больш не ўстаўляе блакуючыя правілы, бо радка, якую ён шукае, няма.
[Peer]
AllowedIPs = 0.0.0.0/1
AllowedIPs = 128.0.0.0/1
AllowedIPs = ::/1
AllowedIPs = 8000::/1
Endpoint = vpn.example.net:51820
Зняцце гэтай птушкі прымушае кліента запісаць тыя ж дзве пары ў профіль, таму параўнанне згенераванага файла з блокам вышэй — хуткі спосаб пацвердзіць механізм, а не здагадвацца пра яго. З гэтага вынікаюць дзве наступствы. Пакрыццё ідэнтычнае, таму нішто іншае ў тунелі не змяняецца. Ахова не ідэнтычная: калі правілы зніклі, тунель, які ўпаў, пакідае машыну на фізічным інтэрфейсе, і менавіта гэта прадухіляў fail-closed.
Праверце двух іншых падазроных у любым выпадку
Калі пытанне брандмаўэра вырашана, пацвердзіце, што лакальная падсетка сапраўды маршрутызуецца і што далёкі бок ведае пра ўсё за гэтым кліентам. Сервер, які павінен дасягнуць LAN за кліентам, патрабуе гэты прэфікс у дазволеным спісе кліента на хабе; без яго хаб не можа выбраць пір для гэтых адрасоў, і ніякая колькасць налад кліента яго не створыць.
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultOutboundAction
route print 0.0.0.0
Катэгорыя сеткі важнейшая, чым людзі чакаюць: новы адаптар тунеля, класіфікаваны як публічны, змяняе правілы, якія да яго прымяняюцца, і вынік можа выглядаць як блакаванне брандмаўэра на далёкім баку. Друк маршрутаў паказвае, ці ёсць прадвызначэнне наогул, і гэта аддзяляе праблему палітыкі ад адсутнага маршруту.
Затым праверце тры рэчы за адзін сеанс: інтэрнэт, адзін лакальны хост па адрасе і адзін хост праз тунель. Рукапацісканне даказвае толькі тое, што ключы супадаюць, таму палітыку дэманструюць менавіта тры тэсты. Калі лакальны хост усё яшчэ адмаўляе пасля зняцця опцыі, пакінутыя падазроныя — маршрут, дазволены спіс далёкага боку і дублікат падсеткі, менавіта ў гэтым парадку.