VPN orqali Wake-on-LAN ishlamay qoldimi? ARP yozuvini tuzating
Sehrli paketlar tunneldan o'tadi, lekin marshrutizator ARP yozuvi muddati tugagach ularni tashlab yuboradi. Uchta yetkazib berish yo'lini solishtiring, so'ng MAC manzilini butunlay qotirib qo'ying.
O'chirilgandan so'ng darhol uyg'otish paketini yuboring va kompyuter qaytadi; ertasi kuni ertalab xuddi shu buyruq hech narsa qilmaydi. VPN konfiguratsiyasida hech narsa o'zgarmadi va port yo'naltirish hanuz to'g'ri manzilga ishora qiladi. Farq vaqtda: marshrutizatorning qo'shni jadvali uxlayotgan mashinani unutgan, shuning uchun kadrga qo'yadigan MAC manzili yo'q. Tunnel emas, aynan shu muddatning tugashi VPN orqali Wake-on-LAN nosozliklarining ko'pini tushuntiradi.
Birinchi uyg'otish ishlaydi, keyingisi yo'q
Marshrutizator kadrni xususiy manzilga qo'shni jadvalida manzilni qidirib yuboradi. Mashina ishlab turganda ARP ga javob beradi, shuning uchun moslik yangi bo'lib qoladi. O'chgach hech kim javob bermaydi, yozuv bir necha daqiqadan so'ng eskiradi va o'sha manzilga keyingi kadrlar IP va port yo'naltirish amalda bo'lsa ham tashlab yuboriladi.
Naqsh qaysi nosozlik borligini aytadi. Hech qachon ishlamaydigan uyg'otish yetkazib berishga ishora qiladi: noto'g'ri port, noto'g'ri manzil yoki paketni LAN ga yetmasdan tashlab yuboradigan xavfsizlik devori. Bir marta ishlab, keyin soatlab muvaffaqiyatsiz bo'ladigan uyg'otish qo'shni yozuviga ishora qiladi. DHCP ijarasi o'zgargunga qadar ishlaydigan uyg'otish manzillashga ishora qiladi, buni rezervatsiya tuzatadi.
ARP ga tegishdan oldin manzil barqaror ekaniga ishonch hosil qiling. Agar uxlayotgan mashina ijara muddati tugagach yangi manzil olsa, eski manzil uchun qotirilgan qo'shni yozuvi bir vaqtda doimiy va foydasiz bo'ladi. Avval DHCP rezervatsiyasini o'rnating, manzil qayta yuklashdan keyin ham qolsin.
Sehrli paket tarmoqdan nima talab qiladi
Yuk oddiy: olti 0xFF baytidan keyin maqsad MAC manzili o'n olti marta takrorlangan 102 bayt, odatda UDP port 9 ga yuboriladi. Tekis LAN da u tarqatish sifatida chiqadi, har bir port uni qabul qiladi va o'chirilgan tarmoq kartasi o'z manzilini taniydi.
VPN orqali paket marshrutizatorga xususiy manzilga yakka yuborish yoki quyi tarmoqqa yo'naltirilgan tarqatish sifatida yetib boradi. Yakka yuborish holatida marshrutizator kadrni LAN ga qo'yishdan oldin manzilni MAC manziliga hal qilishi kerak va xost uxlayotganda aynan shu hal qilish muvaffaqiyatsiz bo'ladi.
Ba'zi vositalar 9 o'rniga port 7 ga yuboradi, ba'zi qurilmalar yo'naltirilgan tarqatishni sukut bo'yicha bloklaydi. Bu yetkazib berish nosozliklari, ARP nosozligi emas, shuning uchun qo'shni jadvalini o'zgartirishdan oldin manzilni va portni tekshiring.
Uxlayotgan xostga uchta yo'l
Kadrni LAN ga yetkazishning uchta amaliy usuli bor va to'g'ri tanlov nimani boshqarishingizga bog'liq.
| Method | What it needs | Where it breaks |
|---|---|---|
| Subnet-directed broadcast | A wake tool that accepts a broadcast address and a router that forwards it | Broadcast filtering, or a tool that only takes a MAC |
| Helper on the LAN | An always-on host such as the VPN server | No suitable host, or the host cannot reach the target VLAN |
| Permanent neighbour entry | Router shell access and the target MAC | NIC replacement or address change |
Yordamchi xost bo'lsa o'shani tanlang, chunki u havolda tarqatadi va marshrutizatorda istisno talab qilmaydi. Marshrutizator allaqachon ruxsat bersa va uyg'otish vositasi manzilni qabul qilsa, yo'naltirilgan tarqatishni tanlang. Ikkalasi ham bo'lmasa va marshrutizatorda buyruq ishga tushira olsangiz, statik yozuvni tanlang.
Bular bir-birini istisno qilmaydi. Doimiy yozuv yakka yuborish yo'lining ham uyqudan o'tishini ta'minlaydi, bu VPN mijozi faqat ma'lum manzilga yubora olganda foydali.
Qo'shni yozuvini doimiy qiling
Linux qobig'i bor marshrutizatorda bitta buyruq moslikni qotiradi. Bu yerdagi qiymatlar namuna LAN ga tegishli, ularni o'zingiznikiga almashtirishingiz kerak:
ip neigh replace 192.168.50.23 lladdr 3c:7c:3f:12:9a:4e dev br0 nud permanent
ip neigh show dev br0 | grep 192.168.50.23Holat nud permanent yozuvni ARP muddatlari bo'ylab saqlaydi va mashina o'chirilganda yo'naltirish uchun ishlatadi. Ikkinchi buyruq yozuv mavjudligini isbotlaydi va u qaysi interfeysga tegishli ekanini ko'rsatadi, bu mehmon ko'prigi yoki alohida VLAN bo'lgan marshrutizatorlarda muhim.
Uni firmware taklif qiladigan har qanday ilgak orqali qayta yuklashga chidamli qiling: /jffs/scripts dagi skript Asuswrt-Merlin da, Linux serverda shlyuz sifatida systemd oneshot birligi, systemd-networkd da Neighbor= stanza yoki mahalliy vositalar o'qiydigan /etc/ethers dagi yozuv. Qobiqqa yozilgan buyruq keyingi qayta yuklashda yo'qoladi va ishlayotgan tuzatish ishlashdan to'xtagandek ko'rinishining eng keng tarqalgan sababi shu.
Tashqaridan sinab ko'ring va qachon olib tashlashni biling
Mashinani uyquga qo'ying va kamida o'n daqiqa kuting, har qanday dinamik yozuv eskirishi uchun shu yetarli. So'ng VPN mijozidan uyg'otish so'rovini yuboring va marshrutizatorning ikki tomonini kuzating:
tcpdump -ni tun0 udp port 9
tcpdump -ni br0 ether proto 0x0806 or udp port 9Birinchi yozib olish paket tunneldan kelganini isbotlaydi; ikkinchisi marshrutizator LAN ga kadr qo'yganini isbotlaydi. To'g'ri sehrli paket MAC takrorlangan 102 bayt sifatida ko'rinadi, shuning uchun uzunlikni ham, manzilni ham tekshiring. Kadr LAN ko'prigidan chiqsa-yu mashina o'chirilgan qolsa, qolgan muammo qurilmada: tez ishga tushish, chuqur uyqu yoki tarmoq kartasining quvvatini uzadigan BIOS sozlamasi.
Tarmoq kartasi o'zgarganda yozuvni olib tashlang, mashinani boshqa manzilga ko'chirsangiz yangilang. Doimiy moslik bu ataylab qilingan istisno, va hech kim eslay olmaydigan istisno kelajakdagi noutbukning iste'foga chiqqan ish stoli kompyuteriga mo'ljallangan kadrlarni qabul qilishining yo'lidir.