Hostuje možnosti souborů v ubuntu. Jak nastavit virtuální hostitele v Ubuntu nebo Debianu

K úpravě systému tak, aby vyhovoval vašim potřebám, lze použít málo známou funkci nazvanou soubor hosts. Ať už potřebujete vytvářet zástupce, blokovat webové stránky nebo cokoli jiného, ​​můžete to udělat se souborem hosts.

Ale jak v něm provést změny? Zde vás provedeme postupem a poskytneme několik příkladů použití, abyste mohli soubor začít hned používat.

Co je soubor hosts?

V jednoduchém jazyce je soubor hosts jednoduchý textový soubor který používá jakýkoli operační systém k překladu názvů hostitelů na IP adresy. Když zadáte název hostitele - například facebook.com nebo myubuntu.ru - váš systém zkontroluje soubor hostitelů, aby získal IP adresu, kterou potřebuje k připojení k příslušnému serveru. Pokud ale tento soubor otevřete na počítači, rychle zjistíte, že tam není uložen adresář všech internetových stránek. Může tam být jen pár řádků a nic víc. Váš systém vždy nejprve zkontroluje soubor hostitelů a vše, co v něm není uvedeno, bude nalezeno na serverech DNS uvedených v nastavení vaší sítě (obvykle u vašeho ISP).


Ale to také znamená, že můžete použít soubor Hosts k přidání adres, které nemohou poskytovat servery DNS (například to mohou být aliasy pro různá umístění ve vaší domácí síti, která by jinak byla k dispozici pouze tehdy, pokud máte svůj vlastní server DNS nainstalovaný a nakonfigurovaný ve vaší místní síti), nebo obejít adresy IP poskytnuté vašimi výchozími servery DNS.

Pokud například v prohlížeči požádáte o otevření facebook.com, servery DNS vrátí IP adresu Facebooku do vašeho počítače. Pokud ale najednou chcete zablokovat Facebook na svém počítači, můžete do souboru hosts přidat položku, která vašemu počítači řekne, že všechny požadavky na facebook.com je třeba přesměrovat na jinou IP adresu, která se liší od skutečné IP adresy . Facebook. Chcete -li to zablokovat sociální síť, můžete jednoduše napsat překlad požadavků na facebook.com na IP adresu 127.0.0.1, která se vždy vrátí do vašeho systému. S tímto souborem můžete udělat mnoho a toto je jen nejjednodušší příklad - vše závisí na vašich přáních a potřebách.

Jak upravit soubor hosts

V operačních systémech Linux najdete soubor hosts v / etc / hosts. Protože se jedná o běžný textový soubor, můžete použít pouze běžný textový editor(je jedno, jestli je to terminál nebo grafika). Bohužel existuje pouze jeden grafický nástroj, který poskytuje částečnou správu souboru hostitelů, a to je aplikace Linux Mint's Domain Blocker.

Tento program funguje tak, že do souboru hosts přidá položky, které přesměrují vámi určené domény na 127.0.0.1 - tedy do vašeho počítače. Ať tak či onak, to je vše, co můžete s blokováním domény dělat - všechna ostatní použití souboru hosts vyžadují, abyste soubor ručně upravili pomocí textového editoru.


Protože hostitelé jsou systémový soubor, k uložení změn v tomto souboru budete potřebovat práva správce. Můžete jej však upravit pomocí příkazu terminálu, jako je sudo nano / etc / hosts nebo gksu gedit / etc / hosts. Chcete -li spustit požadovanou aplikaci, musíte použít terminál administrativní práva... Nano nebo gedit můžete také nahradit příkazem ke spuštění oblíbeného textového editoru. Až dokončíte úpravy souboru v nano, můžete stisknutím Ctrl + X a poté y potvrdit přepsání změn

Jak porozumět formátu obsahu souboru hosts?

V souboru hosts je každý záznam na svém vlastním řádku. Pro účely tohoto článku můžete použít velmi jednoduchou syntaxi - zadáte IP adresu, na kterou chcete přesměrovat název hostitele (doménu), poté znak tabulátoru a skutečnou doménu. Chcete -li například zablokovat Facebook, můžete zadat 127.0.0.1facebook.com, kde na klávesnici stisknete klávesu Tab. Můžete se také podívat na snímek obrazovky a porovnat jej s tím, co máte v souboru, abyste se ujistili, že je zadání správné.


