Bitta xostdan TCP va UDP orqali OpenVPN xizmati ko'rsatish
2.7 gacha bitta jarayon bitta transportni bog'laydi. Ko'prikli TAP juftligini, ikkita TUN quyi tarmog'ini va umumiy hovuzni solishtiring, so'ng har bir profilni o'z tinglovchisiga moslang.
Faqat TCP 443 ga ruxsat beruvchi tarmoqlar UDP ni bemalol o'tkazuvchi tarmoqlar bilan birga mavjud bo'ladi va bitta server ikkalasiga xizmat qilishi kerak. proto udp ga ega profil ikkinchi guruhga javob beradi va birinchisida muvaffaqiyatsiz bo'ladi, xuddi shu konfiguratsiyani proto tcp deb o'zgartirish ikkinchi tinglovchini yaratmaydi. Direktiva bitta jarayon uchun bitta transportni tanlaydi. Qolgan hammasi shu cheklovdan kelib chiqadi.
Yo bir nechta jarayon ishga tushirasiz, yo bir vaqtda bir nechta soket bog'lay oladigan versiyani ishga tushirasiz.
2.7 gacha bitta jarayon bitta transportni bog'laydi
Hamjamiyat OpenVPN proto tasvirlagan soketni bog'laydi va bu direktiva nusxa uchun bitta transportni tanlaydi. TCP va UDP alohida steklar, shuning uchun bir port raqamini ikkisi bir vaqtda egallashi mumkin, lekin bitta jarayon egallay olmaydi. Shuning uchun 2.6 qatori sizga har bir daemon uchun bitta transport beradi. OpenVPN 2.7 serverlar uchun bu cheklovni olib tashladi, ular bitta jarayonda bir nechta --local bayonoti orqali bir nechta soket bog'lay oladi.
Har qanday javob atrofida loyihalashdan oldin versiyani tekshiring, chunki 2.7 tartibi o'z konfiguratsiya sintaksisiga ega boshqa operatsion modeldir. 2.6 uchun yozilgan qo'llanma buni aytmasa ham ikkita jarayonni tasvirlaydi.
Ikkita nusxani ishga tushirishning uch yo'li
TAP interfeyslari bilan har bir transport uchun bitta nusxani ishga tushiring va xostdagi ikkita tap qurilmasini ko'prik bilan ulang. Ikkala mijoz guruhi ham bitta eshittirish domeniga tushadi, bu bitta manzil hovuziga ularni qamrab olish imkonini beradi va eshittirishga bog'liq protokollar ishlashda davom etadi. TUN bilan ko'prik mavjud emas, shuning uchun eng oddiy bo'linish har bir nusxaga o'z quyi tarmog'ini beradi va marshrutlash ikkala mijoz guruhini ajratib turadi. Uchinchi variant bitta hovuzni saqlaydi: har bir nusxa learn-address skriptini chaqiradi, u shu nusxaning qurilmasi orqali mijoz uchun /32 marshrutini o'rnatadi.
O'sha uchinchi tartib odamlar so'raydigan va eng ko'p ehtiyot talab qiladigan tartibdir, chunki skript ma'lumot yo'lining bir qismiga aylanadi va qo'shish, yangilash va o'chirish hodisalarini to'g'ri boshqarishi kerak.
| Arrangement | Interfaces | Address pool | Cost |
|---|---|---|---|
| Bridged TAP pair | Two tap devices joined by a bridge | One shared pool | Broadcast traffic and bridge maintenance |
| Two TUN subnets | Two tun devices, no bridge | One pool per instance | Routing rules and two plans |
| Shared pool with routes | Two tun devices plus a hook | One pool across both | A script on the data path |
Ikkala nusxani alohida tuting
Har bir nusxaga alohida port yoki manzil, alohida holat fayli va alohida jurnal manzili ham kerak. Bitta holat fayliga qo'shadigan ikkita daemon voqea paytida o'qib bo'lmaydigan chiqish hosil qiladi va aynan o'sha paytda u kerak bo'ladi. Agar ikkinchi nusxa muayyan manzilni bog'lasa, jarayon boshlanganda bu manzil xostda bo'lishi shart; aks holda kalitlar haqida hech narsa demasdan bog'lash xatosi bilan chiqib ketadi.
Birlik va profillarni transport fayl nomidan ko'rinadigan qilib nomlang. Keyingi operator qaysi biri TCP ekanini bilish uchun konfiguratsiyani ochmasligi kerak.
Profilni tinglovchiga moslang
proto tcp ishga tushirgan server proto tcp-client bo'lgan mijoz profilini kutadi, hali ham proto udp olib yurgan profil esa bu tinglovchi qarshisida foydalanuvchi chora ko'ra oladigan xatosiz vaqt tugab qoladi. Agar joylashtirish ikkala transportni taklif qilsa, ikkita profil saqlang va qaysi biri sinab ko'rilganini qo'llab-quvvatlash bilishi uchun belgilang. Faqat port raqami transportni tasvirlamaydi.
Xavfsizlik devori qoidalari ham shu bo'linishga bo'ysunadi: UDP 1194 qoidasi TCP 1194 haqida hech narsa demaydi, bitta manzil qoidasi esa boshqa tinglovchini qamrab olmaydi.
Avval serverni ko'rish nuqtai nazarini o'qing
Serverda ss -lntup bilan boshlang va TCP hamda UDP tinglovchilari ikkalasi ham ko'rinishini tasdiqlang. So'ng har bir turdan bitta mijozni ulang va turli manzilli ikkita yozuv uchun holat chiqishini tekshiring. Agar soketlar bor bo'lsa-yu, mijoz kelmasa, daemon ularni ko'rishidan oldin yo'l yoki xavfsizlik devori paketlarni rad etmoqda.
Hech qachon ko'rinmaydigan soket konfiguratsiya yoki bog'lash muammosi, ko'rinib turib ham hech qachon ulanishni qayd etmaydigan soket esa filtrlash muammosi. Mijoz tomondan ikkalasi bir xil ko'rinadi, shuning uchun birinchi navbatda serverni ko'rish nuqtai nazari olinadi. TCP navbat boshining to'silishini olib yurishini yodda tuting, shuning uchun uni taklif qilish toza UDP yo'liga ega mijozlar uchun yangilanish emas, balki yetib borish chorasidir.