Siz server konfiguratsiyasiga route 10.60.0.0 255.255.255.0 qo'shasiz, qayta ishga tushirasiz, noutbukni qayta ulaysiz, ammo subnet hali ham o'sha noutbukdan yetib bo'lmaydigan holatda. Satr qabul qilindi, xizmat toza ishga tushdi va jurnalda hech narsa noto'g'ri ko'rinmaydi. Bo'lgani shu: marshrut siz tahrirlagan mashinaning o'ziga o'rnatildi: shlyuz endi o'sha prefiksga yetib borishim mumkin deb o'ylaydi, mijozga esa hech narsa aytilmadi. Joylashuv butun masala va bir xil satr yashashi mumkin bo'lgan to'rt joy bor.

To'rt joy va har birini kim oladi

Marshrutni mijozning o'z konfiguratsiyasi bilan qo'shish, global push orqali har bir mijozga taklif qilish, mijozga xos fayl orqali bitta mijozga taklif qilish yoki serverning o'z marshrutlash kontekstiga yozish mumkin.

Bu to'rt holat deyarli bir xil sintaksisdan foydalanadi va butunlay boshqa natijalar beradi. Birinchi uchtasi mijoz tunnelga nima yuborishiga ta'sir qiladi; to'rtinchisi server tarmoqqa qanday yetib borishiga ta'sir qiladi, bu serverning o'ziga yo'l kerak bo'lganda foydali, taqsimlash bilan adashtirilganda esa zararli.

Satrni yozishdan oldin to'rttadan qaysi birini xohlayotganingizni hal qiling, keyin qabul qiluvchini tasdiqlang.

PlacementEffectReceiver
Client profile routeInstalled by the client at connectThat client only
Global push "route ..."Sent to every client that accepts pushed optionsAll pulling clients
Client-specific pushSent to the matching client contextOne identity
Server config route, no pushAdded to the server's own tableThe gateway itself

Yalang'och server marshruti odamlarni nima uchun hayratga soladi

Server konfiguratsiyasi administratorlar birinchi qaraydigan joy va u yerdagi marshrut direktivasi VPN tarmog'i haqidagi bayonot kabi o'qiladi. Unday emas. OpenVPN uni demon ishlayotgan mashinada mahalliy marshrut o'rnatishi deb biladi, bu esa ip route bilan qilib keyin unutib qo'yadigan o'zgarishning aynan o'sha turi.

Taqsimlash marshrut push qilinishini talab qiladi, push esa mijoz uni tortib olishini talab qiladi. Tortib olingan variantlar o'chirilgan holatda ishga tushirilgan mijoz taklifni butunlay e'tiborsiz qoldiradi. Server faylini qayta yozishdan oldin bu qo'l siqishning ikkala uchini tekshiring, chunki server jurnali shikoyat qilmaydi: o'z tomonidan taklif yuborilgan. Qabul qilingan marshrut ham faqat keyingi ulanishda kuchga kiradi, siz allaqachon bo'lgan sessiyada hech qachon emas.

Ikkalasini alohida amallar sifatida ko'rganingizda, nosozlik sirli bo'lishdan to'xtaydi: server prefiksga yetadi, mijoz yeta olmaydi va ikkala bayonot bir vaqtda to'g'ri.

Har bir mijoz uchun fayllar va ular mos keladigan shaxs

Mijozga xos fayl server autentifikatsiya qilgan shaxs nomi bilan ataladi, bu sukut bo'yicha sertifikatning umumiy nomi. Ish stoli mijozidagi do'stona ulanish nomi bu qiymat emas va mos kelmaslik hech qachon o'qilmaydigan fayl yaratadi.

Server haqiqatda ishlatadigan katalogni tekshiring, keyin fayl nomi autentifikatsiya qilingan shaxsga to'liq mos kelishini tasdiqlang, katta va kichik harflar bilan birga.

grep -n 'client-config-dir' /etc/openvpn/server/server.conf
ls -l /etc/openvpn/ccd/

O'sha fayl ichida marshrut hali ham push qilinishi kerak, chunki har bir mijoz konteksti o'sha mijoz sessiyasiga qo'llaniladigan variantlar to'plami, mahalliy marshrutlash jadvali emas. U yerdagi yalang'och marshrut global fayldagi yalang'och marshrut bilan bir xil muammoga ega.

Mijozning o'z fayli va unga egalik qiladigan vosita

Mijoz konfiguratsiyasiga joylashtirilgan marshrut o'sha mijoz ulanganda o'rnatiladi va uzilganda olib tashlanadi, bu statik manzil uchun to'g'ri hayot aylanishi.

Agar profilga tarmoq menejeri egalik qilsa, u bu variantlarni bir marta import qilib, keyin o'z nusxasini saqlashi mumkin. Yuklab olingan faylni keyinroq tahrirlash hech narsani o'zgartirmaydi, bu "marshrut bor, lekin qo'llanilmaydi" deganining keng tarqalgan sababi.

Yuklab olgan faylingiz o'rniga faol profilni tekshiring va menejer ko'rsatadigan import qilingan sozlamalarni tekshiring. So'ngra ulanib, ma'lum bir manzil qaysi yo'lni ishlatishini tizimdan so'rang, marshrut matn faylida bo'lgani uchun tunnel yutdi deb taxmin qilish o'rniga.

Mijozda tekshiring, keyin qaytish yo'lini tekshiring

Manzil haqida mijozning o'z marshrutlash jadvalidan so'rang, servernikidan emas. Prefiks ichidagi bitta xost uchun qidiruv ishlatiladigan interfeys va keyingi sakrashni ko'rsatish uchun yetarli.

ip route get 10.60.0.10

Agar qidiruv tunnelni ko'rsatsa, taqsimlash ishladi va qolgan muammo boshqa joyda. Agar u standart shlyuzni ko'rsatsa, marshrut o'rnatilmagan, mijoz tomonidagi variant bilan filtrlangan yoki mijoz ishlatmaydigan profilga tegishli.

Taqsimlash ishladi deb faraz qiling va baribir hech narsa javob bermayapti: unda shlyuzda yo'naltirishni, qarshi tomonning qaytish marshrutini va ular orasidagi har qanday xavfsizlik devorini tekshiring. Marshrut yo'l tanlaydi, u ruxsat bermaydi.

O'xshash maqolalar