Kirim paket bangun tepat setelah mematikan dan PC kembali menyala; perintah yang sama keesokan paginya tidak melakukan apa pun. Tidak ada yang berubah pada konfigurasi VPN, dan penerusan port masih menunjuk ke alamat yang benar. Bedanya adalah waktu: tabel tetangga router sudah melupakan mesin yang tidur, jadi tidak ada alamat MAC untuk dimasukkan ke bingkai. Kedaluwarsa itulah, bukan terowongan, yang menjelaskan sebagian besar kegagalan Wake-on-LAN lewat VPN.

Pembangunan pertama berhasil dan yang berikutnya tidak

Router meneruskan bingkai ke alamat privat dengan mencari tujuan di tabel tetangganya. Selama mesin menyala, ia menjawab ARP, sehingga pemetaannya tetap segar. Begitu mati, tidak ada yang menjawab, entri menua setelah beberapa menit, dan bingkai berikutnya ke alamat itu dibuang meskipun IP dan penerusan port tetap sah.

Polanya memberi tahu Anda kegagalan mana yang Anda hadapi. Pembangunan yang tidak pernah berhasil menunjuk pada pengiriman: port salah, tujuan salah, atau firewall yang membuang paket sebelum mencapai LAN. Pembangunan yang berhasil sekali lalu gagal berjam-jam menunjuk pada entri tetangga. Pembangunan yang berhasil sampai sewa DHCP berubah menunjuk pada pengalamatan, yang diperbaiki oleh reservasi.

Pastikan alamatnya stabil sebelum menyentuh ARP. Jika mesin yang tidur mendapat alamat baru setelah sewa berakhir, entri tetangga yang disematkan untuk alamat lama akan permanen sekaligus tidak berguna. Atur reservasi DHCP lebih dulu agar alamat bertahan melewati reboot.

Apa yang dibutuhkan paket magis dari jaringan

Muatan itu sederhana: 102 byte dari enam byte 0xFF diikuti alamat MAC tujuan enam belas kali, biasanya dikirim ke port UDP 9. Di LAN datar paket itu keluar sebagai siaran, setiap port menerimanya, dan kartu jaringan yang mati mengenali alamatnya sendiri.

Lewat VPN paket tiba di router sebagai unicast ke alamat privat atau sebagai siaran terarah ke subnet. Dalam kasus unicast, router harus menyelesaikan tujuan menjadi alamat MAC sebelum dapat menaruh bingkai di LAN, dan penyelesaian itulah yang gagal saat host tidur.

Sebagian alat mengirim ke port 7 alih-alih 9, dan sebagian perangkat memblokir siaran terarah secara bawaan. Itu kegagalan pengiriman, bukan kegagalan ARP, jadi periksa tujuan dan port sebelum mengubah tabel tetangga.

Tiga jalur ke host yang tidur

Ada tiga cara praktis untuk membawa bingkai ke LAN, dan pilihan yang tepat bergantung pada apa yang Anda kendalikan.

MethodWhat it needsWhere it breaks
Subnet-directed broadcastA wake tool that accepts a broadcast address and a router that forwards itBroadcast filtering, or a tool that only takes a MAC
Helper on the LANAn always-on host such as the VPN serverNo suitable host, or the host cannot reach the target VLAN
Permanent neighbour entryRouter shell access and the target MACNIC replacement or address change

Pilih host bantuan bila ada, karena ia menyiarkan di tautan dan tidak perlu pengecualian router. Pilih siaran terarah bila router sudah mengizinkannya dan alat bangun mendukung alamat. Pilih entri statis bila keduanya tidak tersedia dan Anda dapat menjalankan perintah di router.

Ini tidak saling meniadakan. Entri permanen juga membuat jalur unicast bertahan melewati tidur, yang berguna saat klien VPN hanya dapat mengirim ke alamat tertentu.

Jadikan entri tetangga permanen

Pada router dengan shell Linux, satu perintah menyematkan pemetaan. Nilai di sini milik LAN contoh dan harus diganti dengan milik Anda:

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

Status nud permanent mempertahankan entri melewati batas waktu ARP dan memakainya untuk penerusan selama mesin mati. Perintah kedua membuktikan entri itu ada dan menunjukkan antarmuka tempatnya berada, yang penting pada router dengan jembatan tamu atau VLAN terpisah.

Buat entri itu bertahan saat reboot lewat kait apa pun yang disediakan firmware: skrip di /jffs/scripts pada Asuswrt-Merlin, unit oneshot systemd pada server Linux yang menjadi gateway, Neighbor= stanza di systemd-networkd, atau entri di /etc/ethers yang dibaca perkakas lokal. Perintah yang diketik di shell hilang pada restart berikutnya, dan itulah alasan paling umum sebuah perbaikan yang berfungsi tampak berhenti bekerja.

Uji dari luar dan ketahui kapan harus menghapusnya

Buat mesin tidur dan tunggu setidaknya sepuluh menit, cukup lama agar entri dinamis mana pun kedaluwarsa. Lalu kirim permintaan bangun dari klien VPN dan amati kedua sisi router:

tcpdump -ni tun0 udp port 9
tcpdump -ni br0 ether proto 0x0806 or udp port 9

Tangkapan pertama membuktikan paket datang dari terowongan; yang kedua membuktikan router menaruh bingkai di LAN. Paket magis yang sah tampil sebagai 102 byte dengan MAC berulang, jadi periksa panjang sekaligus tujuan. Jika bingkai meninggalkan jembatan LAN dan mesin tetap mati, masalah yang tersisa ada di perangkat: mulai cepat, tidur nyenyak, atau pengaturan BIOS yang memutus daya ke kartu jaringan.

Hapus entri saat kartu jaringan berganti, dan perbarui saat Anda memindahkan mesin ke alamat lain. Pemetaan permanen adalah pengecualian yang disengaja, dan pengecualian yang tidak diingat siapa pun adalah cara sebuah laptop di masa depan mulai menerima bingkai yang ditujukan untuk desktop yang sudah pensiun.

Artikel terkait