GNOME sozlamalarida Fayldan import qilish… ni tanladim, sotuvchining mijozi bilan ishlaydigan profilni tanladim va dialog ro'yxatga hech narsa qo'shmasdan yopildi. Ikkinchi noutbukda import tugadi, ulanish profil nomi bilan paydo bo'ldi va keyin birinchi autentifikatsiya so'rovida muvaffaqiyatsiz tugadi. NetworkManager .ovpn yoki wg-quick faylingizni hech qachon bor holicha ishga tushirmaydi. U faylni tahlilchiga beradi, tahlilchi uni NetworkManagerning o'z ulanish formatiga aylantiradi va shundan boshlab tunnel shu tahlil qilingan obyektdan quriladi — sirlar, marshrutlar, DNS va hamma narsa. Shuning uchun foydali savol fayl nima uchun buzilgani emas, balki tahlil bo'ldimi va u nimani saqlab qoldi.

Import fayl bilan aslida nima qiladi

OpenVPN uchun tahlilchi plagin paketida yashaydi va u yaratgan ulanish org.freedesktop.NetworkManager.openvpn kabi D-Bus xizmatiga ishora qiladi. Plagin bo'lmasa, tahlilchi ham yo'q: tur nmcli uchun noma'lum va grafik VPN qo'shish ro'yxati umuman import yozuvini ko'rsatmasligi mumkin. WireGuard bir muhim jihatdan farq qiladi — NetworkManager 1.30 seriyasidan beri o'zining WireGuard sozlamalarini olib yuradi, shuning uchun alohida plagin paketi yo'q, lekin wg-quick o'quvchisi faqat uni yetkazib beradigan buildlarda mavjud.

Qanday bo'lmasin, fayl bir marta o'qiladi. Natija /etc/NetworkManager/system-connections/ ostida keyfile sifatida yoziladi, ulanish nomi bilan ataladi, rootga tegishli va boshqa foydalanuvchilar o'qiy olmaydi, chunki unda kalit materiali bor. Bu keyfile endi ulanish; asl .ovpn ni keyin tahrirlash hech narsani o'zgartirmaydi.

Uch alomat uch xil bosqichga tegishli. Import yozuvi yo'qligi yoki noma'lum tur plagin yoki versiya yetishmayotganini bildiradi. Direktivani nomlaydigan import xatosi tahlilchi faylni o'qib, uning bir qismini rad etganini bildiradi. Mavjud bo'lgan, lekin hech qachon faollashmaydigan ulanish tahlil qilingan obyekt to'liq emasligini yoki server uni rad etayotganini bildiradi. Biror narsani tahrirlashdan oldin qaysi uch holat sizda ekanini aniqlang.

Profilni tuzatishdan oldin plaginni tasdiqlang

Yo'q plagin aynan buzilgan profilga o'xshaydi, shuning uchun avval paketni tekshiring. Debian va Ubuntuda OpenVPN qo'llab-quvvatlashi network-manager-openvpn va ish stoli yordamchisi sifatida keladi; Fedorada paketlar NetworkManager-openvpn va NetworkManager-openvpn-gnome; Archda bu networkmanager-openvpn.

dpkg -l network-manager-openvpn-gnome | tail -n 2
rpm -q NetworkManager-openvpn
pacman -Q networkmanager-openvpn

Keyin mutlaq yo'ldan import qiling: nmcli connection import type openvpn file /home/you/profile.ovpn. Nisbiy yo'llar odatda ishlaydi, lekin katalogini o'zgartirgan shell tez importni aylanma yo'lga aylantiradi. WireGuard uchun nmcli --version ni tekshiring va yadro tomoni modprobe wireguard bilan mavjudligiga ishonch hosil qiling; modulsiz mashinada muvaffaqiyatli bo'lgan import qurilmasi hech qachon ko'rinmaydigan ulanish qoldiradi. nmcli ma'lumotnomasi import ichki buyrug'i va qabul qilinadigan tur nomlarini hujjatlashtiradi. Agar type wireguard darhol rad etilsa, build bu funksiyadan eski va to'g'ri qadam distributiv paketi yoki backport — konfiguratsiyani ixtiyoriy katalogga ko'chirib, nimadir uni o'qiydi deb umid qilish emas.

