Shlyuzga ping ishlaydi, lekin uning orqasidagi hech narsaga yetib borish ishlamaydi, va bu tunnel emas, yo'naltirish muammosining shakli. Shlyuzga mahalliy yetkazib berish tunnel ko'tarilganini va manzil tayinlash ishlaganini isbotlaydi; u yadro paketni bir interfeysdan ikkinchisiga o'tkazadimi-yo'qmi, bu haqda hech narsa aytmaydi. Har qanday sysctl ga tegishdan oldin, mashina bu trafikni marshrutlash uchun mo'ljallanganini tasdiqlang va mijozga qaragan interfeysni saqlovchi tarmoq kontekstini toping. Keyin qiymatni o'sha yerda o'qing, oxirgi o'qigan qo'llanmangiz tasodifan qaragan joyda emas.

Shlyuzga yetib borish yo'naltirish bilan bir xil emas

Yadro ichida ikkita alohida qaror qabul qilinadi. Mahalliy manzilga yetkazib berish paketning sayohatini tugatadi; yo'naltirish uni boshqa interfeys orqali yana tashqariga chiqaradi, va bu ikkinchi qaror har bir tarmoq nom fazosi bo'yicha boshqariladi. Yo'naltirish o'chirilgan bo'lsa ham shlyuz to'liq yetib boriladigan bo'lishi mumkin, va ping satridan bu ikki nosozlik bir xil ko'rinadi.

Mijoz paketi qaysi interfeysga kelishini va keyingi yo'l qaysi interfeysdan chiqishini yozib qo'ying. Ikkalasi ham bitta nom fazosiga tegishli, va muhim sozlama o'sha nom fazosida.

Qiymatni paketlar haqiqatan turgan joyda o'qing

Xost nom fazosida marshrutlaydigan shlyuzda bitta buyruq savolga javob beradi: sysctl net.ipv4.ip_forward. Kirish va keyingi yo'l nomlangan nom fazosida bo'lsa, o'sha nom fazosidan so'rang: ip netns exec vpn-gw sysctl net.ipv4.ip_forward. Xost qiymati nom fazosi qiymatining o'rnini bosmaydi, va xostda birlik bo'lishi hech narsaning isboti emas.

Har bir marshrutlash kontekstida ip netns ga berish mumkin bo'lgan yorliq bo'lavermaydi. Konteyner ish muhitlari va xizmatlar do'stona nom ostida hech qachon ro'yxatga olinmaydigan nom fazolarini yaratadi, va ular uchun ish muhitining tekshirish vositalaridan foydalanasiz. vpn-gw o'rniga haqiqiy nomni yoki xuddi shu kontekstga yetadigan muhit mexanizmini qo'ying, va xost darajasida taxmin qilishni to'xtating.

Sozlamaga bitta egasini bering

Oddiy systemd xost shlyuzida barqaror shakl administrator tanlagan nomli drop-in fayli, masalan /etc/sysctl.d/60-vpn-forwarding.conf, ichida net.ipv4.ip_forward = 1 bo'ladi. Faylni yozing, so'ng jonli holat ham o'zgarishi uchun aynan o'sha faylni yuklang: sudo sysctl -p /etc/sysctl.d/60-vpn-forwarding.conf, keyin qayta o'qib tekshiring. Fayl nomi misol, himoyalangan VPN yo'li emas, va boshidagi raqam muhim, chunki keyinroq tartiblangan fayllar yutadi.

Ustuvorlik barqarorlik jimgina buziladigan joydir. Tarqatma yuklagichini va o'z drop-in faylingizni ham tekshiring, chunki procps sysctl --system oxirida /etc/sysctl.conf ni ham o'qiydi, systemd ning sysctl.d tartibi esa butunlay boshqa ketma-ketlik. Keyingi tayinlash o'sha kalitni darhol qaytarib qo'yishi mumkin, faylingiz to'g'ri, ammo amaldagi qiymat noto'g'ri qoladi. Bu bahsni yutish uchun mavjud administrator faylini qayta yozmang; egasini toping va o'sha yerda o'zgartiring.

Yuklanishdan keyin yaratilgan nom fazosi xost drop-in tomonidan umuman boshqarilmaydi. Uning sozlamasi uni yaratgan narsaga tegishli, u konteyner ish muhiti bo'ladimi yoki nom fazosini tayyorlash birligi. Savoldan qochish uchun konteynerga keng xost imtiyozlarini berish to'g'ri egasini aniqlashga o'n daqiqa sarflashdan ham yomonroq kelishuv.

Kalitni aylantirishdan oldin uning narxini biling

ip_forward zararsiz boolean emas. Yadro hujjatlari uni o'zgartirish bir nechta boshqa IPv4 parametrlarini xost yoki marshrutizator standart qiymatlariga qaytarishini qayd etadi, shuning uchun diagnostik aylantirish boshqa joyda qilingan sozlashni tashlab yuborishi va buni hech qachon eslatmasligi mumkin. Unga beparvolik bilan ishga tushirsa bo'ladigan tekshiruv emas, yon ta'sirli konfiguratsiya o'zgarishi sifatida qarang.

Bu mijoz xostga yeta olmagan har safar uni o'chirib yoqishni ham istisno qiladi. Qiymat allaqachon bir bo'lsa, nosozlik yo'lning boshqa joyida, va o'sha kalitni uchinchi marta qayta yozish uni qimirlatmaydi.

Barqarorlikni isbotlang, keyin yo'lning qolgan qismini sinang

Qiymatni to'rt vaqtda qayta o'qing: o'zgarishdan keyin darhol, VPN interfeysi paydo bo'lgandan keyin, qayta ulangandan keyin va rejalashtirilgan qayta ishga tushirishdan keyin. O'sha nuqtalardan birida orqaga qaytadigan qiymatning ikkinchi egasi bor, va yana bir marta yozish uni keyingi qayta yuklashgacha yashiradi.

Yoqilgan yo'naltirish hali ham tekshirish kerak bo'lgan uchta narsani qoldiradi. Mijozga manzilgacha marshrut kerak, shlyuzga keyingi marshrut va undan foydalanish ruxsati kerak, manzilga esa mijoz tunnel manziliga qaytish yo'li kerak. Xususiy marshrutlangan LAN avtomatik ravishda NAT talab qilmaydi, shuning uchun uchtadan qaysi biri yetishmayotganini bilmasdan turib masquerading qo'shmang, va shlyuzning o'zidan emas, ko'zlangan mijozdan sinang, chunki shlyuzda boshlangan so'rov siz hozir yoqqan yo'naltirish yo'liga hech qachon tegmaydi. IPv6 o'zining yo'naltirish va marshrutlash siyosatini olib yuradi, shuning uchun ishlaydigan IPv4 sinovi u haqda hech narsa aytmaydi.

Runbookda drop-in yo'lini, nom fazosining egasini va qayta o'qish buyrug'ini birga saqlang. Buni keyingi oladigan kishi qiymatni o'qiy olishi, kim egasi ekanini ko'rishi va muammo barqarorlikda yoki yo'lning qolgan qismida ekanini bir daqiqada hal qila olishi kerak.

O'xshash maqolalar