Uveďme další příklad použití této funkce. Pokud například máte ve své domácí síti počítač (řekněme, že jeho IP adresa je 192.168.1.10), který provozuje jednoduchý web, který pro vás dělá něco užitečného. Do souboru hosts můžete zadat následující: 192.168.1.10homeserver. Nyní, když otevřete prohlížeč a do adresního řádku napíšete http: // homeserver, automaticky se vám zobrazí obsah hostitele 192.168.1.10. Je to mnohem jednodušší, než pokaždé psát IP adresu.

Potenciální problémy

Jediný problém, na který jsem narazil, souvisí s fungováním prohlížeče Chrome. Má tendenci ignorovat soubor hostitelů, pokud neuděláte alespoň jednu ze dvou možných věcí:

  • před každou adresu vložte http: //. Pokud například máte Facebook zablokovaný prostřednictvím souboru hosts, Chrome blok obejde, pokud do adresního řádku jednoduše zadáte facebook.com. Pokud zadáte

Systém názvů domén DNS slouží k určení, která IP patří do správné domény na internetu. Když program potřebuje přístup na webovou stránku podle svého názvu domény, operační systém odešle požadavek na server DNS, aby zjistil, jakou IP adresu by měl použít k dalšímu odesílání paketů. Ale není tomu tak vždy. Když například přistupujeme k doméně localhost, požadavek je vždy odeslán do našeho místního počítače.

Celým důvodem je soubor hosts. Pokud jste dříve používali Windows, pravděpodobně jste už o takovém souboru slyšeli. Tam se nejčastěji používalo k rychlému zablokování přístupu ke zdroji. Jeho aplikace je ale mnohem širší. V tomto článku se podíváme na to, jak konfigurovat soubor hosts v Linuxu a jaké funkce nám poskytuje.

Než přejdeme k samotnému souboru hostitelů, musíme pochopit, jak se v Linuxu provádí vyhledávání IP adresy pro název domény. Řekl jsem, že operační systém okamžitě odešle požadavek na server DNS, ale není to tak úplně pravda. Existuje konkrétní pořadí vyhledávání, podle kterého se provádí. Toto pořadí je nastaveno v konfiguračním souboru /etc/nsswitch.conf

kočka /etc/nsswitch.conf

Zde nás zajímá řada hostitelů. Uvádí v pořadí podle priority služby, které se používají k nalezení IP adresy pro název domény. Položka soubory znamená použití souboru / etc / hosts a dns znamená službu názvů internetových domén. Pokud jsou soubory umístěny před hostiteli, znamená to, že se systém nejprve pokusí najít doménu v / etc / hosts, a teprve poté pomocí DNS. To je výchozí případ.

Konfigurace souboru hosts v Linuxu

Potřebný soubor se nachází v adresáři / etc /. Chcete -li jej otevřít, můžete použít libovolný textový editor, a to jak v příkazovém řádku, tak v grafickém rozhraní, pouze jej musíte otevřít s právy superuživatele. Například s vim:

sudo vi / etc / hosts

sudo gedit / etc / hosts

Syntaxe souboru je velmi jednoduchá. Obsahuje několik řádků s doménová jména a IP adresy, které pro ně použijete. Každý z nich vypadá takto:

doména ip_adresa alias

Úplně první řádek obvykle vytvoří pravidlo pro přesměrování všech požadavků na doménu localhost na místní IP adresu - 127.0.0.1:

127.0.0.1 localhost

Tento soubor ve výchozím nastavení také obsahuje přesměrování názvu počítače a adres IPv6. Pro libovolnou požadovanou doménu můžete vytvořit vlastní nastavení. Chcete -li to provést, přidejte na konec souboru řádek..0.0.1:

Web 127.0.0.1

Upozorňujeme, že zde je uvedena pouze doména, žádný protokol. Není nutné zadávat předponu http nebo https, jinak nic nebude fungovat. Ale pro subdoménu www musíte vytvořit samostatný záznam nebo jej zapsat jako alias. Například:

127.0.0..stránka

Nyní při žádosti o doménu web otevře naši místní IP. Chcete -li vrátit přístup k původnímu zdroji, stačí odebrat přidaný řádek. Můžete však použít nejen místní adresu, ale i jakoukoli jinou. To je velmi výhodné, pokud jste právě zaregistrovali doménu a doménová zóna ještě nebyla aktualizována a již chcete pracovat s novým webem. Stačí přidat data do / etc / hosts a pracovat jako obvykle.

závěry

