EHOSTUNREACH uzoqdagi nosozlik kabi ko'pincha mahalliy qarordir. Yadro paketni marshrut manzilni unreachable deb aytgani uchun, Ethernet keyingi hop hech qachon javob bermagani uchun yoki yo'l bo'ylab uzoqroqdan ICMP host-unreachable hisoboti kelgani uchun rad etishi mumkin. Har bir manba boshqa jadval yoki keshda yashaydi va har biri boshqa joyda tuzatiladi. Shifrlarga tegishdan yoki tunnelni qayta o'rnatishdan oldin tanlangan marshrut va keyingi hop holatini o'qing.

Mijoz amalda ishlatadigan manzil va namespace'ni tanlang

Xatoni keltirib chiqargan manzil va tarmoq namespace'ini qatiylashtirishdan boshlang. VPN mijozi o'z namespace'ida ishlashi mumkin, standart namespace'dan qilingan qidiruv esa boshqa siyosat qoidalariga ega boshqa marshrutlash jadvaliga murojaat qiladi.

Qidiruv muvaffaqiyatsiz bo'layotgan ilova bilan bir xil manba, mark va jadval kontekstidan foydalanishi kerak, aks holda hech kim so'ramagan savolga javob berishi mumkin. Namuna IPv4 peer uchun faqat o'qish tekshiruvlari quyidagicha:

ip -4 route get 198.51.100.25
ip -4 neigh show 198.51.100.1
ip -4 route show table all | grep -w unreachable

Administrator shellidan olingan natija faqat o'sha shell nima qilishini isbotlaydi. Agar mijoz firewall mark o'rnatsa yoki VRF'ga bog'lansa, qidiruvni mos mark bilan yoki VRF ichida takrorlang va tanlangan marshrut bilan keyingi hopni solishtiring. Tasdiqlash kerak bo'lgan birinchi manzil profildagi peer manzili, foydalanuvchi aytgan klaster yoki xizmat emas.

Aniq unreachable marshrut paketni mahalliy ravishda rad etadi

unreachable turidagi marshrut ataylab berilgan mahalliy javobdir. U yadroga paketni tashlab yuborishni va jo'natuvchiga EHOSTUNREACH qaytarishni aytadi, shuning uchun xato bir zumda va mashinadan hech qanday trafik chiqmasdan ko'rinadi. Kimdir yoki qandaydir avtomatlashtirish o'sha marshrutni ataylab qo'ygan.

Marshrut turlari bir-birining o'rnini bosmaydi. blackhole paketni jo'natuvchiga xato bermasdan tashlaydi, prohibit EACCES qaytaradi, unreachable esa EHOSTUNREACH qaytaradi. Qayta ulanish paytida sink marshrut o'rnatadigan VPN yordamchisi shu sababli tunnel ko'tarilgach yo'qoladigan host-unreachable xatolar to'plamini keltirib chiqarishi mumkin, blackhole marshruti esa buning o'rniga jim timeoutlar beradi.

Uzoq tomonni ayblashdan oldin turni barcha jadvallarda qidiring. Jadvalni tanlaydigan qoida undagi marshrut kabi muhim, asosiy jadvalga qo'shilgan marshrut esa siyosat qoidasi trafikni boshqa joyga yuboradigan mijozga yordam bermaydi.

O'lik qo'shni Ethernet'da xuddi shu xatoni keltiradi

Tanlangan marshrut on-link shlyuzdan foydalansa, yetkazib berish hal qilingan link-qatlam manzilini talab qiladi. Yadro ARP yoki IPv6 qo'shni so'rovini yuboradi va javob kelmasa paketni freymga sig'dirib bo'lmaydi. Shunda marshrutning o'zi to'g'ri bo'lsa ham yuborish EHOSTUNREACH bilan muvaffaqiyatsiz bo'ladi.

Qo'shnilar jadvali bosqichni nomlaydi. INCOMPLETE hal qilish hali davom etayotganini, FAILED oxirgi urinish javob olmaganini, REACHABLE yoki STALE esa yadroda foydalanish mumkin manzil borligini bildiradi. VPN shlyuzi uchun FAILED yozuvi mahalliy yetkazib berish muammosi, tunnelning uzoq tomoni haqidagi dalil emas.

Yozuvni haqiqiy keyingi hop uchun o'qing, uzoq internet manzili uchun emas. Uzoq manzilga odatda router orqali erishiladi, shuning uchun uning o'z ARP yozuvi bo'lmaydi; uni so'rash hech qachon bo'lmasligi kerak bo'lgan yo'q yozuvni qidirishga odamlarni yuboradigan turdagi xatodir.

Uzoq hisobotlar va asinxron UDP xatolari

EHOSTUNREACH tashqaridan ham kelishi mumkin. Paketni uzata olmaydigan router ICMP host unreachable yuborishi mumkin va yadro bu hisobotni oqimga ega socket'ga beradi. Bunday holda marshrut va qo'shni joyida, nosozlik esa mahalliy tarmoqdan naridagi hopga tegishli.

UDP sababni aniqlashni qiyinlashtiradi. Keyingi send yoki receive chaqiruvi qaytargan xato avvalgi datagramga tegishli bo'lishi mumkin, shuning uchun muvaffaqiyatsiz chaqiruv manzili va vaqti hisobotni keltirib chiqargan paketga to'g'ri kelmasligi mumkin. Ulangan UDP socket xatoni bir marta oladi, ulanmagan socket esa uni hech qachon ko'rmasligi mumkin.

Shuning uchun vaqt dalilning qismidir. Xato qachon paydo bo'lganini, socket qaysi peer manzilini ishlatganini va tunnel hozir qayta ulanganmi-yo'qmi, yozib qo'ying. Marshrut o'zgarishidan keyingi darhol to'plam mahalliy jadvalga ishora qiladi; barqaror oqimda bir necha daqiqadan keyingi yakka xato yo'l hisobotiga ishora qiladi.

Kriptoni o'zgartirishdan oldin qatlamlarni ajrating

Xatoni uchta savol tasniflaydi. Yadro manzilni rad etadigan marshrutni tanladimi? To'g'ri marshrutni tanlab, keyingi hopni hal qila olmadimi? Yoki hisobot mahalliy tarmoqdan naridan keldimi? Faqat uchinchi holat tunnelning uzoq uchini qamrab olishi mumkin va o'shanda ham shifrlashni qamramaydi.

Autentifikatsiya va muzokara muammolari transport peerga yetgandan keyin o'z xatolari sifatida yuzaga chiqadi. Shifrni almashtirish yoki mijozni qayta o'rnatish mahalliy unreachable marshrutni tuzatolmaydi va haqiqiy sabab uchun kerak bo'ladigan marshrut hamda qo'shni dalillarini yo'q qiladi.

Birinchi o'zgarishdan oldin manzil, namespace, tanlangan jadval, keyingi hop, qo'shni holati va xato vaqtini yozib qo'ying. Tuzatishdan keyin xuddi shu qidiruvni qayta ishga tushiring; endi tunnelga ishora qiladigan marshrut va endi hal qilinadigan qo'shni yozuvi aloqasiz manzilga muvaffaqiyatli pingdan kuchliroq dalildir.

O'xshash maqolalar