Hur (och varför) att tilldela .local-domänen till din Raspberry Pi
Om du är trött på att leta upp IP-adresserna på enheter som du ofta har tillgång till via fjärrloggning, SSH och andra medel på ditt hemnätverk, kan du spara mycket tid genom att tilldela en enkel att komma ihåg .lokal
adress till enheten. Läs vidare som vi visar genom att tilldela ett lätt att komma ihåg namnet på vår Raspberry Pi.
Varför vill jag göra det här?
Troligtvis använder ditt hemnätverk DHCP IP-uppdrag, vilket innebär att varje gång en enhet lämnar nätverket och returnerar en ny IP-adress tilldelas den. Även om du ställer in en statisk IP för en ofta använd enhet (t.ex. ställer du din Raspberry Pi-låda alltid tilldelad till nummer 192.168.1.99
), måste du fortfarande begå det helt ointuitiva numret till minnet. Dessutom, om du någonsin behöver ändra numret av någon anledning skulle du behöva komma ihåg en helt ny i sin plats.
Att göra det är inte världens ände, men det är obekvämt. Varför stör med att memorera IP-strängar när du kan ge dig lokala enheter lätt att komma ihåg namn som raspberrypi.local
eller mediaserver.local
?
Nu kanske några av er (speciellt de som har en mer intim kunskap om DNS, domännamn och andra nätverksadressstrukturer) kanske undrar vad fångsten är. Är det inte en inneboende risk eller ett problem att bara släppa ett domännamn på ditt befintliga nätverk? Det är viktigt att notera det stor distinktion mellan fullt kvalificerade domännamn (FQDNs), vilka är officiellt erkända suffixer för toppdomäner (t.ex. .com
del av www.howtogeek.com
som betyder att How-To Geek är en kommersiell webbplats) och domännamn som antingen inte känns igen av det globala namnet / DNS-systemet eller är direkt reserverade för privat nätverksanvändning.
Till exempel, .inre
är, enligt detta skrivande, inte en FQDN; Det finns inga registrerade domäner någonstans i världen som slutar med .inre
och alltså om du skulle konfigurera ditt privata nätverk att använda .inre
För lokala adresser finns det ingen chans att en DNS-konflikt uppstår. Det kan dock ändras (även om chansen är avlägsen) i framtiden om .inre
blev en officiell FQDN och adresser slutade i .inre
var externt lösbar via offentliga DNS-servrar.
Omvänt .lokal
domänen har officiellt reserverats som ett särskilt använd domännamn (SUDN) speciellt för användningen av internt nätverk. Den kommer aldrig att konfigureras som ett FQDN och som sådan kommer dina anpassade lokala namn aldrig att störa mot existerande externa adresser (t.ex.. howtogeek.local
).
Vad behöver jag?
Den hemliga såsen som gör hela det lokala DNS-upplösningssystemet fungerar är känt som Multicast Domain Name Service (mDNS). Förvirrande är det faktiskt två implementeringar av mDNS som flyter runt, en av Apple och en av Microsoft. Det mDNS-genomförande som skapats av Apple är vad som undergaller deras populära Bonjour-nätverk för lokal upptäckt. Implementeringen av Microsoft är känd som Link-local Multicast Name Resolution (LLMNR). Microsoft-implementeringen antogs aldrig allmänt tack vare att man inte följde olika standarder och en säkerhetsrisk i samband med vilka domäner som skulle kunna fångas för lokal användning.
Eftersom Apples mDNS-implementering Bonjour har en mycket bredare adoptionshastighet, bättre stöd och ett stort antal applikationer för plattformar stora och små har vi valt att använda den för denna handledning.
Om du har datorer som kör Apples OS X på ditt nätverk, finns det ingenting du behöver göra förutom att följa med handledningen för att ställa upp saker på Raspberry Pi (eller annan Linux-enhet) sida av saker. Du är redo att gå när dina datorer redan stöder det.
Om du kör en Windows-maskin som inte har iTunes installerad (som skulle ha installerat en kompis Bonjour-klient för mDNS-upplösning) kan du lösa bristen på inbyggt mDNS-stöd genom att ladda ner Apples Bonjour Printer Service-hjälparapp här. Även om nedladdningssidan gör att det låter som om det är ett skrivskyddad verktyg, lägger det effektivt mDNS / Bonjour-stöd över hela linjen till Windows.
Installera Bonjour Support på din Raspberry Pi
Den första affärsordningen är att antingen dra upp terminalen på din Pi eller ansluta till fjärrkontakten (om du har en huvudlös maskin) via SSH. En gång i terminalen, ta en stund att uppdatera och uppgradera apt-get. (Obs! Om du just har gjort det här som en del av en annan av våra Hantverk Pi-handledning kan du hoppa över det här steget.)
sudo apt-get uppdatering
sudo apt-get uppgradering
När uppdateringen / uppgraderingen är klar är det dags att installera Avahi-en fantastisk liten mDNS-implementering av öppen källkod. Ange följande kommando vid prompten:
sudo apt-get installera avahi-daemon
När installationsprocessen är klar behöver du inte ens starta om enheten. Din Raspberry Pi kommer att börja genast erkänna lokala nätverksfrågor för dess värdnamn (som standard "Raspberry Pi
") Vid raspberrypi.local
.
Den speciella maskinen som vi använde för detta test är samma Raspberry Pi vi förvandlades till en omgivande väderindikator och ändrade senare det lokala värdnamnet, så när vi går och letar efter nyinställda .lokal
adress, vi letar efter weatherstation.local
istället för raspberrypi.local
.
Återigen, för betoning, är den del som föregår det lokala suffixet alltid enhetens värdnamn. Om du vill ha din Raspberry Pi Music Streamer för att få det lokala namnet jukebox.local
, till exempel måste du följa dessa anvisningar för att ändra Pi: s värdnamn.
Fortsätt och ping den nya .lokal
adress på den maskin som du vill komma åt enheten från och med nu:
Framgång! weatherstation.local löser sig till 192.168.1.100, vilket är den faktiska IP-adressen för enheten på det lokala nätverket. Från och med nu kan alla applikationer eller tjänster som tidigare krävde IP-adressen till Raspberry Pi nu använda den lokala adressen istället.