Cum să editați fișierul Hosts pe macOS (Mac OS X)

Fișierul hosts de pe Mac este un document text mic, dar esențial, care are rolul de a asocia denumirile de gazdă cu anumite adrese IP.

Deși internetul modern se bazează pe diverse servere DNS, atât publice, cât și private, pentru a realiza această asociere, fișierul hosts oferă o metodă alternativă, utilă pentru a suplini aceste servere. Astfel, puteți direcționa manual un nume de site web către o adresă IP specifică sau puteți bloca complet accesul la un anumit site, redirecționându-l către o adresă IP internă sau neutilizată.

Vom analiza, în continuare, cum se poate modifica fișierul hosts pe un sistem macOS.

Modificarea fișierului Mac Hosts prin Text Edit

Există două metode principale prin care se poate edita fișierul hosts pe un sistem Mac OS X.

Prima metodă implică utilizarea TextEdit, deoarece fișierul hosts este, în esență, un document text simplu. Însă, nu se poate deschide direct fișierul, deoarece acesta se află într-o zonă protejată a sistemului de fișiere. Prin urmare, este necesar să copiem fișierul într-o locație accesibilă, cum ar fi Desktop-ul, să îl modificăm acolo și apoi să îl copiem înapoi în locația inițială.

  • Pentru a localiza fișierul hosts, deschideți Finder, fie făcând clic pe desktop, pe iconița Finder din colțul stânga jos al ecranului, sau prin apăsarea combinației de taste cmd + Spacebar și tastând „Finder”.
  • Apoi, selectați meniul „Go”.

3. În meniul „Go”, selectați opțiunea „Go to Folder”.

4. În fereastra deschisă, introduceți calea „/private/etc/hosts” și apăsați tasta Return.

5. Se va deschide o nouă fereastră Finder, iar fișierul hosts va fi selectat. Faceți clic pe fișier și trageți-l din fereastra Finder pe Desktop.

Pentru a deschide fișierul, faceți dublu clic pe acesta, iar conținutul său va fi afișat în TextEdit (sau editorul de text preferat).

Blocarea adreselor IP

