Націсніце «падключыцца», і ў сістэме Linux змяняюцца тры рэчы: з'яўляецца інтэрфейс, усталёўваюцца маршруты і рэзалвер пачынае адказваць інакш. Большасць збояў наладкі ўзнікае тады, калі адно з гэтых трох адбываецца без астатніх, або калі дзве праграмы не сыходзяцца ў тым, каму яны належаць. Разуменне паслядоўнасці тлумачыць збой хутчэй, чым чытанне вываду журнала кліента.

Інтэрфейс з'яўляецца раней, чым што-небудзь пачне працаваць

Кліент тунеля адкрывае віртуальны інтэрфейс і перадае яму пакеты. Прылада TUN пераносіць пакеты IP, што патрэбна маршрутызаванаму VPN; прылада TAP пераносіць кадры Ethernet, што патрэбна маставой канструкцыі. Модуль ядра дае прыладу, і кліент валодае ёй увесь час, пакуль доўжыцца сеанс.

З'яўленне інтэрфейса не тое ж самае, што праца тунеля. Ён можа існаваць з адрасам, пакуль партнёр недасягальны, і менавіта таму спіс інтэрфейсаў — гэта першая праверка, а не апошняя. Прылада, якая паведамляе, што яна ўзнятая, апісвае погляд ядра на віртуальнае злучэнне, а не жаданне партнёра адказваць.

Пакіньце прапанаваны рэжым інтэрфейса без змен. Пераўтварэнне профілю TUN у TAP не робіць маршрутызаваны сервер маставым, і звычайна ўзнікае злучэнне, якое ўсталёўваецца і нічога не перадае.

Маршруты ўсталёўвае той, хто валодае тунелем

Маршруты — гэта другая змена, і іх прыналежнасць важнейшая за іх змест. Профіль NetworkManager, модуль systemd і кліент, запушчаны ўручную, могуць усталёўваць маршруты, і калі двое з іх робяць гэта адначасова, атрымліваецца табліца, якую потым ніхто не зможа патлумачыць.

ip -br addr show
ip route show
ip -6 route show

Профіль поўнага тунеля замяняе маршрут па змаўчанні; профіль раздзеленага тунеля дадае больш канкрэтныя маршруты і пакідае маршрут па змаўчанні як ёсць. Абодва варыянты нармальныя, і другі — прычына, чаму выдаленне маршруту па змаўчанні з'яўляецца дрэннай першай праверкай на машыне, якой вы кіруеце выдалена. Выдаленне — таксама самы хуткі спосаб страціць сеанс, які вы выкарыстоўваеце, каб выправіць праблему.

Чытайце табліцу, а не здагадвайцеся. Больш канкрэтны маршрут або правіла палітыкі можа накіроўваць трафік у тунель, пакуль маршрут па змаўчанні ўсё яшчэ паказвае на фізічны інтэрфейс, што выглядае супярэчліва, пакуль не прачытаеш усю табліцу. Такое спалучэнне нармальнае для раздзеленага тунеля і блытае таго, хто чакае, што адзін радок апіша канструкцыю. Шукайце маршрут, які адпавядае вашаму рэальнаму прызначэнню, а не той, што адпавядае схеме.

Рэзалвер пераходзіць у іншыя рукі

DNS — трэцяя змена і тая, якая найчасцей кіруецца недзе, дзе вы не глядзелі. На працоўным стале NetworkManager можа перадаваць налады рэзалвера для кожнага злучэння. У сістэме з systemd-resolved налады ўжываюцца для кожнага звяна, і /etc/resolv.conf можа быць заглушкай або сімвалічнай спасылкай, а не файлам, які варта рэдагаваць.

resolvectl status
readlink -f /etc/resolv.conf
cat /etc/resolv.conf

Калі ўручную зробленая праўка файла рэзалвера знікае пасля перападключэння, гэта сігнал знайсці кампанент, які яго падтрымлівае, і змяніць замест гэтага профіль. Рэдагаванне створанага файла — гэта змена, якую перападключэнне сцягне.

Прыватныя імёны звычайна патрабуюць унутраны рэзалвер і дамены пошуку, якія даў аператар. Замена на публічны рэзалвер можа зламаць менавіта той рэсурс, дзеля якога існуе VPN, і сімптом выглядае як збой маршрутызацыі, а не як збой DNS. Праверце імя і адрас асобна, бо праца аднаго і збой другога дакладна паказваюць, куды глядзець. Гэтае адзінае параўнанне эканоміць гадзіну наладкі маршрутаў.

Адзін кіраўнік на кожнае злучэнне

Фармат профілю вызначае, якая праграма можа яго выкарыстоўваць. Профіль OpenVPN патрабуе OpenVPN або сумяшчальны плагін, а канфігурацыя WireGuard мае ўласны фармат з ключамі партнёраў і дазволенымі прэфіксамі. Дыялог імпарту не ператварае адзін у другі, што б ні казала пашырэнне файла.

Выберыце аднаго кіраўніка і дайце яму валодаць злучэннем. Калі падняць адзін і той жа тунель праз дзве прылады, табліца маршрутаў і паводзіны пры перападключэнні становяцца неадназначнымі, і звычайна перамагае другая, што складана паўтарыць.

Усталюйце пакеты, якія падтрымлівае ваша размеркаванне, і атрымайце профіль ад аператара. Стаўцеся да яго як да ўліковых даных, бо ён звычайна змяшчае прыватны ключ або эквівалентны матэрыял, і захоўвайце яго там, дзе жывуць астатнія вашыя сакрэты. Профіль, пакінуты ў папцы загрузак, — гэта ключ, пакінуты на стале.

Што правяраць, калі ўсё ўзнята, але не працуе

Калі інтэрфейс узняты і кліент паведамляе пра поспех, рухайцеся вонкі: ці выбірае табліца маршрутаў тунель для прызначэння, ці адказвае рэзалвер за прыватнае імя, і ці ёсць у процілеглага боку зваротны шлях. Кожнае мае асобную каманду і асобнага гаспадара.

nmcli connection show --active
nmcli device status
wg show

Даведка па nmcli апісвае каманды стану і злучэння, калі вам патрэбны поўны набор. Тут важна адрозненне паміж актыўным профілем і прыладай, якая пераносіць трафік, бо яны могуць разыходзіцца.

Перападключыцеся адзін раз праз таго ж кіраўніка, перш чым назваць наладку завершанай, і праверце, што DNS працуе пасля адключэння. Канфігурацыя, якая працуе толькі да першай змены сеткі, не завершана, яна проста працуе ў гэты момант.

Падобныя артыкулы