OpenVPN ulanishini o'qing, .ovpn ni emas

Ulanish paydo bo'lgach, faylni qayta o'qish o'rniga tahlil qilingan sozlamalarni o'qing: nmcli connection show "Work VPN" | grep -E '^vpn\.'. Sizga remote va port, transport, identifikatsiya materiali — ca, cert, key, tls-auth yoki tls-crypt — va autentifikatsiya usuli kerak. Maxfiy kalit paroli bo'lgan profilda sudo nmcli --show-secrets connection show "Work VPN" ni qo'shing va secret bayroqlarga qarang: 0 none, ya'ni sir keyfile da; 1 agent-owned; 2 not-saved, ya'ni u hech qachon keyfile ga yozilmaydi; 4 not-required, ya'ni sir umuman kerak emas. Bular bitlar, shkala emas, shuning uchun 3 shunchaki agent-owned plus not-saved. Sessiya davomida bir marta so'raladigan sir agent-owned (1) bo'lib, uni agent so'raydi; buning uchun alohida bayroq raqami yo'q. Bayroqlarning mos kelmasligi profil ish stoli appletidan ulanib, skriptdan yoki yuklashda muvaffaqiyatsiz bo'lishining odatiy sababi.

Tahlilchi nima tashlaganini ko'rishning eng tez yo'li — plagindan faylni qayta yozishni so'rab, keyin uni solishtirish: nmcli connection export "Work VPN" /tmp/roundtrip.ovpn. O'sha diffda yo'qolgan direktivlar ulanish vaqtida mavjud bo'lmaydi. Hooklar odatiy gumondorlar — script-security, up, down va route-up yuqori huquqlar bilan ishlaydigan skriptni kutadi va ataylab ko'chirilmaydi. Import muvaffaqiyatli bo'lishi uchun tekshiruvni pasaytirmang va qo'shimcha imtiyoz bermang; qo'llab-quvvatlanmaydigan opsiya odatda yetib bo'lmaydigan serverni emas, plagin funksiyalar to'plamini aks ettiradi. Bu xatti-harakatni NetworkManager dispatcher skriptiga yoki server tomonidagi siyosatga ko'chiring.

Identifikatsiya maydonlari saqlanib qolganini ham tasdiqlang: CA havolasi, remote-cert-tls va profil tayangan har qanday nom tekshiruvi. Ularsiz ko'tarilgan ulanish o'sha manzilda javob beradigan har qanday narsa bilan gaplashayotgan bo'lishi mumkin.

WireGuard ulanishini o'qing, wg-quick faylini emas

wg-quick fayli — shell semantikasi bo'lgan format; import qilingan ulanish — sozlamalar to'plami. PrivateKey interfeysning maxfiy kaliti bo'ladi, Address bir yoki bir nechta IPv4 va IPv6 manziliga aylanadi, DNS NetworkManagerning resolver xossalariga moslanadi, MTU wireguard.mtu ga moslanadi (wg-quickning o'z standart qiymati 1420), har bir peer bloki esa ochiq kalit, endpoint, ruxsat etilgan IP va persistent keepalive bilan peer yozuviga aylanadi. Nima saqlanganini nmcli --show-secrets connection show wg0 bilan chop eting; agar peer ro'yxati bu chiqishda ko'rinmasa, keyfile ni o'qing:

sudo sed -n '/^\[wireguard\]/,/^\[/p' /etc/NetworkManager/system-connections/wg0.nmconnection