V tomto krátkém článku jsme diskutovali o tom, jak se konfigurace DNS provádí prostřednictvím souboru hostitelů Linuxu. Jak vidíte, s jeho pomocí můžete zablokovat přístup například k nechtěným zdrojům, ke kterým by programy neměly získat přístup, a také jej používat v práci webmastera.

o autorovi

Zakladatel a správce stránek, mám rád open source software a operační systém Linux. V současné době používám Ubuntu jako svůj hlavní operační systém. Kromě Linuxu mě zajímá vše, s čím souvisí informační technologie a moderní vědy.

Na vašem počítači je jeden soubor, který slouží jako malá brána mezi vámi a webem. Říká se tomu soubor hosts. Pokud potřebujete blokovat webové stránky nebo vytvářet personalizované webové zkratky v systému Linux, můžete tyto úlohy vyřešit přidáním nebo vyladěním několika řádků v souboru hosts.

Co je soubor Linux Hosts?

Soubor hosts je prostý textový soubor, který všechny operační systémy používají k překladu názvů hostitelů (známých také jako webové adresy nebo adresy URL) na adresy IP. Když zadáte název hostitele, například wikipedia.org, váš systém se podívá do souboru hostitelů, aby získal IP adresu potřebnou k připojení k příslušnému serveru.

Pokud otevřete soubor hosts, rychle si všimnete, že v něm není adresář celého internetu. Místo toho může být jen pár řádků a je to. Co dává?

Ukázalo se, že váš systém nejprve zkontroluje soubor hostitelů, než vyhledá web Když DynDNS zmizel, zde jsou nejlepší bezplatní poskytovatelé dynamických DNS, služby a alternativy DDNS, které jej nahradí.(obvykle servery DNS vašeho ISP).

To znamená, že pomocí souboru hosts můžete přidat k tomu, co servery DNS nemohou poskytovat (například aliasy pro umístění ve vaší místní síti, což je jinak možné pouze v případě, že máte v místní síti nastaven server DNS) nebo přepsat IP adresy, které by vaše servery DNS normálně poskytovaly.

Pokud například požádáte o wikipedia.org, servery DNS vrátí do vašeho počítače IP adresu Wikipedie. Pokud byste ale chtěli Wikipedii na tomto počítači zablokovat, můžete do souboru hosts přidat položku, která vašemu počítači řekne, že wikipedia.org ukazuje na jinou IP adresu, která se liší od skutečné IP adresy Wikipedie.

Se souborem hosts můžete dělat mnoho dalších věcí, ale toto jsou jen některé základní příklady a další použití závisí na vašich potřebách.

Umístění souboru hostitele Linuxu

V Linuxu najdete soubor hosts pod / etc / hosts. Protože se jedná o prostý textový soubor, můžete soubor hosts otevřít pomocí preferovaného textového editoru.

Protože je však soubor hosts systémovým souborem, budete k uložení změn potřebovat práva správce. Chcete-li tedy upravit soubor pomocí textového editoru založeného na terminálu Linux, jako je nano, budete muset nejprve zadat sudo, abyste získali přístup superuživatele:

Sudo nano / etc / hosts

Chcete -li použít grafický textový editor, například gedit, můžete místo toho zkusit gksu:

gksu gedit / etc / hosts

Abyste mohli spustit příslušnou aplikaci s právy správce, musíte použít terminál. Stačí nahradit nano nebo gedit oblíbeným terminálovým nebo grafickým textovým editorem. S nano, jakmile dokončíte úpravu souboru, stiskněte Ctrl + X, a pak y k potvrzení přepsání změn.

Jak přidat stránky do souboru hostitelů

V souboru hosts má každý záznam svůj vlastní řádek. Syntaxe je jednoduchá. Zadejte IP adresu, na kterou chcete název hostitele přeložit, stiskněte klávesu tab na klávesnici a poté zadejte název hostitele.

Chcete -li například zablokovat Wikipedii, zadejte (nezapomeňte použít mezerník místo klávesy Tab):

127.0.0.1 wikipedia.org

127.0.0.1 je IP adresa zpětné smyčky, která bude vždy směřovat zpět do vašeho vlastního systému. Protože web není uložen na vašem počítači, váš prohlížeč řekne, že web nelze najít. Nyní je účinně blokován.

