Łączysz się, router odpowiada, a komputer stacjonarny pozostaje ciemny. Tunel jest w porządku; pakiet, który miał wybudzić maszynę, nigdy nie dotarł do segmentu, w którym maszyna nasłuchuje. Jeśli przejdziesz ścieżkę od routera wstecz, zobaczysz, gdzie ginie.

Trzy urządzenia mają trzy zadania. Mieszanie ich to zwykły powód, dla którego próba wybudzenia kręci się w kółko.

Zacznij od klienta zdalnego i podążaj ścieżką

Z sieci hotelowej łączysz się z routerem domowym, który jest jedynym stale aktywnym punktem końcowym na obrazku. Żądanie wybudzenia wpisane na laptopie staje się zwykłym ruchem tunelu, adresowanym do dowolnego celu, który podałeś. Ten cel decyduje o wszystkim, co następuje.

Jeśli wysłałeś je na adres LAN routera domowego na porcie magic packet, router może przyjąć datagram i nigdy nie wyemitować ramki w segmencie domowym, bo nic tam nie nasłuchuje tego portu. Jeśli rozgłaszasz je wewnątrz tunelu, zatrzymuje się na interfejsie tunelu. Tunel routowany nie jest rozszerzeniem warstwy 2 okablowania domu. Przejdź ścieżkę skok po skoku, a ślepy zaułek staje się oczywisty.

Sprawdzenie, które to rozstrzyga, wymaga jednego polecenia ze strony zdalnej i jednego ze strony domowej. Wyślij żądanie, a potem obserwuj segment domowy pod kątem ramki.

Przenieś nadawcę do segmentu domowego

Router może sam wykonać wybudzanie, gdy uwierzytelnisz się przez tunel. OpenWrt dokumentuje usługę Wake-on-LAN, która działa na urządzeniu i emituje ramkę lokalnie, i to jest dokładnie potrzebny kształt: uwierzytelnianie z zewnątrz, lokalne rozgłaszanie wewnątrz.

Taki układ trzyma też funkcję wybudzania z dala od publicznego internetu. Nic nowego nie jest wystawiane do internetu, bo wyzwalacz jedzie po VPN, któremu już ufasz. Alternatywa, usługa wybudzania z przekierowanym portem, wymienia odrobinę wygody na skierowany do internetu punkt końcowy, który każdy może sprawdzić.

Zależność cykliczna zasługuje na nazwanie wprost. Klient VPN zainstalowany na komputerze stacjonarnym nie może wybudzić tego komputera, bo proces klienta potrzebuje działającej maszyny. Trzymaj zdalny punkt wejścia na routerze albo innym stale działającym pudełku, a komputer stacjonarny niech będzie tylko celem.

Potwierdź cel, zanim obwinisz tunel

Tę część rozstrzyga sprzęt, nie VPN, a stan zasilania rozstrzyga ją pierwszy. Adapter musi obsługiwać wybudzanie, firmware musi zostawić adapter zasilany w uśpieniu, a system operacyjny musi być skonfigurowany tak, by to pozwalał. Maszyna zawieszona to inny przypadek niż wyłączona, a oba różnią się od maszyny, której zasilanie jest odcięte przy ścianie. Rozstrzygnij ten stan, zanim przejdziesz resztę listy.

Odczytaj adres sprzętowy z adaptera, który naprawdę odbierze ramkę. Komputer stacjonarny z Ethernetem i Wi-Fi często ma dwa adresy, i tylko jeden z nich może umieć wybudzać. Wybudzanie bezprzewodowe to osobna możliwość z własnymi wymaganiami firmware, więc działające wybudzanie przez Ethernet nic nie mówi o wybudzaniu przez Wi-Fi.

Najpierw udowodnij ścieżkę lokalną. Wyślij magic packet z innego urządzenia na tym samym przełączniku i patrz, jak maszyna wstaje. Jeśli to zawiedzie, żadna ilość debugowania tunelu nie pomoże, a usterka jest w firmware, ustawieniach adaptera albo stanie zasilania.

Po wybudzeniu połącz się z usługą, której chciałeś

Wybudzanie to nie dostęp zdalny. Gdy maszyna wznowi pracę, wciąż musi uruchomić swoje usługi, uzyskać adres i przyjąć sesję, której naprawdę potrzebujesz. Daj jej czas na osiągnięcie tego stanu, zanim uznasz, że wybudzanie się nie udało.

# remote side: trigger the wake through the already-authenticated tunnel
ssh [email protected] 'wol -i br-lan 3c:7a:8f:2b:11:04'

# home side: is the target answering on the LAN?
ping -c 3 10.10.0.42
arp -n 10.10.0.42

Wiersz arp jest tym użytecznym. Wpis, który zmienia się z niekompletnego na prawdziwy adres sprzętowy, oznacza, że maszyna wznowiła pracę i odpowiedziała; żądanie, które nigdy się nie rozwiązuje, wskazuje z powrotem na krok wybudzania, a nie na usługę, do której próbowałeś dotrzeć.

Oddziel etapy w notatkach: wybudzanie, rozruch, usługa. Awaria w drugim etapie wygląda z okna czatu identycznie jak awaria w pierwszym, i tylko lokalny dowód je rozróżnia.

Powiązane artykuły