Rediger Macens vertsfil: Blokker nettsteder & omdiriger trafikk!

En vertsfil på en Mac er en liten, men likevel vesentlig tekstdokument som gir deg muligheten til å knytte bestemte vertsnavn til tilpassede IP-adresser.

I moderne internettbruk benyttes et nettverk av offentlige og private DNS-servere for å oversette IP-adresser. Likevel gir vertsfilen en praktisk metode for å overstyre disse DNS-serverne, slik at du manuelt kan dirigere en nettadresse til den ønskede IP-adressen. Den kan også brukes til å blokkere tilgang til et nettsted ved å peke den til en ubrukt eller intern IP-adresse.

La oss utforske hvordan du kan endre vertsfilen på din macOS.

Redigering av Mac Hosts-filen med et tekstredigeringsprogram

Det finnes hovedsakelig to tilnærminger for å endre vertsfilen i macOS.

Den første metoden er å bruke TextEdit, siden vertsfilen er et standard tekstdokument. Du kan imidlertid ikke åpne filen direkte fordi den er lagret i et beskyttet område av filsystemet. Du må derfor kopiere filen til et ikke-beskyttet sted, som skrivebordet, endre den, og deretter kopiere den tilbake.

  • For å finne vertsfilen, åpne Finder, enten ved å klikke på skrivebordet, smilefjes-ikonet nederst til venstre på skjermen, eller ved å trykke cmd + mellomromstasten + Finder.
  • Velg «Gå» fra rullegardinmenyen.

3. Velg deretter «Gå til mappe» fra menyen.

4. I feltet som dukker opp, skriv inn «/private/etc/hosts» og trykk Enter.

5. Et nytt Finder-vindu vil åpnes med vertsfilen merket. Klikk og dra den ut av Finder-vinduet og slipp den på skrivebordet.

For å åpne filen, dobbeltklikk på den, og innholdet vil vises i TextEdit (eller ditt valgte tekstredigeringsprogram).

Blokkering av IP-adresser

