Port tekshirgichi ochiq deyaptimi? Nega Minecraft o’yinchilari hali ham kira olmaydi
Muvaffaqiyatli TCP ulanish faqat bitta soket bitta joydan qabul qilinganini isbotlaydi. Kirish, dunyoga qabul qilish va ichkaridan tashqariga yo’l alohida sinovlardir.
Kimdir port tekshiruvini ishga tushiradi, ochiq so’zini ko’radi va serverni hal qilingan deb hisoblaydi. Bu natijaning haqiqiy ma’nosi tor: tekshirgich joyidan, o’sha paytda, o’sha manzil va portga TCP ulanish qabul qilindi. Bu Minecraft protokoli qo’l siqishuvi, hisob autentifikatsiyasi yoki server o’yinchini dunyoga kiritgani haqida hech narsa aytmaydi.
Bular to’rt xil qatlam bo’lib, ularning har qaysisidagi nosozlik o’yinchidan bir xil gap chiqaradi: ishlamadi.
Zond faqat ko’rgan narsasini sinaydi
TCP ulanish ikkala tomon ham uch tomonlama qo’l siqishuvni tugatganda yakunlanadi, u o’yin biladigan barcha narsadan pastda yotadi. Zond tinglovchi mavjud bo’lganini va o’z tarmoq joyidan javob berganini xabar qiladi. U tinglovchi o’yinning o’zi ekanini ayta olmaydi, chunki har qanday jarayon portni egallab, ulanishlarni qabul qilishi mumkin.
Joy natija kabi muhim. Ommaviy internetdagi tekshirgich bitta tarmoqdan bitta yo’lni sinaydi. Operator bir tarmoqning ichidan ishga tushiradigan tekshirgich butunlay boshqa yo’lni sinaydi, va u yerdagi ijobiy natija uzoqdagi o’yinchi nimani boshdan kechirishi haqida deyarli hech narsa aytmaydi. Ikki xil provayderdagi ikki xil tekshirgich hatto sizning serveringizga aloqasi bo’lmagan sabablarga ko’ra kelisha olmasligi mumkin.
Vaqt ham muhim. Zond natijasi u ishlagan lahzani tasvirlaydi, dinamik manzilli yoki o’zgargan yo’naltirish qoidasiga ega uy ulanishi haqiqiy javobni bir necha daqiqadan keyin siljitishi mumkin. Ommaviy manzil, port, manzillar oilasi va vaqtni hukm bilan birga yozib qo’ying, aks holda kuzatuvni takrorlab bo’lmaydi. Tekshiruvni o’sha ulanishdagi telefondan emas, haqiqatan boshqa tarmoqdan takrorlang.
Soket va o’yinchi o’rtasidagi to’rt qatlam
Qo’shilayotgan klient aslida bajaradigan ketma-ketlikni tasavvur qiling. Avval u manzilni hal qiladi, keyin e’lon qilingan portga TCP ulanish ochadi, keyin muzokara va autentifikatsiya uchun o’yinning o’z protokoli bilan gaplashadi, va nihoyat server bu shaxsni dunyoga kiritishga ruxsat bor-yo’qligini hal qiladi. Har bir qatlamning o’z nosozlik imzosi bor, va faqat birinchisi port tekshirgichiga ko’rinadi.
Java Edition uchun standart port 25565, lekin operator boshqa tashqi portni e’lon qilib, uni ichkariga yo’naltirishi mumkin, shuning uchun o’yinchi tergan raqam server ko’radigan raqam bo’lishi shart emas. Noto’g’ri tashqi portga qaratilgan tekshirgich server butunlay sog’lom bo’lganda yopiq deb xabar beradi, va bu butun sohadagi eng keng tarqalgan yolg’on signal.
Nomlar port ustiga yana bir qadam qo’shadi. Agar o’yinchi xost nomini tersa, hal qilish e’lon qilingan manzilni qaytarishi kerak, va tarmoq ichidagi mashinada u o’rniga xususiy manzilni qaytarishi mumkin. Bu firewall nosozligi emas, va portlarni yo’naltirishning hech qanday miqdori buni o’zgartirmaydi.
Nega ichkaridagi o’yinchi boshqa yo’l tanlaydi
Xuddi shu LAN yoki shu LAN ga yetadigan VPN dagi o’yinchi ichkaridan ommaviy manzilga yetishga harakat qiladi. So’rov routerning tashqi manziliga boradi va router uni yana ichkariga tarjima qilishi kerak, bu odatda hairpinning yoki NAT aksi deb ataladi. Bu ishlashi uchun oldinga tarjima ham, qaytish yo’li ham to’g’ri kelishi kerak, va ko’plab uy routerlari buni umuman amalga oshirmaydi.
Shuning uchun tashqaridan kelgan mehmon qo’shiladi, serverning yonida o’tirgan esa qo’shila olmaydi. Tashqi yo’l haqiqatan yaxshi; muvaffaqiyatsizlikka uchraydigan narsa ichki aylanma yo’l, va u o’yinchi ekranidan server muammosidek ko’rinadigan tarzda muvaffaqiyatsizlikka uchraydi. Nima bo’lganini serverning o’z jurnali hal qiladi, chunki hech qachon tarjima qilinmagan ulanish unga hech qachon yetib bormaydi.
Ikki halol tuzatish va bitta yomon odat bor. Yaxshi variantlar ichki o’yinchilarga xususiy manzil yoki split-DNS nomidan foydalanishga ruxsat berish, u ichkarida xususiy manzilga hal qilinadi, yoki funksiya mavjud bo’lsa va to’g’ri ishlasa, routerda aksni yoqish. Yomon odat ko’proq port ochish yoki xost firewallini o’chirishdir, bu router hech qachon qilmagan tarjimaga ta’sir qila olmaydi.
Netgate ning NAT aksi hujjatlari tashqi va ichki farqni hamda split-DNS muqobilini batafsilroq tasvirlaydi. Uni mexanizm tavsifi sifatida o’qing, har qanday aniq VPN provayderi yoki router loopback ning barcha turlarini qo’llab-quvvatlaydi degan va’da sifatida emas.
Har bir nuqtai nazardan dalillar to’plang
Har bir sinov uchun kim ishga tushirganini, qayerdan, qaysi vaqtda, qaysi manzil va portga qarshi, va server nima yozib olganini yozing. Server konsolida aniq sabab bilan o’yinning rad etishi hech qachon yetib kelmagan ulanishdan boshqa topilma, va ikkalasi qarama-qarshi yo’nalishlarga olib boradi.
Agar ruxsat berilgan uzoq o’yinchilar qo’shilib, bitta mahalliy o’yinchi qo’shila olmasa, qolgan savol mahalliy yo’l va u alohida tekshiruvga loyiq: klient qaysi manzildan foydalangan, router tarjima bilan nima qilgan, va server biron-bir ulanish urinishini qayd etganmi. Portlarni tasodifiy qayta ochish o’rniga bu uch faktni tarmoq egasiga bering.