Pokud se cítíte zastrašováni terminálem, podívejte se na aplikaci Linux Mint's Domain Blocker (známá také jako mintnanny). Přidá do souboru hostitelů položky, které odkazují na názvy hostitelů, které zadáte, na 127.0.0.1. Ale abyste mohli dělat cokoli jiného, ​​budete muset provést změny pomocí textového editoru.

Vytvořte zástupce v souboru Hosts

Pokud máte ve své domácí síti počítač (řekněme s IP adresou 192.168.1.10), který má jednoduchý web, který pro vás dělá něco užitečného, ​​můžete do souboru hosts zadat následující:

Domovský server 192.168.1.10

Poté, když otevřete prohlížeč a zadáte pouze http: // homeserver, automaticky se přesměruje na 192.168.1.10. A to je mnohem jednodušší než pokaždé psát IP adresu.

Alternativně můžete použít soubor hosts k vytvoření zástupců pro určité weby na webu. Pomocí příkazu, například nslookup, najděte IP adresu webové stránky a poté ji přidejte do souboru hostitelů vedle požadované zkratky, stejně jako ve výše uvedeném příkladu. To ale funguje pouze na webech s vyhrazenými IP adresami. Pravděpodobně to nebude fungovat s většinou stránek, které navštívíte.

Potenciální problémy se souborem Hosts

Zjistili jsme, jak provádět změny v hostitelském souboru, ale při používání prohlížeče Google Chrome se stále můžete setkat s problémy. Tento webový prohlížeč má tendenci ignorovat soubor hostitelů, pokud neprovedete jednu ze dvou možných věcí:

  1. Na začátek každé adresy zadejte http: //. Pokud například máte v souboru hostitelů zablokovanou Wikipedii, Chrome blok obejde, pokud do adresního řádku zadáte pouze wikipedia.com. Pokud do adresního řádku zadáte http://wikipedia.com, bude se řídit souborem hosts.
  2. V nastavení prohlížeče Chrome zakažte „Použít webovou službu k řešení chyb navigace“ a pak nebudete muset pokaždé na začátku psát http: //. Toto je jeden z Používáte Chromebook, ale máte obavy o soukromí? Upravte těchto 7 nastavení v prohlížeči Chrome v systému Chrome OS, abyste zůstali v bezpečí online. každopádně stojí za to.

TITUL
hosts - statická tabulka pro převod IP adres na
názvy strojů

SYNTAX
/ etc / hosts

POPIS
Tato stránka obsahuje popis formátu souboru
/ etc / hosts. Tento soubor obsahuje popisný text
korespondence IP adres a názvů počítačů (jedna adresa v
čára). Pro každý stroj by měl jeden řádek
musí být k dispozici následující informace:

Aliasy IP_adresa canonical_name

Pole tohoto záznamu jsou od sebe oddělena mezerami a / nebo
záložky. Text začínající znakem „#“ až do konce
řádky jsou považovány za komentář a jsou ignorovány. Názvy strojů
může obsahovat jakýkoli tisknutelný znak kromě oddělovače
pole, znak nového řádku nebo znak komentáře.
Aliasy jsou upraveny, alternativní,
zkrácené nebo zobecněné tvary názvů počítačů (např.
localhost). Formát tabulky názvů hostitelů je popsán v dokumentu RFC 952.

Server Berkeley Internet Domain Name Server (BIND) obsahuje
Internetový server jmen pro počítače se systémem UNIX. Nahradí soubor
/ etc / hosts nebo vyhledávač strojů a uvolní stroj
z potřeby kompletního detailního vyplnění souboru
/ etc / hosts.

Nehledě na to, že funkce této tabulky jsou prováděny již delší dobu
DNS, stále se používá pro

Zaváděcí systém.
Mnoho systémů má malou tabulku jmen
stroje obsahující informace o jménech a adresách
důležité stroje v místní síti. V tom je to užitečné
pokud DNS nefunguje, např
zavádění systému.

NIS Stránky NIS používají tabulku jmen
stroje jako zdroj informací pro základnu
těchto strojů NIS. Ačkoli NIS může
pracuje s DNS, mnoho webů NIS používá
tabulka názvů strojů s řetězci pro všechny stroje
místní síť jako bezpečnostní síť.

Izolované uzly
Malé weby, které nejsou připojeny ke globální síti,
místo DNS použijte tabulku názvu hostitele. Li
místní informace se mění jen zřídka a síť ne
připojen k internetu, DNS je téměř nezbytné.

