Konfigurační soubor hostitelů ve vašem Macu je sice malý, ale zato klíčový textový dokument. Umožňuje vám přiřazovat názvy hostitelů ke konkrétním IP adresám.
Přestože současný internet spoléhá na veřejné i soukromé servery DNS pro mapování IP adres, soubor hosts poskytuje praktický způsob, jak tyto DNS servery obejít. To vám umožňuje ručně přesměrovat adresu webové stránky na libovolnou IP adresu nebo zablokovat přístup k webu tím, že jej nasměrujete na nepoužívanou nebo interní IP adresu.
Nyní si rychle ukážeme, jak upravit soubor Mac hosts v operačním systému macOS.
Úprava souboru Mac Hosts pomocí textového editoru
Existují dva hlavní způsoby, jak upravit soubor hosts v macOS.
První metoda spočívá v použití aplikace TextEdit, jelikož soubor hostitelů je obyčejný textový dokument. Nicméně, nelze ho otevřít přímo, protože je uložen v chráněné systémové oblasti. Proto budeme muset soubor nejprve zkopírovat na nechráněné místo (například na plochu), tam ho upravit a následně ho zkopírovat zpět.
- Otevřete Finder, kliknutím na plochu, ikonku smajlíka v levém dolním rohu nebo stisknutím klávesové zkratky cmd + mezerník + Finder.
- V horním menu vyberte položku „Otevřít“.
3. Z rozbalovací nabídky vyberte možnost „Přejít do složky“.
4. Do textového pole vložte „/private/etc/hosts“ a potvrďte klávesou Enter.
5. V nově otevřeném okně Finderu se zobrazí soubor hosts. Klikněte na něj a přetáhněte jej z okna Finderu na plochu.
Soubor otevřete dvojitým kliknutím. Jeho obsah se zobrazí v TextEdit (nebo jiném preferovaném textovém editoru).
Blokování IP adres
Soubor /etc/hosts je standardně poměrně jednoduchý. Obsahuje několik řádků s popisným textem, které jsou „zakomentovány“ pomocí znaku mřížky (#).
Každý řádek začínající znakem # je považován za komentář a soubor /etc/hosts jej ignoruje. Jakýkoli text za znakem mřížky je pro počítač irelevantní. Je to dobrý způsob, jak přidávat poznámky a popisky k souboru. Soubor standardně obsahuje výchozí hodnoty IP pro localhost a broadcasthost. Chcete-li soubor upravit, přidejte za řádek broadcasthost vaše vlastní řádky.
Kromě testování nově vyvinutých webů a migrací webhostingu, je dalším důvodem pro úpravu souboru hosts zablokování přístupu na určité weby.
V našem příkladu budeme předpokládat, že chceme používat počítač výhradně pro práci a nenechat se rozptylovat Facebookem.
Provedeme to tak, že zadáme IP adresu, kterou chceme přiřadit, následovanou dvěma mezerami a názvem hostitele. V našem případě chceme zablokovat Facebook, takže www.facebook.com namapujeme na 0.0.0.0. Protože 0.0.0.0 je neplatná IP adresa, pokus o přístup na Facebook povede k chybě.
Nyní, kdykoli se z našeho Macu pokusíme přejít na www.facebook.com, webový prohlížeč stránku nenačte, což nás snad přiměje k návratu k práci!
Přesměrování webových adres
Alternativně můžeme místo 0.0.0.0 zadat IP adresu platného webu. Tím dosáhneme toho, že uživatelé pokoušející se o přístup na Facebook budou přesměrováni na námi zvolený web.
- Pro zjištění IP adresy webu lze použít příkaz dig, který je standardní součástí macOS. Chcete-li získat IP adresu webu, otevřete terminál a zadejte příkaz dig následovaný URL adresou. Příkaz vrátí IP adresu jako výstup.
- Nyní zadejte: „$ dig www.techjunkie.com +short“ (například: 104.25.27.105)
Poznámka: Parametr +short zajistí, že výstup bude obsahovat pouze potřebnou informaci, tedy IP adresu.
3. Poznamenejte si získanou IP adresu a použijte ji v souboru hosts na vašem Macu. Například web The New York Times vrací IP adresu 170.149.172.130. Pokud tuto adresu přiřadíme k Facebooku v našem souboru hostitelů, kdykoli se někdo na Macu pokusí přejít na Facebook, načte se mu místo toho stránka The New York Times.
Upozornění: Mnohé webové stránky neumožňují namapovat název domény na IP adresu, která je v současnosti přiřazena jinému webu. Pokud to zkusíte, zobrazí se vám bezpečnostní chyba.
4. Do souboru hosts můžete přidat libovolné množství položek, každé mapování na samostatný řádek. Jakmile dokončíte požadované změny v souboru hosts, uložte ho do aktuálního umístění na ploše.
5. Následně přetáhněte soubor hosts z plochy zpět do původního umístění v /private/etc. Pokud jste okno Finderu s tímto adresářem zavřeli, můžete ho znovu otevřít pomocí příkazu Finder > Otevřít > Přejít do složky, jak bylo popsáno výše.
6. Při ukládání souboru hosts zpět do původní lokace vás macOS dotáže, co udělat s existujícím neupraveným souborem. Zvolte „Nahradit“ a zadejte heslo administrátora pro ověření přenosu.
Po uložení upraveného souboru hosts, spusťte webový prohlížeč a otestujte provedené změny.
Vyprázdnění DNS cache
Ve většině případů by nové mapování mělo začít fungovat okamžitě, ale pokud nevidíte očekávané chování, může být nutné vyprázdnit DNS cache. Tím donutíte prohlížeč, aby pro určení mapování načítal data z vašeho souboru hostitelů.
- Chcete-li vyprázdnit DNS cache na Macu, otevřete Terminál a použijte následující příkaz (sudo vám umožňuje spouštět příkazy jako správce počítače).
- Zadejte „sudo killall -HUP mDNSResponder“ a stiskněte klávesu Enter. Pro provedení tohoto příkazu budete muset zadat heslo správce.
- Chcete-li zajistit vymazání DNS cache vašeho Macu a potvrdit vymazání zprávou, zadejte tyto dva příkazy oddělené středníkem: „sudo killall -HUP mDNSResponder; say DNS cache has been flushed“
Váš Mac poté z reproduktorů oznámí „DNS cache has been flushed“.
Úprava souboru Mac Hosts v Terminálu pomocí Nano
Kroky v předchozí části jsou dostatečně snadné, ale pokud se chcete vyhnout kopírování souboru hosts, můžete jej upravit přímo v Terminálu pomocí textového editoru Nano, který je integrovaný v macOS.
- Spusťte Terminál, zadejte následující příkaz a stiskněte klávesu Enter. Stejně jako u všech příkazů sudo, i zde budete muset zadat heslo administrátora: „sudo nano /private/etc/hosts“
2. Otevře se vám soubor hosts v editoru Nano (nebo jiném vámi zvoleném editoru). Pro navigaci a úpravy souboru v Nano použijte šipky na klávesnici.
3. Stejně jako u metody s TextEdit, i zde můžete libovolně přidávat, upravovat nebo mazat mapování názvů hostitelů. Jelikož spouštíme Nano pomocí sudo, všechny změny budou ověřeny a uloženy přímo do původního souboru hosts, bez nutnosti ho kopírovat mimo jeho domovský adresář.
4. Po dokončení úprav stiskněte Ctrl-X pro ukončení editoru, Y pro uložení a Enter pro přepsání existujícího souboru hosts.
Jak už bylo zmíněno, nezapomeňte vyprázdnit DNS cache, pokud zaznamenáte, že nové mapování nefunguje správně.
Naše příklady zmiňovaly blokování a přesměrování rušivých stránek v pracovním prostředí, ale stejný postup můžete použít i pro ruční zablokování přístupu na škodlivé webové stránky nebo k jiným účelům.
Pokud uděláte chybu a nebudete si jisti, jak ji opravit, můžete kdykoli obnovit výchozí obsah souboru hosts. Stačí použít jednu z výše uvedených metod a zadat následující výchozí informace:
##
# Databáze hostitelů
#
# localhost se používá ke konfiguraci rozhraní zpětné smyčky
# při spouštění systému. Tento záznam neměňte.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost::1 localhost
fe80::1%lo0 localhost
Závěrem
Znalost toho, jak upravit soubor hosts v macOS, nabízí snadný způsob, jak přepsat servery DNS a manuálně přesměrovat webové stránky na nové IP adresy, případně zablokovat k nim přístup. S pomocí výše uvedených kroků zvládnete tento úkol velmi rychle.
Z jakého důvodu se snažíte upravit soubor hosts na vašem Macu? Jak to dopadlo? Podělte se o vaše zkušenosti v komentářích níže!