Hur man redigerar Hosts-filen på macOS (Mac OS X)

By rik

Din Macs värdfil fungerar som en liten men kritisk textbaserad resurs som tillåter dig att koppla specifika värdnamn till bestämda IP-adresser.

I dagens internetmiljö används flertalet publika och privata DNS-servrar för att översätta domännamn till IP-adresser. Värdfilen ger dock en möjlighet att kringgå dessa DNS-inställningar, vilket ger dig kontroll att manuellt styra en webbadress till önskad IP-adress eller fullständigt blockera en webbplats genom att leda den till en oanvänd eller intern IP-adress.

Låt oss nu utforska hur du kan modifiera Macens värdfil i macOS.

Steg för att redigera din Mac-värdfil med en textredigerare

Det finns i huvudsak två metoder för att redigera värdfilen på macOS.

Den första metoden är att använda TextEdit, då värdfilen är en vanlig textfil. Det är dock inte möjligt att öppna filen direkt, eftersom den är lagrad i en skyddad del av filsystemet. Istället behöver vi först kopiera filen till en plats där den inte är skyddad, exempelvis skrivbordet, göra ändringarna och sedan kopiera tillbaka den.

  • För att hitta värdfilen, öppna Finder. Du kan göra detta genom att klicka på skrivbordet, på Finder-ikonen (det leende ansiktet) nere till vänster på skärmen, eller genom att trycka på cmd + Mellanslag och skriva Finder.
  • Gå sedan till menyn ”Gå”.

3. I rullgardinsmenyn väljer du ”Gå till mapp”.

4. I sökrutan skriver du ”/private/etc/hosts” och trycker på retur.

5. Ett nytt Finder-fönster öppnas och din Macs värdfil markeras. Klicka och dra filen ut ur Finder-fönstret och placera den på skrivbordet.

För att öppna den, dubbelklicka på filen, och den kommer att visa filens innehåll i TextEdit (eller den textredigerare du föredrar).

Blockera IP-adresser