Omon qolmaydigan narsa — wg-quickning shell yarmi. PreUp, PostUp, PreDown, PostDown va Table o'sha asbobning xatti-harakati, WireGuard interfeysining atributlari emas, shuning uchun importdan keyin ularni hech narsa ishga tushirmaydi. Agar asl nusxa standart marshrutni tinch qoldirish uchun Table = off ishlatgan bo'lsa, yangi NetworkManager nashrlari xuddi shu maqsadda ip4-auto-default-route va ip6-auto-default-route ni taqdim etadi; ulanish skript kabi tutadi deb taxmin qilish o'rniga ularni aniq belgilang. Maxsus marshrutni surgan hook o'sha marshrutni ulanishning marshrutlash sozlamalarida talab qiladi, aks holda u shunchaki yetishmaydi.

Ulanishga aynan bitta egasini bering

Klassik keyingi nosozlik — keyingi yuklashgacha ishlaydigan va keyin tsiklga tushadigan ulanish. Odatda [email protected] avvalgi tajribadan hali yoqilgan edi yoki sotuvchi mijozi o'z daemonini ishga tushirgan edi, va ikki egasi bir xil manzil uchun marshrutlar va DNS yozardi. NetworkManager resolverni o'z yo'li bilan o'rnatadi, wg-quick resolvconf orqali yozadi va oxirgi yozgan yutadi — shuning uchun nom hal qilish ishlaydi, keyin to'xtaydi, keyin yana ishlaydi. systemctl status wg-quick@wg0, nmcli connection show --active va ip link show type wireguard ni tekshiring, so'ng metricini sozlash o'rniga ikkinchi egasini o'chiring.

Agar sizga haqiqatan ikkisi kerak bo'lsa, ularga alohida interfeyslar va kesishmaydigan ruxsat etilgan IP bering va standart marshrutni aynan bittasi o'rnatsin. Turli metricli ikkita standart marshrut split tunnel emas; bu ikkinchi bo'lib ishga tushadigan xizmat hal qiladigan poyga. Va qayta ulangandan keyin qo'llanilgan holatni yana ko'zdan kechiring — hammasini ishlatadigan bir martalik qo'lda resolver tuzatishi import to'liq ekaniga dalil emas.

Trafik bilan tekshiring va qayta yuklashdan o'ting

Ulanishni nmcli connection up "Work VPN" bilan ko'taring, so'ng belgiga ishonish o'rniga holat, manzil va marshrutlarni o'qing: nmcli device show wg0 | grep -E 'GENERAL.STATE|IP4.ADDRESS|IP4.ROUTE', ip route show default va faqat tunnel ichida hal qilinadigan nomning haqiqiy so'rovi. Handshake yoki muvaffaqiyatli ping faqat kriptografiya ishlashini isbotlaydi; u forwarding, split tunnel prefikslari yoki shaxsiy DNS haqida hech narsa demaydi, odatda buziladigan qismlar ham shular.

Keyin qayta yuklang va takrorlang. Autoconnect xatti-harakati, nomi o'zgartirilgan interfeys va qurilmadan keyin yuklanadigan plagin — bularning hammasi faqat toza yuklashda ko'rinadigan nosozliklar. journalctl -u NetworkManager -b --no-pager | tail -n 40 daemon bu yuklashda bu ulanish bilan nima qilganini ko'rsatadi. Ikkinchi kompyuter uchun keyfile ni nusxalang va root egaligida 600 rejimda saqlang, yoki OpenVPN uchun nmcli connection export ishlatib, olingan .ovpn ni qayta import qiling — eksport yo'lining WireGuard ekvivalenti yo'q, shuning uchun bu yo'nalish fayl nusxasi yoki himoyalangan asl nusxadan yangi import.

Qisqa versiya, tartib bilan: plaginni yoki NetworkManager versiyasini tasdiqlang, mutlaq yo'ldan import qiling, secret bayroqlar bilan birga tahlil qilingan sozlamalarni o'qing, OpenVPN eksportini asl nusxa bilan solishtiring, WireGuard tomonida hooklar va marshrutlarni tekshiring, har qanday ikkinchi egasini o'chiring, so'ng qayta yuklashdan keyin nom so'rovi va marshrut jadvalini tekshiring. Ulanish bularning barchasidan o'tsa, uni boshlagan profil fayli himoyalangan omborga qaytishi mumkin.

O'xshash maqolalar