Bitta loyiha yozuvida L2TP, GRE va IPsec birga kelganda ikkita savol chalkashadi: men qaysi sessiyani olib yurmoqdaman va uni qaysi qatlam himoya qiladi? Birinchisi xato bo'lsa, pastdagi hamma narsa ichki jihatdan izchil bo'lib qoladi, lekin noto'g'ri masalani hal qiladi — foydalanuvchilar dial-in qilishi kerak bo'lgan joyda qurilgan marshrutlangan qatlam yoki sayt-sayt shlyuzi o'rnida turgan dial-in markazi. Quyidagi ish varag'i kimdir qurilmaga kirishidan oldin bu farqni majburan ko'rsatadi. Uni tartib bilan to'ldiring, shunda har bir satr o'zingiz sinab ko'rishingiz mumkin bo'lgan narsaga aylanadi.

Protokollar ro'yxatidan emas, sessiyadan boshlang

PPP sessiyasini ushlab turgan masofaviy foydalanuvchi va ikkita shlyuz orasidagi marshrutlangan qatlam ikkalasi ham oxir-oqibat IPsec ichida o'ralgan bo'lsa ham, bu ikki xil tarmoq munosabati. Birinchisi har bir foydalanuvchining aloqasini tugatadi va manzillarni taqsimlash, shaxs yoki qurilmani autentifikatsiya qilish va o'sha foydalanuvchi qaysi ichki tarmoqlarga yeta olishini ko'rsatuvchi siyosatni talab qiladi. Ikkinchisi hech kim dial-in qilmaydigan saytlar orasida paketlarni uzatadi.

Ikkisidan qaysi birini qurayotganingizni ko'rsatuvchi bitta gap yozing, so'ng uni o'zingiz uni boshqaradigan odam bo'lgandek qayta o'qing. Agar gapga «va» so'zi kerak bo'lsa, siz ikkalasini ham qurayotgan bo'lasiz, ish varag'iga esa har biriga yarmini xizmat qiladigan bitta murosa ustuni o'rniga ikkita ustun kerak. Agar u foydalanuvchini ko'rsatsa-yu manzillar havzasi bo'lmasa, yoki prefiksni ko'rsatsa-yu uzatish siyosati bo'lmasa, gap hali to'liq emas. So'z tartibi byurokratik tuyuladi, lekin boshqa holatda yordam stoli chiptasi bilan topiladigan loyihani ushlab qolish uchun eng arzon joy shu.

Har bir qatlamga aynan bitta vazifa bering

L2TPv2 o'zining ikki oxirgi nuqtasi orasida PPP sessiyalarni olib yuradi. PPP aloqa muzokaralarini va ular kelishilganda foydalanuvchi autentifikatsiyasini boshqaradi; L2TP hech qanday kriptografiya qo'shmaydi, shuning uchun yalang'och L2TP demon IPsec xavfsizlik munosabatining hech bir qismini amalga oshirmaydi va faqat siz allaqachon ishonadigan aloqa ichida bo'ladi.

GRE ikki manzil orasidagi inkapsulyatsiya. U tarmoq qatlami paketlarini mantiqiy qatlam orqali olib yuradi va o'z-o'zidan na maxfiylik, na autentifikatsiya qilingan sherik shaxsini taklif qiladi. Bu nuqson emas: sarlavha oddiy qilib ishlab chiqilgan, shunda uzatish apparatida ishlov berish arzon qoladi. Natija shuki, GRE faqat shu paketni ikki manzil orasida qanday ko'chirish kerakligi savoliga javob beradi va boshqa hech narsaga emas, va undan so'rash kerak bo'lgan savol aynan shu.

Undan keyin IPsec trafikni tanlaydigan, sheriklarni autentifikatsiya qiladigan va himoya qilish aytilgan narsani shifrlaydigan qatlam bo'lib qoladi. Qaysi trafikni himoya qilishi konfiguratsiya qarori bo'lib, u oxirgi nuqtalar haqiqatda yaratadigan inkapsulyatsiyaga mos kelishi kerak, chunki GRE tashqi manzili uchun yozilgan siyosat ichki prefikslar uchun yozilganidan boshqacha ishlaydi. GRE spetsifikatsiyasi yukni, GRE sarlavhasini va tashqi yetkazib berish protokolini ko'rinadigan tarzda ajratib turadi, sizning siyosatingizga ham xuddi shunday ajratish kerak.

LayerIts one jobWhat it never does
PPPLink negotiation, optional user authentication, address assignmentProtect traffic between gateways
L2TPv2Carry the PPP session between two endpointsEncrypt or authenticate peers
GREEncapsulate network-layer packets between two addressesHide or authenticate the payload
IPsecAuthenticate peers and encrypt selected trafficCarry a dial-in user session by itself