Som standard er filen /etc/hosts ganske enkel. Den inneholder flere linjer med beskrivende tekst som er «kommentert ut» med et pund- eller talltegn (også kjent som hashtag) (#).

Hver linje som starter med et #-tegn er en kommentar og blir ikke lest av filen /etc/hosts. Tekst som kommer etter et #-tegn ignoreres av datamaskinen, noe som gjør det til en god måte å legge til notater og beskrivelser i filene. Den inneholder også standard IP-verdier for localhost og broadcasthost. For å endre filen, legg til dine egne linjer etter broadcasthost.

I tillegg til å teste nyutviklede nettsteder og migrering av webhotell, er en annen grunn til å endre vertsfilen å blokkere tilgangen til bestemte nettsteder.

I dette eksemplet vil vi forestille oss at datamaskinen vi bruker er en enhet som kun skal brukes til arbeid, og at vi ikke ønsker å la oss distrahere av Facebook på arbeidsmaskinen.

For å gjøre dette, skriver du inn IP-adressen du vil tilordne, etterfulgt av to tabulatorer og vertsnavnet. I dette tilfellet ønsker vi å blokkere Facebook, så vi kartlegger www.facebook.com til 0.0.0.0, som en ugyldig IP-adresse. Dette vil føre til en feil.

Nå vil nettleseren ikke laste inn siden hver gang vi prøver å gå til www.facebook.com fra vår Mac, noe som forhåpentligvis vil oppmuntre oss til å fortsette arbeidet!

Omdirigering av nettadresser

Alternativt kan du skrive inn IP-adressen til et gyldig nettsted i stedet for 0.0.0.0. Dette vil føre til at brukere som prøver å få tilgang til Facebook, blir omdirigert til nettstedet du velger.

  • For å finne IP-adressen til et nettsted kan du bruke dig-kommandoen, som er standard på macOS. For å hente IP-adressen til et nettsted via Terminal, åpner du Terminal og kjører dig-kommandoen på URL-en. Den returnerer IP-adressen som output.
  • Skriv nå «$ dig www.techjunkie.com +short 104.25.27.105»

Merk: Alternativet «+short» begrenser outputen til den informasjonen vi trenger, som er IP-adressen.

3. Noter deg IP-adressen som returneres, og bruk den i filkartleggingen for Mac-verter. For eksempel returnerer nettstedet til The New York Times en IP-adresse på 170.149.172.130. Hvis vi kartlegger den til Facebook i vertsfilen vår, vil alle som prøver å gå til Facebook, oppleve at The New York Times lastes inn i stedet.

Merk: Mange nettsteder vil ikke tillate deg å tilordne et domenenavn til IP-adressen som for øyeblikket er tilordnet nettstedet. I slike tilfeller vil du få en sikkerhetsfeil.

4. Du kan legge til så mange oppføringer i vertsfilen du ønsker ved å legge inn nye tilordninger på hver linje. Når du har gjort de ønskede endringene, lagrer du filen på dens nåværende plassering på skrivebordet.

5. Deretter drar og slipper du vertsfilen tilbake til den opprinnelige plasseringen i /private/etc. Hvis du har lukket Finder-vinduet som peker til denne katalogen, bruker du bare Finder > Gå > Gå til mappe kommandoen som beskrevet tidligere, for å åpne det igjen.

6. Når du slipper vertsfilen tilbake til den opprinnelige plasseringen, vil macOS spørre deg hva du vil gjøre med den umodifiserte vertsfilen som allerede finnes der. Velg «Erstatt» og skriv inn administratorpassordet for å bekrefte overføringen.

Når den endrede vertsfilen er på plass, starter du nettleseren din for å teste endringene.

Tømming av DNS-bufferen

I de fleste tilfeller vil den nye tilordningen fungere umiddelbart, men hvis du ikke ser den forventede oppførselen, kan det hende du må tømme DNS-bufferen. Dette tvinger nettleseren til å lese fra vertsfilen for å fastslå tilordningen.

  • For å tømme DNS-bufferen på din Mac, åpne Terminal og bruk følgende kommando (sudo gir deg tillatelse til å kjøre denne kommandoen som administrator):
  • Skriv nå «sudo killall -HUP mDNSResponder» og trykk Enter. Merk: Du må skrive inn administratorpassordet for å utføre denne kommandoen.
  • For å bekrefte at Mac-en har tømt DNS-bufferen, kan du legge til en bekreftelse. Skriv inn disse to kommandoene atskilt med et semikolon som vist her: «sudo killall -HUP mDNSResponder; si at DNS-bufferen har blitt tømt»

Mac-en din vil da si «DNS-bufferen er tømt» via høyttalerne.

Redigere Mac Hosts-filen i Terminal med Nano

Stegene i forrige avsnitt er enkle, men hvis du vil unngå å kopiere vertsfilen, kan du redigere den direkte i Terminal ved hjelp av UNIX Nano Text Editor, som er innebygd i macOS.

  • For å starte, åpne Terminal, skriv inn følgende kommando og trykk Enter. Som med alle sudo-kommandoer, må du skrive inn administratorpassordet for å utføre den: «sudo nano /private/etc/hosts»

2. Du vil nå se vertsfilen åpne i Nano-editoren, vim eller en annen editor du foretrekker. For å navigere og endre filen i Nano, bruk piltastene på tastaturet.

3. Akkurat som vi gjorde med TextEdit-metoden ovenfor, kan vi legge til, endre eller fjerne vertsnavntilordninger etter ønske. Fordi vi startet Nano ved hjelp av sudo, vil eventuelle endringer bli godkjent og lagret direkte i den opprinnelige vertsfilen, uten at du trenger å kopiere den ut av hjemmekatalogen.

4. Når du er ferdig med å gjøre endringer, trykker du Ctrl-X for å avslutte editoren, Y for å lagre og Enter for å overskrive den eksisterende vertsfilen.

Som nevnt tidligere, sørg for å tømme DNS-cachen hvis du oppdager at de nye tilordningene ikke fungerer som de skal.

Våre eksempler omhandlet blokkering og omdirigering av distraherende nettsteder i et arbeidsmiljø, men du kan også bruke disse trinnene til å manuelt blokkere tilgang til skadelige nettsteder, eller andre formål.

Hvis du noen gang gjør en feil, og du ikke er sikker på hvordan du kan rette den opp, kan du alltid gjenopprette standardinnholdet i vertsfilen ved hjelp av en av metodene ovenfor. Bare bruk følgende standardinformasjon:

##
# Vertsdatabase
#
# localhost brukes til å konfigurere loopback-grensesnittet
# når systemet starter opp. Ikke endre denne oppføringen.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost

Avsluttende tanker

Å kunne endre vertsfilen på macOS gir deg en praktisk måte å overstyre DNS-servere på. Det lar deg manuelt peke en nettadresse til en ny IP-adresse, eller blokkere tilgang til en side. Ved å følge trinnene som er skissert her, kan du utføre denne oppgaven raskt.

Hva er årsaken til at du prøver å endre vertsfilen på Mac-en din? Hvordan gikk det? Del dine erfaringer i kommentarfeltet nedenfor!