VPN-ээр Wake-on-LAN ажиллахаа болих уу? ARP бичлэгийг зас
Ид шидийн пакетууд туннелиар дамждаг ч ARP бичлэгийн хугацаа дуусахад маршрутлагч тэдгээрийг хаядаг. Гурван хүргэх замыг харьцуулж, MAC хаягийг бүрмөсөн бэхлээрэй.
Унтраасны дараа шууд сэрээх пакет илгээвэл компьютер буцаж ирнэ; дараагийн өглөө ижил команд юу ч хийдэггүй. VPN тохиргоонд юу ч өөрчлөгдөөгүй, портын дамжуулалт зөв хаяг руугаа чиглэсэн хэвээр байна. Ялгаа нь цаг хугацаанд: маршрутлагчийн хөршийн хүснэгт унтаж буй машиныг мартсан тул кадрт хийх MAC хаяг байхгүй. Туннель биш, энэ хугацаа дуусах явдал VPN-ээр дамжуулах Wake-on-LAN-ы бүтэлгүйтлийн ихэнхийг тайлбарладаг.
Эхний сэрээлт ажилладаг, дараагийнх нь ажиллахгүй
Маршрутлагч хүрэх газрыг хөршийн хүснэгтээс хайж кадрыг хувийн хаяг руу дамжуулдаг. Машин ажиллаж байх үед ARP-д хариу өгдөг тул зураглал шинэ хэвээр үлддэг. Унтармагц хэн ч хариу өгөхгүй, бичлэг хэдхэн минутын дараа хуучирч, тухайн хаяг руу чиглэсэн дараагийн кадрууд IP болон портын дамжуулалт хүчинтэй байсан ч хаягдана.
Загвар нь ямар алдаа байгааг хэлж өгнө. Хэзээ ч ажилладаггүй сэрээлт нь хүргэлтийг заана: буруу порт, буруу хүрэх газар эсвэл LAN-д хүрэхээс өмнө пакетыг хаядаг галт хана. Нэг удаа ажиллаад дараа нь хэдэн цагаар бүтэлгүйтдэг сэрээлт нь хөршийн бичлэгийг заана. DHCP түрээс солигдох хүртэл ажилладаг сэрээлт нь хаяглалтыг заана, үүнийг нөөцлөлт засдаг.
ARP-д хүрэхийн өмнө хаяг тогтвортой эсэхийг шалгаарай. Хэрэв унтаж буй машин түрээсийн хугацаа дууссаны дараа шинэ хаяг авбал хуучин хаягт бэхэлсэн хөршийн бичлэг нэгэн зэрэг байнгын бөгөөд ашиггүй болно. Эхлээд DHCP нөөцлөлт тохируулж, хаяг дахин ачааллаас хойш ч үлдэг.
Ид шидийн пакет сүлжээнээс юу шаарддаг вэ
Ачаа нь энгийн: зургаан 0xFF байтаас хойш зорилтот MAC хаяг арван зургаа удаа давтагдсан 102 байт, ихэвчлэн UDP порт 9 руу илгээгддэг. Хавтгай LAN-д өргөн нэвтрүүлэг болж гарч, порт бүр хүлээн авч, унтарсан сүлжээний карт өөрийн хаягийг танина.
VPN-ээр дамжин пакет маршрутлагчид хувийн хаяг руу нэг чиглэлийн илгээмж эсвэл дэд сүлжээ рүү чиглэсэн өргөн нэвтрүүлэг хэлбэрээр хүрнэ. Нэг чиглэлийн тохиолдолд маршрутлагч кадрыг LAN-д хийхийн өмнө хүрэх газрыг MAC хаяг болгон шийдэх ёстой бөгөөд хост унтаж байх үед яг энэ шийдэл бүтэлгүйтдэг.
Зарим хэрэгсэл 9-ийн оронд 7 порт руу илгээдэг, зарим төхөөрөмж чиглэсэн өргөн нэвтрүүлгийг анхдагчаар хаадаг. Эдгээр нь хүргэлтийн алдаа, ARP-ын биш, тиймээс хөршийн хүснэгтийг өөрчлөхийн өмнө хүрэх газар болон портыг шалгаарай.
Унтаж буй хост руу гурван зам
Кадрыг LAN-д хүргэх гурван практик арга байгаа бөгөөд зөв сонголт нь юуг хянаж байгаагаас тань хамаарна.
| 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 |
Туслах хост байвал түүнийг сонго, учир нь тэр холбоос дээр өргөн нэвтрүүлэг хийж, маршрутлагчид үл хамаарах зүйл шаарддаггүй. Маршрутлагч аль хэдийн зөвшөөрч, сэрээх хэрэгсэл хаяг хүлээн авбал чиглэсэн өргөн нэвтрүүлгийг сонго. Хоёулаа байхгүй бөгөөд маршрутлагч дээр команд ажиллуулж чадвал статик бичлэгийг сонго.
Эдгээр нь бие биенээ үгүйсгэхгүй. Байнгын бичлэг нь нэг чиглэлийн замд унтахаас давах боломж олгодог бөгөөд VPN клиент зөвхөн тодорхой хаяг руу илгээж чаддаг үед энэ нь ашигтай.
Хөршийн бичлэгийг байнгын болго
Linux бүрхүүлтэй маршрутлагч дээр нэг команд зураглалыг бэхэлдэг. Энд байгаа утгууд жишээ LAN-д хамаарах тул өөрийн утгаар солих ёстой:
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.23Төлөв nud permanent нь бичлэгийг ARP-ын хугацаа дуустал хадгалж, машин унтарсан үед дамжуулалтад ашигладаг. Хоёр дахь команд нь бичлэг байгааг нотолж, аль интерфейст хамаарахыг харуулдаг бөгөөд зочны гүүр эсвэл тусдаа VLAN бүхий маршрутлагч дээр энэ нь чухал.
Програм хангамжийн санал болгож буй дурын дэгээгээр дахин ачаалалд тэсвэртэй болго: /jffs/scripts доторх скрипт Asuswrt-Merlin дээр, гарц болж ажилладаг Linux сервер дээр systemd oneshot нэгж, systemd-networkd дотор Neighbor= stanza эсвэл локал хэрэгслүүд уншдаг /etc/ethers доторх бичлэг. Бүрхүүлд бичсэн команд дараагийн дахин ачаалалд алга болдог бөгөөд ажиллаж байсан засвар ажиллахаа больсон мэт харагдах хамгийн түгээмэл шалтгаан энэ юм.
Гаднаас туршиж, хэзээ устгахаа мэдэж бай
Машиныг унтуулж, дор хаяж арван минут хүлээ, ямар ч динамик бичлэг хуучирч амна. Дараа нь VPN клиентээс сэрээх хүсэлт илгээж, маршрутлагчийн хоёр талыг ажигла:
tcpdump -ni tun0 udp port 9
tcpdump -ni br0 ether proto 0x0806 or udp port 9Эхний бичлэг пакет туннелиас ирснийг нотолж, хоёр дахь нь маршрутлагч LAN-д кадр хийснийг нотолно. Хүчинтэй ид шидийн пакет MAC давтагдсан 102 байт хэлбэрээр харагддаг тул урт болон хүрэх газрыг хоёуланг нь шалга. Кадр LAN гүүрнээс гарсан ч машин унтарсан хэвээр байвал үлдсэн асуудал төхөөрөмж дээр байна: хурдан эхлэл, гүн унталт эсвэл сүлжээний картын тэжээлийг таслах BIOS тохиргоо.
Сүлжээний карт солигдоход бичлэгийг устгаж, машиныг өөр хаяг руу зөөхөд шинэчил. Байнгын зураглал бол санаатай үл хамаарах зүйл бөгөөд хэн ч санадаггүй үл хамаарах зүйл нь ирээдүйн зөөврийн компьютер ажлаас гарсан ширээний компьютерт зориулсан кадрыг хүлээн авч эхлэх зам юм.