În mod implicit, fișierul /etc/hosts are o structură relativ simplă. Conține câteva rânduri de text descriptiv, „comentate” cu ajutorul semnului diez (#).

Orice linie care începe cu semnul # este considerată un comentariu și nu este interpretată de fișierul /etc/hosts. Pentru fiecare linie, textul de după semnul diez este ignorat de computer, ceea ce permite adăugarea de note și descrieri în fișier. De asemenea, fișierul conține valori IP predefinite pentru localhost și broadcasthost. Pentru a modifica fișierul, este necesar să adăugați propriile linii după linia care conține broadcasthost.

Pe lângă testarea site-urilor web noi sau a migrațiilor de găzduire, o altă utilizare a modificării fișierului hosts este blocarea accesului la anumite site-uri.

În exemplul nostru, vom simula situația în care computerul este utilizat exclusiv pentru muncă, și nu dorim să fim distrași de Facebook în timpul orelor de lucru.

Pentru a realiza acest lucru, introduceți adresa IP dorită, urmată de două tab-uri și de numele de gazdă. În cazul nostru, vom bloca Facebook, așa că vom asocia adresa www.facebook.com cu 0.0.0.0, care este o adresă IP nevalidă și va genera o eroare.

De acum, când vom încerca să accesăm www.facebook.com de pe acest Mac, browserul nu va putea încărca pagina, încurajându-ne, în mod ideal, să ne întoarcem la muncă!

Redirecționarea adreselor web

Alternativ, în loc de 0.0.0.0, puteți introduce adresa IP a unui site valid. Astfel, utilizatorii care încearcă să acceseze Facebook vor fi redirecționați către site-ul ales de dumneavoastră.

  • Pentru a afla adresa IP a unui site, puteți folosi comanda „dig”, care este inclusă în mod standard în macOS. Pentru a utiliza comanda, deschideți Terminal și executați „dig” urmată de adresa URL, iar rezultatul va afișa adresa IP.
  • Acum, tastați „dig www.techjunkie.com +short” (opțiunea „+short” afișează doar adresa IP).

Notă: opțiunea +short afișează doar informațiile esențiale, adică adresa IP.

3. Notați adresa IP obținută și utilizați-o în maparea din fișierul hosts. De exemplu, site-ul The New York Times are adresa IP 170.149.172.130. Dacă mapăm această adresă pe Facebook în fișierul hosts, oricine va încerca să acceseze Facebook de pe acest Mac, va fi redirecționat către The New York Times.

Notă: multe site-uri nu permit maparea unui nume de domeniu la altă adresă IP, așa că veți primi o eroare de securitate.

4. Puteți adăuga câte intrări doriți în fișierul hosts, introducând noile asocieri pe linii separate. După ce ați efectuat modificările dorite, salvați fișierul în locația curentă de pe Desktop.

5. Apoi, trageți fișierul hosts de pe Desktop înapoi în locația sa inițială, adică /private/etc. Dacă ați închis fereastra Finder care afișa acest director, folosiți din nou comanda Finder > Go > Go to Folder, așa cum am explicat mai sus, pentru a o redeschide.

6. Când veți copia fișierul hosts înapoi în locația inițială, macOS vă va întreba ce să faceți cu fișierul hosts existent. Selectați „Înlocuire” și introduceți parola de administrator pentru a autentifica transferul.

Acum, că fișierul hosts a fost modificat, porniți browserul pentru a testa schimbările.

Ștergerea cache-ului DNS

În majoritatea cazurilor, noile mapări vor funcționa imediat. Dar, dacă nu observați efectul dorit, ar putea fi necesar să ștergeți memoria cache DNS, forțând browserul să citească din fișierul hosts pentru a determina maparea corectă.

  • Pentru a șterge memoria cache DNS pe Mac, deschideți Terminal și utilizați următoarea comandă (comanda „sudo” permite executarea acestei comenzi cu drepturi de administrator):
  • Tastați „sudo killall -HUP mDNSResponder” și apăsați tasta Return. Va trebui să introduceți parola de administrator pentru a executa această comandă.
  • Pentru a șterge cache-ul DNS și a primi o confirmare, introduceți următoarele două comenzi, separate printr-un punct și virgulă: „sudo killall -HUP mDNSResponder;say DNS cache has been flushed”

Mac-ul va anunța, prin difuzoare, că „Cache-ul DNS a fost șters”.

Modificarea fișierului Mac Hosts direct în Terminal cu Nano

Metoda prezentată anterior este destul de simplă, dar dacă doriți să evitați copierea fișierului hosts, puteți să-l modificați direct în Terminal, folosind editorul text UNIX Nano, care este inclus în macOS.

  • Pentru a începe, deschideți Terminal, tastați următoarea comandă și apăsați tasta Return. Similar tuturor comenzilor sudo, va trebui să introduceți și parola de administrator: „sudo nano /private/etc/hosts”

2. Veți vedea acum fișierul hosts deschis în editorul Nano (sau alt editor). Pentru a naviga și edita fișierul în Nano, utilizați tastele săgeți de pe tastatură.

3. La fel ca în cazul metodei TextEdit de mai sus, puteți adăuga, modifica sau șterge asocierile de nume de gazdă. Deoarece ați deschis Nano folosind „sudo”, toate modificările vor fi autentificate și salvate direct în fișierul hosts original, fără a fi necesară copierea în afara directorului său inițial.

4. După ce ați terminat modificările, apăsați tastele Control-X pentru a ieși din editor, apoi tasta Y pentru a salva și Return pentru a suprascrie fișierul hosts existent.

Așa cum am menționat anterior, asigurați-vă că ștergeți cache-ul DNS dacă noile mapări nu funcționează corect.

În exemplele noastre, am menționat blocarea și redirecționarea site-urilor care distrag atenția într-un mediu de lucru, dar puteți folosi acești pași și pentru a bloca manual accesul la site-uri web periculoase. Sigur, și pentru multe alte utilizări.

Dacă ați făcut o greșeală și nu știți cum să o reparați, puteți oricând să restabiliți conținutul implicit al fișierului hosts, utilizând una dintre metodele de mai sus pentru a introduce următoarele informații:

##
# Baza de date gazdă
#
# localhost este folosit pentru a configura interfața loopback
# când sistemul pornește. Nu modificați această intrare.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost::1 localhost
fe80::1%lo0 localhost

Concluzii

Cunoașterea modului de a modifica fișierul hosts pe macOS oferă o metodă practică de a înlocui serverele DNS și de a direcționa manual o adresă web către o altă adresă IP, sau de a bloca accesul la un site. Urmând pașii descriși mai sus, puteți realiza această sarcină foarte rapid.

Care este motivul pentru care doriți să modificați fișierul hosts de pe Mac? Cum a funcționat în cazul dumneavoastră? Așteptăm comentariile dumneavoastră mai jos!