Deyarli bir xil so'zlar bilan ikkita so'rov keladi: har bir VPN mijozini tanlangan VLAN'ga joylashtirish yoki mavjud VLAN trunk'ni VPN orqali o'tkazish. Bular ikki xil mahsulot. OpenVPN'ning o'rnatilgan VLAN'ni biladigan rejimi birinchi so'rov uchun kommutator modeli va shaffof teg tashishning sinonimi emas. Noto'g'ri tanlov sozlanganga o'xshab ko'rinadigan, ammo siz uchun muhim kadrlarni jimgina tashlab yuboradigan loyihani keltiradi.

VLAN'ni biladigan rejim aslida nima quradi

Faqat server uchun TAP joylashtirishda vlan-tagging yoqilganda, demon o'z TAP qurilmasini va har bir ulangan mijozni ichki kommutator portlari sifatida modellashtiradi. Mijoz portlari tegsiz, ularning VLAN bog'lanishi serverda har bir mijoz uchun vlan-pvid konteksti orqali o'rnatiladi, mijoz yuboradigan narsa bilan emas. Bu modelning butun ma'nosi: a'zolik autentifikatsiya qilingan hamkor haqida server tomonidagi qaror. Mijoz profilida hech narsa qaysi VLAN'ga tegishli ekanini bilishi shart emas.

Serverning TAP tomoni vlan-accept orqali o'zining teglangan yoki tegsiz qabul siyosatini oladi. Shu kommutator ichida uzatish faqat mos VID'lar orasida bo'ladi, client-to-client o'rnatilganda ham, shuning uchun turli VLAN'lardagi ikki mijoz ikkalasi ham unga ulangan bo'lsa-da, server orqali bir-biriga yeta olmaydi.

Bu model kirish porti modeli. Mijozdan chiqadigan kadrlar tegsiz, bog'lanishni server identifikatsiya asosida yuklaydi. Noutbukdan o'z trafigini o'zi teglashni so'rash boshqa loyihani so'rashdir.

Tayinlashlar autentifikatsiya qilingan mijoz identifikatsiyasiga ergashishi kerak, mijoz o'zi haqida taklif qiladigan qiymatga emas. O'tkazib yuborilgan tayinlash ham karantin holati emas: mijoz standart PVID'ga tushadi, shuning uchun yo'q ccd yozuvi jimgina siyosat qarori, neytral emas.

Shaffof trunk buning o'rniga nimani talab qiladi

Allaqachon teglangan kadrlarni chetdan chetga tashish VLAN'ni biladigan ishlov berishni o'chirishdan boshlanadi. Kommutator modeli va teglarni saqlash bir-biriga alternativa, ikkalasini yoqish esa bir funksiyadan ikkinchisining ishini qilishni so'rash.

O'chirish faqat boshlanish. Har bir chetdagi ko'prik va jismoniy kommutator portlari qaysi VLAN'larga ruxsat berilgani, qaysi teg mahalliy ekani va tegsiz kadrlar qanday ko'rilishida kelishishi kerak. Cheklanmagan trunk'ni kengaytirish siz ulashni istagan ikkitadan ancha ko'p translyatsiya domenini ochib beradi.

Kadr o'lchami o'z byudjetini talab qiladi. Teglangan Ethernet kadri va inkapsulyatsiya qo'llanmadan ko'chiriladigan foydali yuk raqamidan katta, marshrutlangan tunnel uchun mos MTU esa trunk yo'li ishlashining dalili emas.

Javobni hal qiluvchi uchta shart

Birinchidan, mijoz platformasi TAP'ni umuman qo'llab-quvvatlaydimi? Android va iOS yo'q, macOS qo'llab-quvvatlashi cheklangan, shuning uchun mobil foydalanuvchilar parki VLAN'lar qanday joylashtirilganidan qat'i nazar ikkala TAP loyihasini ham istisno qiladi. Marshrutlangan TUN sessiyasi Ethernet kadrlarini emas, IP paketlarini tashiydi va server tomonidagi hech qanday VLAN sozlamasi buni o'zgartirmaydi. Topologiyani loyihalashdan oldin parkni tekshiring, chunki bu shartni chetlab o'tib bo'lmaydi. Bu, shuningdek, kommutator ishi tugagach eng ko'p aniqlanadigan shart.

Ikkinchidan, VLAN'ni kim tayinlaydi? Javob «server, kim autentifikatsiya qilganiga qarab» bo'lsa, kommutator modeli mos keladi. Javob «mavjud kommutator infratuzilmasi, allaqachon mavjud teglar bilan» bo'lsa, sizga trunk loyihasi kerak.

Uchinchidan, tarmoqning qancha qismi yetib borish mumkin bo'lishi kerak? Kommutator modeli har bir mijozni tuzilishi bo'yicha bitta VLAN'da ushlab turadi. Trunk loyihasi — ko'prik, noto'g'ri sozlangan ko'prik esa alohida qolishi kerak bo'lgan translyatsiya domenlarini birlashtiradi.

Tanlovingizni sinash

Ruxsat etilgan VLAN'da bo'lishi kerak bo'lgan bitta mijozni va bo'lmasligi kerak bo'lgan boshqasini ulang, so'ng serverning o'zidan emas, haqiqiy chetdan sinang. Server tomonidagi yetib borish ko'prik yoki kommutator borligini isbotlaydi; mijoz qaysi VLAN'ga tushganini isbotlamaydi.

ip -d link show tap0
bridge vlan show

Serverda ikkinchi buyruq har bir ko'prik portining VLAN a'zoligini, port teglangan yoki yo'qligini ham ko'rsatadi. Ikkinchi qavatdan yuqorida biror narsani tuzatishdan oldin uni mo'ljallangan tayinlash bilan solishtiring.

Joylashtirish ikki loyihadan qaysi birini ishlatishini yozib qo'ying. «VLAN'ni biladi» degan eslatma noaniq va keyingi muhandis o'zi birinchi o'rgangan variantni taxmin qiladi. OpenVPN VLAN ma'lumotnomasikommutator xatti-harakatini va har bir mijoz kontekstini belgilaydi, va qaysi model ishlayotganini tasdiqlashning eng qisqa yo'li shu.

O'xshash maqolalar