>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Go

Jak zachować kontrolę nad urządzeniami w sieci lokalnej dzięki WatchYourLAN

Znany scenariusz: konfigurujesz nowy komputer jednopłytkowy lub podłączasz inteligentne gniazdko, a potem otwierasz panel administracyjny routera i próbujesz odgadnąć, który adres IP został przypisany do urządzenia. Większość domowych paneli administracyjnych routerów niechętnie aktualizuje listy połączeń, a historii zwykle nie ma w ogóle.

W poszukiwaniu prostego rozwiązania natknąłem się na WatchYourLAN. To mały skaner sieciowy z interfejsem webowym, napisany w Go. Działa w tle, skanuje sieć lokalną za pomocą ARP i natychmiast powiadamia o pojawieniu się nieznanego hosta.

Interfejs WatchYourLAN

Co potrafi to narzędzie

WatchYourLAN rozwiązuje podstawowe, ale irytujące zadanie: utrzymuje aktualną mapę sieci lokalnej przed oczami.

Oto co oferuje:

  • Powiadomienia przez Shoutrrr. Narzędzie obsługuje Telegram, Discord, Gotify, Slack, Matrix, e-mail oraz standardowe webhooki.
  • Historia aktywności. Skaner zapamiętuje, kiedy urządzenie pojawiło się w sieci i kiedy przeszło w tryb offline.
  • Eksport metryk. Dane można wysyłać do Prometheus przez /metrics lub streamować bezpośrednio do InfluxDB2 do budowania dashboardów w Grafanie.
  • Wybór bazy danych. Domyślnie używany jest SQLite, ale w razie potrzeby dane można przenieść do PostgreSQL.

Projekt działa szybko, ponieważ jest napisany w Go, a obraz kontenera jest bardzo lekki.

Uruchomienie i niuanse konfiguracji

Usługę wdraża się jednym poleceniem Dockera. Głównym wymaganiem jest uruchomienie kontenera z trybem sieciowym host, w przeciwnym razie arp-scan nie zobaczy interfejsów systemu hosta.

docker run --name wyl \
	-e "IFACES=eth0" \
	-e "TZ=Europe/Moscow" \
	--network="host" \
	-v /var/lib/wyl:/data/WatchYourLAN \
    aceberg/watchyourlan

Po uruchomieniu interfejs webowy jest dostępny pod adresem http://localhost:8840.

Przy konfiguracji należy pamiętać o dwóch kwestiach. Po pierwsze, WatchYourLAN nie ma wbudowanego formularza logowania. Jeśli planujesz udostępnić panel na zewnątrz, zamknij go za odwrotnym proxy z uwierzytelnianiem, takim jak Authelia lub Nginx. Po drugie, aplikacja pobiera motywy i czcionki z CDN domyślnie. W przypadku całkowicie izolowanych sieci autor przygotował osobny kontener node-bootstrap, w którym interfejs działa bez dostępu do internetu.

Dla kogo to będzie przydatne

Narzędzie idealnie sprawdza się w domowym labie lub małej sieci biurowej. Jeśli często podłączasz nowy sprzęt, debugujesz mikrokontrolery lub chcesz wiedzieć, kiedy domowe urządzenia łączą się z Wi-Fi, WatchYourLAN zaspokoi tę potrzebę bez zbędnej złożoności.

Powiązane projekty