Konfiguratsiyadan oldin paket yo'lini yozing

Bitta paket oling va qo'shiladigan har bir sarlavhani qo'shilish tartibida sanab chiqing, uni qo'shadigan qurilmani nomlang. Dial-in foydalanuvchisi uchun bu odatda IPsec ichidagi L2TP ichidagi PPP; sayt qatlami uchun bu IPsec ichidagi GRE ichidagi ichki IP paket. Agar ikki qurilma bir xil sarlavhani qo'shsa, sizda halqa yoki ikki barobar tunnel bor, va hech qanday siyosat tahriri buni tuzatmaydi.

Xuddi shu ro'yxat MTU ni belgilaydi, chunki foydalanish mumkin bo'lgan ichki o'lcham o'lchangan yo'l MTU sidan hozir sanab o'tilgan sarlavhalarni ayirish natijasidir, boshqa hech narsa emas. Forum yozuvidan raqam ko'chirmang: tashqi IP, UDP va ESP xarajatini, so'ng GRE yoki L2TP ni, so'ng tegishli joyda PPP ni qo'shing va haqiqatda o'lchagan yo'l MTU sidan ayiring. Faqat katta uzatishlarda ko'rinadigan belgilar yoki o'rnatilgach birinchi katta javobda o'lib qoladigan sessiyalar odatda o'sha qo'shish taxmin bilan qilinganiga qaytadi.

Har bir qatlamni alohida, tashqaridan ichkariga tekshiring

Tekshiruvlarni tartib bilan bajaring va birinchi muvaffaqiyatsiz bo'lganida to'xtang. Har bir satr boshqa savolga javob beradi, shuning uchun muvaffaqiyatsizlik tunnel buzildi deyish o'rniga ish varag'ining bitta ustunini ko'rsatadi.

ip xfrm state                  # is the IPsec SA up?
ip -s link show gre1           # does the overlay interface carry packets?
ip route get 10.20.0.5         # does the inner prefix route where you think?
ss -lun | grep -E "1701|4500"  # are the L2TP and NAT-T listeners bound?

Cisco qutisida ekvivalent rolga bog'liq, aniq sintaksis esa platforma va versiyaga bog'liq: IPsec sheriklari uchun show crypto session, GRE yoki tunnel interfeysi uchun interfeys hisoblagichlari, dial-in roli uchun VPDN yoki PPP tekshiruvi. PPP ni tugatadigan buyruqlar to'plami GRE qo'llab-quvvatlashi haqida hech narsani isbotlamaydi, ishlayotgan GRE interfeysi esa PPP xizmati haqida hech narsani isbotlamaydi, shuning uchun diagrammadagi emas, haqiqatda sozlagan rolni tekshiring.

Har bir chiqishni tegishli ish varag'i satri yoniga yozib qo'ying. Nosozlik tirik paytida olingan yozuvlar keyinchalik xotiradan qayta chizilgan topologiyadan qimmatroq.

Buzish tartibini belgilang, so'ng qayta tekshiring

Buzish teskari tartibda ketadi, buning sababi bor: himoyalangan trafikni IPsec siyosatidan chiqaring, u uchun yozilgan inkapsulyatsiyani olib tashlashdan oldin, aks holda siyosat endi mavjud bo'lmagan interfeysga ishora qilib turadi va keyingi konfiguratsiya yuklanishi aloqasiz ko'rinadigan joyda muvaffaqiyatsiz bo'ladi. Linux da bu tunnel interfeysidan oldin holat va siyosat yozuvlarini o'chirishni bildiradi; routerda tunnel oldidan crypto xaritasi yoki profil yozuvini olib tashlashni.

Qayta qurgandan so'ng, qabul qilishning to'rtta kuzatuvini birma-bir takrorlang: tashqi yetib borish, o'rnatilgan IPsec birlashmasi, loyiha bittasini o'z ichiga olgan joyda o'rnatilgan PPP sessiya, va haqiqiy manzilga ichki uzatish. Bitta yashil chiroq qolgan uchtasi uchun dalil emas, va aynan o'sha bo'shliq ishlab chiqarishda eng uzoq yashaydigan nosozlik — tunnel yuqorida, shifrlangan va hech narsa uzatmaydi, chunki ichki yo'l hech qachon qo'shilmagan.

To'ldirilgan ish varag'ini qurilma konfiguratsiyasi yonida saqlang. To'ldira olmaydigan har qanday ustun vazifa berilmagan qatlam, vazifasiz qatlam esa odatda stekda bo'lmasligi kerak bo'lgan qatlam.

O'xshash maqolalar