Hur man knackar på ditt nätverk (DD-WRT)
Har du någonsin velat ha den speciella "sovsal" med din router, så att den bara "öppnar dörren" när den hemliga banan har blivit igenkänd? How-To Geek förklarar hur man installerar Knock-demonen på DD-WRT.
Bild av Bfick och Aviad Raviv
Om du inte redan har det, se till och kolla tidigare artiklar i serien:
- Vänd din hemrouter till en superdriven router med DD-WRT
- Så här installerar du ytterligare programvara på din hemrouter (DD-WRT)
- Så här tar du bort annonser med Pixelserv på DD-WRT
Förutsatt att du är bekant med de ämnena, fortsätt läsa. Tänk på att den här guiden är lite mer teknisk, och nybörjare bör vara försiktiga när de modderar routern.
Översikt
Traditionellt, för att kunna kommunicera med en enhet / tjänst skulle man behöva initiera a full nätverksanslutning med den. Men så exponerar, det som kallas i säkerhetsåldern, en attackyta. Knock Daemon är ett slags nätverkssniffer som kan reagera när en förkonfigurerad sekvens observeras. Eftersom en anslutning inte måste upprättas för att knackdeman ska kunna känna igen en konfigurerad sekvens reduceras attackytan samtidigt som den önskade funktionaliteten upprätthålls. På ett sätt förutsätter vi routern med en önskad "Två bitars" svar (till skillnad från stackars Roger ...).
I denna artikel kommer vi att:
- Visa hur du använder Knockd för att få routern Wake-On-Lan till en dator på ditt lokala nätverk.
- Visa hur du aktiverar Knock-sekvensen från en Android-applikation, såväl som en dator.
Obs! Medan installationsanvisningarna inte längre är relevanta kan du titta på filmserien jag har skapat "tillbaka när", för att se hela övergången av konfiguration för att knacka. (Bara ursäkta den råa presentationen).
säkerhets~~POS=TRUNC konsekvenser
Diskussionen om "hur säker är Knockd?", Är lång och daterar många en milenia (i internetår) men i huvudsak är detta:
Knock är ett lager av säkerhet av dunkelhet, som bara skulle vara van vid förbättra andra sätt som kryptering och inte ska användas ensam som ett slut är alla säkerhetsåtgärder.
Förutsättningar, antaganden och rekommendationer
- Det antas att du har en Opkg-aktiverad DD-WRT-router.
- Något tålamod som detta kan ta ett tag att installera.
- Det rekommenderas starkt att du får ett DDNS-konto för din externa (vanligtvis dynamiska) IP.
Kan få sprickbildning
Installation och grundläggande konfiguration
Installera Knock-demonen genom att öppna en terminal till routern och utfärda:
opkg uppdatering; opkg installera knockd
Nu när Knockd är installerat måste vi konfigurera de utlösande sekvenserna och kommandon som kommer att utföras när de utlöses. För att göra detta, öppna filen "knockd.conf" i en textredigerare. På routern skulle detta vara:
vi /opt/etc/knockd.conf
Gör innehållet ser ut som:
[alternativ]
logfile = /var/log/knockd.log
UseSyslog
[Wakelaptop]
sekvens = 56,56,56,43,43,43,1443,1443,1443
seq_timeout = 30
kommando = / usr / sbin / wol aa: bb: cc: dd: ee: 22 -i $ (nvram får lan_ipaddr | cut -d. -f 1,2,3) .255
tcpflags = synkronisering
Låt oss förklara ovanstående:
- Segmentet "alternativ" gör att man kan konfigurera globala parametrar för demonen. I det här exemplet har vi instruerat demonen att hålla en logg både i syslog och i en fil. Även om det inte skadar med båda alternativen i samband, bör du överväga att hålla bara en av dem.
- Segmentet "wakelaptop" är ett exempel på en sekvens som kommer att utlösa WOL-kommandot till ditt LAN för en dator med MAC-adressen till aa: bb: cc: dd: ee: 22.
Obs! Kommandot ovan antar standardbeteendet att ha ett klass C-undernät.
För att lägga till fler sekvenser, kopiera och klistra in "wakelaptop" -segmentet och justera med nya parametrar och / eller kommandon som ska utföras av routern.
Börja
För att routern ska kunna aktivera demonen vid uppstart, lägg till nedan till "geek-init" -skriptet från OPKG-guiden:
knockd -d -c /opt/etc/knockd.conf -i "$ (nvram får wan_ifname)"
Detta kommer att starta Knock-demonen på "WAN" -gränssnittet på din router, så att den kommer att lyssna på paket från internet.
Knacka från Android
I bärbarhetstiden är det nästan nödvändigt att "ha en app för det" ... så StavFX skapade en för uppgiften :)
Den här appen utför knackningssekvenserna direkt från din Android-enhet och den stöder att skapa widgets på dina hemskärmar.
- Installera Knocker-programmet från Android-marknaden (var snäll och vänligen ge det ett bra betyg).
- När du har installerat på enheten, starta den. Du bör hälsas av något som:
- Du kan länge trycka på exempelsymbolen för att redigera den, eller klicka på "meny" för att lägga till en ny post. En ny post skulle se ut:
- Lägg till rader och fyll i informationen som krävs för att du knackar. För exemplet WOL-konfiguration ovanifrån skulle detta vara:
- Ändra eventuellt ikonen genom att länge trycka på ikonen bredvid Knock-namnet.
- Spara knocken.
- Tryck på den nya knappen Knock på huvudskärmen för att aktivera den.
- Skapa eventuellt en widget för den på en startskärm.
Tänk på att medan vi har konfigurerat exempelfonfigurationsfilen med grupper om 3 för varje port (på grund av Telnet-avsnittet nedan), med denna applikation finns det ingen begränsning av hur mycket repetitioner (om alls) för en port.
Ha det roligt med appen som StavFX har donerat :-)
Knacka från Windows / Linux
Medan det är möjligt att utföra Knocking med det enklaste nätverksverktyget a.k.a "Telnet" har Microsoft beslutat att Telnet är en "säkerhetsrisk" och sedan inte längre installera den som standard på moderna fönster. Om du frågar mig "De som kan ge upp nödvändig frihet för att få en liten tillfällig säkerhet, förtjänar varken frihet eller säkerhet. ~ Benjamin Franklin "men jag avbrott.
Anledningen till att vi ställer exempelsekvensen till grupper om 3 för varje port är att när telnet inte kan ansluta till önskad port, försöker den automatiskt igen 2 gånger. Det betyder att telnet faktiskt kommer att slå 3 gånger innan du ger upp. Så allt vi behöver göra är att utföra telnet-kommandot en gång för varje port i portgruppen. Det är också anledningen till att ett 30-sekunders tidsintervall har valts, eftersom vi måste vänta på telnets timeout för varje port tills vi utför nästa portgrupp. Det rekommenderas att du, när du är klar med testfasen, automatiserar den här proceduren med ett enkelt Batch / Bash-skript.
Med hjälp av vår exempelsekvens ser det ut som:
- Om du är på Windows, följ MS instruktionen för att installera Telnet.
- Släpp till en kommandorad och fråga:
telnet geek.dyndns-at-home.com 56
telnet geek.dyndns-at-home.com 43
telnet geek.dyndns-at-home.com 1443
Om allt gick bra, det borde det vara.
Felsökning
Om din router inte reagerar på sekvenser, här är några felsökningssteg du kan ta:
- Visa loggen - Knockd kommer att behålla en logg som du kan visa i realtid för att se om knackningssekvenserna har kommit till demonen och om kommandot har utförts korrekt.
Anta att du åtminstone använder loggfilen som i exemplet ovan, för att se det i realtid, utfärda i en terminal:svans -f /var/log/knockd.log
- Var uppmärksam på brandväggar - Ibland tar din ISP, arbetsplats eller internetkafé frihet att blockera kommunikation för dig. I så fall kan routern kanske lyssna, knackarna på portar som blockeras av någon del av kedjan, når inte routern och det kommer svårt att reagera på dem. Det är därför som rekommenderas att prova kombinationer som använder de välkända portarna som 80, 443, 3389 och så vidare innan du försöker fler slumpmässiga. Återigen kan du se loggen för att se vilka portar som når routerns WAN-gränssnitt.
- Testa sekvenserna internt - Innan du involverar ovanstående komplexitet som andra delar av kedjan kan introducera, rekommenderas att du försöker exekvera sekvenserna internt för att se A. slå routern som du tror att de borde B. utföra kommandot / s som förväntat. För att uppnå detta kan du starta Knockd medan du är bunden till ditt LAN-gränssnitt med:
knockd -d -i "$ (nvram få lan_ifnameq)" -c /opt/etc/knockd.conf
När ovanstående är utförd kan du styra klickningsklienten till routerns interna IP istället för den externa.
Tips: Eftersom knockd lyssnar på gränssnittsnivå och inte IP-nivå kanske du vill ha en instans av KnockD-körning på LAN-gränssnittet hela tiden. Som "Knocker" har uppdaterats för att stödja två värdar för att knacka, så gör det för att förenkla och konsolidera dina knackprofiler. - Kom ihåg vilken sida du har på - Det går inte att knacka WAN-gränssnittet från LAN-gränssnittet i ovanstående konfiguration. Om du vill kunna knacka oavsett vilken sida du är på kan du helt enkelt köra demonen två gånger, En gång bunden till WAN som i artikeln och en gång bunden till LAN som i felsökningssteget ovanifrån. Det finns inga problem att köra både ihop genom att helt enkelt lägga till kommandot från ovan till samma geek-init-skript.
Anmärkningar
Medan ovanstående exempel skulle kunna åstadkommas med olika andra metoder hoppas vi att du kan använda den för att lära dig att göra mer avancerade saker. En del två till den här artikeln som döljer VPN-tjänsten bakom en knock kommer, så håll dig stillad.Genom att knacka kommer du att kunna: Dynamiskt öppna portar, inaktivera / aktivera tjänster, fjärranslutna WOL-datorer och mer ...