PŘÍKLAD
127.0.0.1 localhost
192.168.1.10 foo.mydomain.org foo
Bar 192.168.1.13 bar.mydomain.org
216.234.231.5 master.debian.org master
205.230.163.103 www.opensource.org

HISTORICKÁ REFERENCE
Před zavedením DNS byla tabulka názvů počítačů jediná
prostředek pro převod názvů počítačů na adresy v
rostoucí internetová síť. Ve skutečnosti tento soubor
byl vytvořen na základě oficiální databáze automobilů,
vedené v Centru pro ovládání síťových informací
(NIC) a také lokální opravy obsahující
neoficiální aliasy a / nebo informace o neznámých
auta. NIC již nepodporuje soubory hosts.txt,
v době tohoto psaní (asi 2000)
na WWW byly staré soubory hosts.txt. Oni byli
nalezeno; data jejich umístění jsou 92, 94 a 95.

Chci vám říct o několika nestandardním způsobem pomocí kterého můžete otevírat stránky v prohlížeči pomocí krátkých názvů. Například místo toho, abyste do prohlížeče zadali „yandex.ru“, můžete jednoduše zadat jedno písmeno „y“. S tím nám pomůže soubor / etc / hosts.

/ Etc / hosts soubor

Soubor / etc / hosts nastavuje korespondenci mezi IP adresou a názvem hostitele (název hostitele, doména), jakož i jejich aliasy (nazývané také synonyma, aliasy). Když přistupujete k jakékoli adrese v síti, například http://yandex.ru, pak pro přístup na web musí systém nejprve převést adresu webu na odpovídající IP adresu, k tomu systém požaduje IP adresu od Servery DNS... Pokud je v souboru / etc / hosts zapsána korespondence mezi yandex.ru a IP adresou, pak systém použije tuto konkrétní IP adresu. A protože v souboru / etc / hosts můžeme také určit alias, pomocí kterého bude dostupná konkrétní IP adresa, můžeme například pro yandex.ru určit alias „y“. Když tedy ve svém prohlížeči zadáte „y“, systém načte IP adresu v souboru / etc / hosts a otevře webovou stránku yandex.ru. To znamená, že / etc / hosts je druh místního serveru DNS.

Jak zjistit IP adresu webu

Nyní musíme určit IP adresy webů, které chceme přidat do / etc / hosts. Je třeba poznamenat, že ne všechny stránky mají samostatnou vyhrazenou IP adresu a není možné k nim přistupovat pouze podle IP adresy. Ale téměř všechny velké weby a portály mají vlastní vyhrazenou IP adresu. IP adresu webu snadno zjistíte pomocí příkazu ping:

Adresa URL stránky pro ping.

Pojďme například spustit:

ping yandex.ru

Proces ping se zobrazí na obrazovce (pro přerušení stiskněte Ctrl + C). Takže dostaneme výstup příkazu ping ve tvaru:

PING dat yandex.ru (87.250.250.11) 56 (84) bytů. 64 bytů z yandex.ru (87.250.250.11): icmp_seq = 1 ttl = 57 čas = 3,57 ms ...

Zde vidíte, že yandex.ru odpovídá IP adrese 87.250.250.11. Podobně fungujeme pro další weby.

Úprava souboru / etc / hosts

Při úpravách souboru / etc / hosts musíte být opatrní, abyste nic nezkazili, protože se jedná o systémový soubor a je důležité neporušit jeho syntaxi. Otevřete soubor pro úpravy, spusťte to na příkazovém řádku:

Sudo gedit / etc / hosts

Obsah souboru vypadá nějak takto:

127.0.0.1 localhost :: 1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # Následující řádky jsou žádoucí pro hostitele schopné IPv6 :: 1 localhost ip6-localhost ip6-loopback fe00 :: 0 ip6-localnet ...

Syntaxe souboru / etc / hosts je velmi jednoduchá:

IP adresa název hostitele [aliasy, ...]

Pojďme do souboru přidat nové řádky pro různé weby:

74.125.232.19 google.ru g 94.100.191.203 mail.ru m 194.186.36.211 rbc.ru r 87.250.250.11 yandex.ru y

Uložte a zavřete soubor. Zaregistrovali jsme korespondenci mezi IP adresami, názvy stránek a jejich aliasy. Nyní přejděte do prohlížeče a do adresního řádku zadejte jednoduše „g“, měl by se otevřít web google.ru. Chcete -li otevřít mail.ru, zadejte „m“, pro rbc.ru - jen „r“, yandex.ru - „y“.