Som standard är filen /etc/hosts ganska enkel. Den består av ett antal rader med beskrivande text som är ”utkommenterade” med hjälp av ett pundtecken eller nummertecken (#).

Alla rader som börjar med ett # är kommentarer och ignoreras av filen /etc/hosts. För varje rad bortser datorn från all text som kommer efter tecknet #, vilket gör det till ett bra sätt att lägga till kommentarer och förklaringar till filerna. Den innehåller också standard IP-adresser för localhost och broadcasthost. För att modifiera filen, lägger du till dina egna rader efter broadcasthost.

Förutom att testa nya webbplatser och migreringar av webbhotell, är en annan anledning att redigera värdfilen att blockera åtkomst till specifika webbplatser.

I vårt exempel föreställer vi oss att den dator vi använder endast ska användas för arbete, och att vi inte ska distraheras av Facebook under arbetstid.

För att göra detta, skriver du in IP-adressen du vill tilldela, följt av två tabbar och värdnamnet. I vårt fall vill vi blockera Facebook, så vi kopplar www.facebook.com till 0.0.0.0, vilket, som en ogiltig IP-adress, kommer att resultera i ett fel.

När vi nu försöker besöka www.facebook.com från vår Mac, kommer webbläsaren inte att kunna ladda sidan, vilket förhoppningsvis uppmuntrar oss att återgå till arbetet!

Omdirigera webbadresser

Alternativt kan du ange IP-adressen till en fungerande webbplats istället för 0.0.0.0. Detta kommer att göra så att användare som försöker komma åt Facebook istället omdirigeras till den webbplats du angivit.

  • För att ta reda på en webbplats IP-adress kan du använda kommandot dig, som är standard i macOS. För att ta reda på IP-adressen via Terminal, öppnar du Terminal och kör sedan kommandot dig på URL:en, vilket returnerar IP-adressen som utdata.
  • Skriv nu ”$ dig www.techjunkie.com +short 104.25.27.105”

Obs: Alternativet +short begränsar utmatningen till just den informationen vi behöver, nämligen IP-adressen.

3. Notera IP-adressen som returneras och använd den i din Mac-värdfils mappning. Till exempel returnerar The New York Times webbplats IP-adressen 170.149.172.130. Om vi kopplar den till Facebook i vår värdfil, kommer alla som använder Mac:en att se New York Times laddas istället när de försöker gå till Facebook.

Obs: Många webbplatser tillåter inte att du kopplar ett domännamn till den IP-adress som för närvarande är kopplad till webbplatsen. Du kan därför få ett säkerhetsfel när du försöker.

4. Du kan lägga till så många poster som du vill i värdfilen genom att lägga till nya mappningar på varje ny rad. När du har gjort de önskade ändringarna i värdfilen, sparar du den på sin aktuella plats på skrivbordet.

5. Dra och släpp sedan värdfilen från skrivbordet tillbaka till sin ursprungliga plats på /private/etc. Om du har stängt Finder-fönstret som leder till denna katalog, använder du kommandot Finder > Gå > Gå till mapp, som diskuterats ovan, för att öppna det igen.

6. När du släpper tillbaka värdfilen på sin ursprungliga plats kommer macOS att fråga vad du vill göra med den omodifierade värdfilen som redan finns där. Välj ”Ersätt” och ange ditt administratörslösenord för att godkänna överföringen.

Med den modifierade värdfilen på plats, startar du din webbläsare för att testa förändringarna.

Töm din DNS-cache

I de flesta fall bör den nya mappningen fungera direkt. Om du inte ser det korrekta resultatet, kan du behöva rensa din DNS-cache. Detta tvingar webbläsaren att läsa från din värdfil för att hitta rätt mappning.

  • För att rensa DNS-cachen på din Mac, öppnar du Terminal och använder följande kommando (sudo låter dig köra kommandot som administratör för din maskin):
  • Skriv nu ”sudo killall -HUP mDNSResponder” och tryck på retur. Obs: Du måste ange ditt administratörslösenord för att utföra detta kommando.
  • För att få din Mac att rensa DNS-cachen, bekräftar du sedan att den har rensat din cache genom att ekon en bekräftelse. Skriv in dessa två kommandon åtskilda av ett semikolon som visas här: ”sudo killall -HUP mDNSResponder;say DNS-cachen har rensats”

Din Mac kommer sedan att säga ”DNS-cachen har rensats” via högtalarna.

Hur man redigerar din Mac-värdfil i terminalen med Nano

Stegen i föregående avsnitt är ganska enkla. Om du vill undvika att kopiera värdfilen kan du redigera den direkt i Terminal med hjälp av UNIX Nano Text Editor, som är inbyggt i macOS.

  • För att komma igång, starta Terminal, skriv in följande kommando och tryck på retur. Som med alla sudo-kommandon måste du också ange ditt administratörslösenord för att köra det: ”sudo nano /private/etc/hosts”

2. Du ser nu värdfilen öppnas i Nano-redigeraren eller vim eller annan redigerare. För att navigera och redigera filen i Nano, använd piltangenterna på ditt tangentbord.

3. Precis som med TextEdit-metoden ovan, kan vi lägga till, redigera eller ta bort värdnamnsmappningar efter behov. Eftersom vi startade Nano med sudo, kommer alla ändringar att autentiseras och sparas direkt i den ursprungliga värdfilen, utan att behöva kopiera den ut från sin hemkatalog.

4. När du är färdig med ändringarna trycker du på Ctrl-X för att stänga redigeraren, Y för att spara och på retur för att skriva över den befintliga värdfilen.

Som vi nämnde tidigare, se till att rensa din DNS-cache om du märker att dina nya mappningar inte fungerar som de ska.

Våra exempel nämnde blockering och omdirigering av distraherande webbplatser i en arbetsmiljö, men du kan också använda dessa steg för att manuellt blockera åtkomst till skadliga webbplatser, och naturligtvis även andra användningsområden.

Om du skulle göra ett misstag och inte vet hur du ska rätta till det, kan du alltid återställa värdfilens standardinnehåll genom att använda en av metoderna ovan och ange följande standardinformation:

##
# Värddatabas
#
# localhost används för att konfigurera loopback-gränssnittet
# när systemet startar. Ändra inte denna post.
##
127.0.0.1 lokal värd
255.255.255.255 broadcasthost::1 lokal värd
fe80::1%lo0 lokal värd

Slutsatser

Att förstå hur man redigerar värdfilen i macOS ger ett smidigt sätt att kringgå DNS-servrar och manuellt peka en webbadress till en ny IP-adress eller blockera åtkomst. Genom att följa stegen ovan kan du snabbt utföra den här uppgiften.

Vilka är dina anledningar till att redigera din Macs värdfil? Hur gick det? Berätta för oss i kommentarerna nedan!