Hosts soubor v Linuxu. Soubor hostitelů systému Linux Soubor hostitelů systému Linux

Chci vám říci o poněkud nestandardním způsobu, kterým můžete otevřít stránky v prohlížeči pomocí krátkých názvů. Například místo zadávání „yandex.ru“ v prohlížeči můžete jednoduše zadat jedno písmeno „y“. S tím nám pomůže soubor /etc/hosts.

Soubor /etc/hosts

Soubor /etc/hosts určuje shodu mezi IP adresou a názvem hostitele (název hostitele, doména) a také jejich aliasy (také nazývané synonyma, aliasy). Když přistupujete k adrese v síti, například http://yandex.ru, pro přístup na stránku musí systém nejprve převést adresu webu na odpovídající IP adresu; k tomu si systém vyžádá IP adresu od DNS server. Pokud soubor /etc/hosts obsahuje shodu mezi yandex.ru a IP adresou, pak systém použije tuto konkrétní IP adresu. A protože můžeme v souboru /etc/hosts zadat i alias, přes který bude konkrétní IP adresa přístupná, můžeme zadat například alias „y“ pro yandex.ru. V souladu s tím, když ve svém prohlížeči požadujete „y“, systém přečte IP adresu v souboru /etc/hosts a otevře web 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 stránek, které chceme přidat do /etc/hosts. Stojí za zmínku, že ne všechny stránky mají samostatnou vyhrazenou IP adresu a není možné k nim přistupovat pouze pomocí IP adresy. Ale téměř všechny velké weby a portály mají svou vlastní vyhrazenou IP adresu. Snadný způsob, jak zjistit IP adresu webu, je použít příkaz ping:

Ping site-address.ru

Udělejme například:

ping na yandex.ru

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

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

Zde můžete vidět, že yandex.ru odpovídá IP adrese 87.250.250.11. Totéž děláme pro ostatní weby.

Úprava souboru /etc/hosts

Musíte pečlivě upravit soubor /etc/hosts, abyste nic nezkazili, jako je toto systémový soubor a je důležité neporušit jeho syntaxi. Otevřete soubor pro úpravy, spusťte jej příkazový řádek:

Sudo gedit /etc/hosts

Obsah souboru vypadá asi takto:

127.0.0.1 localhost::1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # Následující řádky jsou vhodné pro hostitele s podporou 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. Napsali jsme korespondenci mezi IP adresami, názvy stránek a jejich aliasy. Nyní přejděte do prohlížeče a adresní řádek Stačí zadat „g“ a webová stránka google.ru by se měla otevřít. Chcete-li otevřít mail.ru, zadejte jednoduše „m“, pro rbc.ru – jednoduše „r“, yandex.ru – „y“.

Autor Shekin Čtení 6 min Zveřejněno do 21. července 2015

Málo známá funkce s názvem „ soubor hosts” lze použít k úpravě systému podle vašich potřeb. Zda potřebuješ vytvořit zkratky pro blokování webových stránek nebo něco jiného, ​​to vše lze provést pomocí hostitelé soubor.
Ale jak v něm mohu provést změny? Zde vám řekneme, jak a poskytneme několik příkladů, takže můžete začít používat soubor právě teď.

Co je soubor hosts?
Pokud mluvíme srozumitelným jazykem, soubor hosts je jednoduchý textový soubor, který lze použít na libovolném operační systém pro překlad názvů hostitelů na IP adresy. Když zadáte název hostitele – například facebook.com nebo web – váš systém zkontroluje soubor hosts, aby získal IP adresu, která je nutná pro připojení k příslušnému serveru. Pokud ale tento soubor otevřete na svém počítači, rychle zjistíte, že zde není uložen adresář všech webových stránek na internetu. Může tam být jen pár řádků a nic víc. Váš systém vždy nejprve zkontroluje soubor hosts a vše, co v něm není uvedeno, bude nalezeno na serverech DNS nakonfigurovaných v nastavení sítě (obvykle server vašeho poskytovatele Internetu).

Ale také to znamená, že můžete použít soubor Hosts k přidání adres, které nelze poskytnout DNS servery (může se například jednat o aliasy různých umístění ve vaší domácí síti, které by jinak byly dostupné pouze v případě, že je v místní síti nainstalován a nakonfigurován váš vlastní server DNS), nebo k obejití IP adres poskytovaných vašimi servery DNS ve výchozím nastavení.

Pokud například požádáte svůj prohlížeč, aby otevřel facebook.com DNS server vrátí IP adresu Facebooku na vašem PC. Pokud ale najednou chcete zablokovat Facebook na svém počítači, můžete do souboru hosts přidat záznam, který ukazuje na váš počítač, že všechny požadavky na facebook.com musí přesměrovat na nějakou jinou IP adresu, která se liší od skutečné IP adresy Facebooku. Chcete-li zablokovat tuto sociální síť, můžete jednoduše zaregistrovat přenos požadavků 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 hodně, a toto je jen velmi jednoduchý příklad – vše závisí na vašich přáních a potřebách.

Varování : mějte na paměti, hostitelé toto je a systémový soubor, upravujte jej pouze v případě, že víte, co děláte!

Jak upravit soubor hosts
v Linux Mint soubor hosts najdete v /etc/hosts. Protože se jedná o prostý textový soubor, stačí použít editor prostého textu (ať už terminálový nebo grafický). Bohužel existuje pouze jeden grafický nástroj, který poskytuje částečnou kontrolu nad souborem hosts, a to aplikace Blokování domén pro Linux Mint.

Tento program funguje tak, že do vašeho souboru hostitelů přidá položky, které přesměrují vámi zadané domény na 127.0.0.1 – to je na vašem počítači. Každopádně to je vše, s čím můžete dělat Blokování domén– všechna ostatní použití souboru hosts vyžadují ruční úpravu souboru pomocí textového editoru.

Jako hostitelé se jedná o systémový soubor, k uložení změn do souboru budete potřebovat práva správce. Můžete jej však upravit pomocí příkazů terminálu, jako je např

sudo nano /etc/hosts

sudo gedit /etc/hosts

Můžete také nahradit nano nebo gedit na příkaz ke spuštění vašeho oblíbeného textového editoru. Až dokončíte úpravy souboru v nano , vy může stisknout Ctrl +X a pak y pro potvrzení přepsání změn.

Jak porozumět formátu obsahu souboru hosts?
V souboru hosts je každý záznam na samostatném řádku. Pro účely našeho č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 (TAB) a skutečnou doménu . Chcete-li například zablokovat Facebook, můžete zadat 127.0.0.1-facebook.com kde je na kartě Tab klávesu na klávesnici. Abyste se ujistili, že je zadán správně, můžete se také podívat na snímek obrazovky a porovnat jej s tím, co je ve vašem souboru.

Hosts – změna a správa souboru /etc/hosts

Zde je další příklad využití této příležitosti. Pokud je například vaší domácí sítí počítač (například jeho IP adresa je 192.168.100.1), na kterém běží jednoduchá webová stránka, která pro vás dělá něco užitečného. Do souboru hosts můžete zadat následující: 192.168.100.1 –myhomeserver. Pokud nyní otevřete prohlížeč a do adresního řádku zadáte http://myhomeserver, automaticky se vám zobrazí obsah hostitele 192.168.100.10. Je to mnohem jednodušší, než pokaždé zadávat IP adresu.

Potenciální problémy
Jediný problém, na který jsem narazil, se týkal práce prohlížeče Chrome. Chrome má tendenci ignorovat soubor hosts, pokud neprovedete alespoň jednu ze dvou možných věcí:
- vstoupit http:// před každou adresou. Pokud jste například zablokovali Facebook prostřednictvím souboru hosts, Chrome zámek obejde, pokud do adresního řádku jednoduše zadáte facebook.com. Pokud do adresního řádku zadáte http://facebook.com, Chrome „poslouchá“ soubor hostuje a zablokuje webovou stránku této sociální sítě.
- deaktivovat možnost " Použijte webovou službu, která vám pomůže vyřešit chyby navigace “ v nastavení Chromu, a pak už nemusíte psát http:// pokaždé před adresou

Zkus to!
Hosts je malý kouzelný soubor, který nabízí několik užitečných funkcí. I když nepotřebujete žádné funkce, které poskytuje (i když si možná myslíte), bude velmi užitečné vidět, jak to funguje. Pokud se někdy dostanete do situace, kdy byste mohli použít soubor hosts, znáte je a víte, jak je nakonfigurovat.

Co je ve vašem souboru hosts? Existují nějaké ojedinělé případy takového použití? Řekněte nám to v komentářích!

Systém DNS (Domain Name System) se používá k určení, která IP adresa patří do dané domény na internetu. Když jakýkoli program potřebuje přistupovat k webu pomocí názvu své domény, operační systém odešle požadavek na server DNS, aby zjistil, na kterou IP adresu předávat pakety. Ale to se nestává vždy. Když například přistupujeme k doméně localhost, požadavek je vždy odeslán na náš místní počítač.

Důvod všeho soubor hostitelů. Pokud jste již dříve používali Windows, pravděpodobně jste již o tomto souboru slyšeli. Tam se nejčastěji používal k rychlému zablokování přístupu ke zdroji. Jeho uplatnění je ale mnohem širší. V tomto článku se podíváme na to, jak nakonfigurovat soubor hosts v Linuxu, a také na to, jaké možnosti nám poskytuje.

Než přejdeme k samotnému souboru hosts, musíme pochopit, jak vyhledat IP adresu pro název domény v Linuxu. Ř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

cat /etc/nsswitch.conf

Zde nás zajímá hostitelská linie. Uvádí v pořadí podle priority služby, které se používají k nalezení IP adresy pro název domény. Položka files znamená použití souboru /etc/hosts a dns znamená službu názvu internetové domény. 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. Ve výchozím nastavení je tomu tak.

Nastavení souboru hosts v Linuxu

Soubor, který potřebujeme, se nachází v adresáři /etc/. Chcete-li jej otevřít, můžete použít jakýkoli textový editor jak na příkazovém řádku, tak v grafické rozhraní, stačí jej otevřít s právy superuživatele. Například pomocí vim:

sudo vi /etc/hosts

sudo gedit /etc/hosts

Syntaxe souboru je poměrně jednoduchá. Obsahuje několik řádků s názvy domén a IP adresy, které je třeba pro ně použít. Každý z nich vypadá takto:

doména ip_address alias

Obvykle první řádek 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 také ve výchozím nastavení obsahuje přesměrování pro název vašeho počítače a adresy IPv6. Pro libovolnou doménu si můžete vytvořit vlastní nastavení. Chcete-li to provést, přidejte na konec souboru řádek ..0.0.1:

místo 127.0.0.1

Upozorňujeme, že zde je uvedena pouze doména bez protokolu. Není třeba zadávat předponu http nebo https, jinak nebude nic fungovat. Pro subdoménu www však musíte vytvořit samostatný záznam nebo jej napsat jako alias. Například:

127.0.0..stránka

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

závěry

V tomto krátkém článku jsme se podívali, jak na to Nastavení DNS prostřednictvím souboru Linux hosts. Jak vidíte, s jeho pomocí můžete blokovat přístup například k nechtěným zdrojům, ke kterým by programy neměly mít přístup, a také jej využívat při své práci webmastera.

o autorovi

Zakladatel a správce webu, rád otevřu software a operační sál Linuxový systém. V současné době používám Ubuntu jako svůj hlavní OS. Kromě Linuxu mě zajímá vše, co s tím souvisí informační technologie a moderní věda.

Dobré odpoledne, milí čtenáři. Zveřejňuji druhý díl. V aktuální části je kladen hlavní důraz na síťová implementace v Linuxu(jak nastavit síť v Linuxu, jak diagnostikovat síť v Linuxu a udržovat síťový subsystém v Linuxu).

Konfigurace TCP/IP v Linuxu pro práci v síti Ethernet

Pracovat s síťových protokolů TCP/IP v Linuxu stačí mít pouze rozhraní zpětné smyčky, ale pokud je nutné propojit hostitele mezi sebou, je samozřejmě nutné mít síťové rozhraní, kanály pro přenos dat (například kroucená dvoulinka), možná nějaké síťová zařízení. Také je nutné mít nainstalované (atd.), obvykle dodávané do. Dále je potřeba mít síť (například /etc/hosts) a síťovou podporu.

Nastavení sítě

Začněme rozumět linuxovým síťovým mechanismům s manuální konfigurací sítě, tedy s případem, kdy IP adresa síťové rozhraní statický. Při nastavování sítě je tedy třeba zvážit a nakonfigurovat následující parametry:

IP adresa- jak již bylo zmíněno v první části článku - jedná se o unikátní adresu stroje, ve formátu čtyř desetinných čísel oddělených tečkami. Obvykle při práci v lokální síť, vybrané ze soukromých rozsahů, například: 192.168.0.1

Maska podsítě- také 4 desetinná čísla, která určují, která část adresy se vztahuje k adrese sítě/podsítě a která část k adrese hostitele. Maska podsítě je číslo, které se přidá (v binárním tvaru) k adrese IP, aby se určilo, do které podsítě adresa patří. Například adresa 192.168.0.2 s maskou 255.255.255.0 patří do podsítě 192.168.0.

Adresa podsítě- určeno maskou podsítě. Neexistují však žádné podsítě pro rozhraní zpětné smyčky.

Adresa vysílání- adresa používaná k odesílání paketů vysílání, které budou přijaty všemi hostiteli v podsíti. Obvykle se rovná adrese podsítě s hodnotou hostitele 255, to znamená, že pro podsíť 192.168.0 bude vysílání 192.168.0.255, podobně pro podsíť 192.168 bude vysílání 192.168.255.255. Pro rozhraní zpětné smyčky neexistuje žádná vysílací adresa.

IP adresa brány- toto je adresa stroje, který je výchozí bránou pro komunikaci s vnějším světem. Pokud je počítač připojen k několika sítím současně, může existovat několik bran. Adresa brány se nepoužívá v izolovaných sítích (nepřipojená k globální síť), protože tyto sítě nemají kam posílat pakety mimo síť, platí totéž pro rozhraní zpětné smyčky.

IP adresa jmenného serveru (DNS server)- adresa serveru, který převádí názvy hostitelů na adresy IP. Obvykle poskytuje poskytovatel.

Soubory nastavení sítě v Linuxu (konfigurační soubory)

Abyste pochopili, jak funguje síť v Linuxu, určitě bych doporučil přečíst si článek "". Obecně je celé fungování Linuxu založeno na tom, co se rodí při bootování OS a produkuje jeho potomky, kteří zase provádějí veškerou potřebnou práci, ať už jde o spuštění bashe nebo démona. Ano, a na tom je založeno celé bootování Linuxu, které vysvětluje celou sekvenci spouštění malých utilit s různými parametry, které se postupně spouštějí/zastavují, když se systém spouští/zastavuje. Síťový subsystém Linux se spustí stejným způsobem.

Každá distribuce Linuxu má trochu jiný mechanismus inicializace sítě, ale myslím, že obecný obrázek bude po přečtení jasný. Pokud se podíváte na spouštěcí skripty síťového subsystému jakéhokoli Linux distribuce, jak nakonfigurovat konfiguraci sítě pomocí konfiguračních souborů bude víceméně jasné, například v Debianu (berme tuto distribuci jako základ) je za inicializaci sítě zodpovědný skript /etc/init.d/networking, když se podíval na které:

Net-server:~#cat /etc/init.d/networking #!/bin/sh -e ### BEGIN INIT INFO # Poskytuje: networking # Povinný-Start: mountkernfs $local_fs # Požadováno-zastavení: $local_fs # Mělo -Start: ifupdown # Should-Stop: ifupdown # Default-Start: S # Default-Stop: 0 6 # Stručný popis: Zvyšte síťová rozhraní. ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" [ -x /sbin/ifup ] || výstup 0. /lib/lsb/init-functions process_options() ( [ -e /etc/network/options ] || return 0 log_warning_msg "/etc/network/options stále existuje a bude IGNOROVÁNO! Přečtěte si README.Debian o netbase." ) check_network_file_systems() ( [ -e /proc/mounts ] || return 0 if [ -e /etc/iscsi/iscsi.initramfs ]; then log_warning_msg "není dekonfigurace síťových rozhraní: iSCSI root je připojen." exit 0 fi exec 9<&0 < /proc/mounts while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network devices still mounted." exit 0 ;; esac case $FSTYPE in nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs) log_warning_msg "not deconfiguring network interfaces: network file systems still mounted." exit 0 ;; esac done exec 0<&9 9<&- } check_network_swap() { [ -e /proc/swaps ] || return 0 exec 9<&0 < /proc/swaps while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network swap still mounted." exit 0 ;; esac done exec 0<&9 9<&- } case "$1" in start) process_options log_action_begin_msg "Configuring network interfaces" if ifup -a; then log_action_end_msg $? else log_action_end_msg $? fi ;; stop) check_network_file_systems check_network_swap log_action_begin_msg "Deconfiguring network interfaces" if ifdown -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; force-reload|restart) process_options log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces" log_action_begin_msg "Reconfiguring network interfaces" ifdown -a --exclude=lo || true if ifup -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; *) echo "Usage: /etc/init.d/networking {start|stop}" exit 1 ;; esac exit 0

Můžete najít několik funkcí, které kontrolují přítomnost připojených síťových souborových systémů ( check_network_file_systems(), check_network_swap()), stejně jako kontrola existence některých stále nejasných konfigurací /etc/network/options ( funkce process_options()) a úplně dole design pouzdro "$1" in a v souladu se zadaným parametrem (start/stop/force-reload|restart nebo jakýkoli jiný) provede určité akce. Z těchto stejných" určité akce", pomocí argumentu start jako příkladu můžete vidět, že funkce je spuštěna jako první možnosti_procesu, pak je fráze odeslána do protokolu Konfigurace síťových rozhraní a příkaz je spuštěn ifup -a. Pokud se podíváte na man ifup , můžete vidět, že tento příkaz čte konfiguraci ze souboru /etc/network/interfaces a podle klíče -A spustí všechna rozhraní, která mají tento parametr auto.

Příkazy ifup a ifdown lze použít ke konfiguraci (resp. dekonfiguraci) síťových rozhraní na základě definic rozhraní v souboru /etc/network/interfaces.

-a, --všechny
Pokud je zadáno ifup, ovlivní všechna rozhraní označená auto. Rozhraní jsou vyvolána v pořadí, v jakém jsou definována v /etc/network/interfaces. Pokud je zadáno ifdown, ovlivní všechna definovaná rozhraní. Rozhraní jsou stažena v pořadí, v jakém jsou aktuálně uvedena v souboru stavu. Budou odstraněna pouze rozhraní definovaná v /etc/network/interfaces.

ip-server:~# cat /etc/network/interfaces # Tento soubor popisuje síťová rozhraní dostupná na vašem systému # a jak je aktivovat. Pro více informací viz interfaces(5). # Rozhraní síťového rozhraní Loopback Auto IFACE LO INET LOOPBACK # Primární síťové rozhraní Povolit hotplug Eth0 IFACE ETH0 INET DHCP Povolit hotplug Eth2 IFACE ETH2 INET Static Adresa 192.168.1.1 Netmask 255.255.255.0 Brána 192.168.1.254

V této konfiguraci jsou řádky allow-hotplug A auto- toto jsou synonyma a rozhraní budou aktivována na příkaz ifup -a. To je ve skutečnosti celý řetězec provozu síťového subsystému. Podobně v jiných distribucích: v RedHat a SUSE je síť spuštěna skriptem /etc/init.d/network. Po jeho prozkoumání můžete podobně zjistit, kde leží konfigurace sítě.

/etc/hosts

Tento soubor ukládá seznam IP adresy A jim odpovídající názvy hostitelů (adresy).Formát souboru se neliší od hlavního souboru:

Ip-server:~# cat /etc/hosts # ip host.in.domain host 127.0.0.1 localhost 127.0.1.1 ip-server.domain.local ip-server 192.168.1.1 ip-server.domain.local ip-server

Historicky byl tento soubor používán místo služby DNS. V současné době lze soubor použít také místo služby DNS, ale pouze za podmínky, že počet strojů ve vaší síti se měří v jednotkách, nikoli v desítkách nebo stovkách, protože v tomto případě budete muset sledovat správnost tohoto souboru na každém počítači.

/etc/hostname

Tento soubor obsahuje Název hostitele NetBIOS:

IP-server:~# cat /etc/hostname IP-server

Tento soubor ukládá názvy a adresy místních a jiných sítí. Příklad:

IP-server:~# cat /etc/networks výchozí 0.0.0.0 zpětná smyčka 127.0.0.0 link-local 169.254.0.0 domácí síť 192.168.1.0

Při použití tohoto souboru lze sítě spravovat podle názvu. Například nepřidávejte trasu přidat trasu 192.168.1.12 , A přidat trasu.

/etc/nsswitch.conf

Soubor definuje pořadí vyhledávání názvu hostitele/network, za toto nastavení jsou zodpovědné následující řádky:

Pro hostitele: hostitelé: soubory DNS Pro sítě: sítě: soubory

Parametr soubory určuje použití zadaných souborů (/etc/hosts A /etc/networks respektive), parametr dns určuje použití služby dns.

/etc/host.conf

Soubor určuje parametry rozlišení názvů pro resolver

IP-server:~# cat /etc/host.conf multi on

Tento soubor říká knihovně resolv, aby vrátila všechny platné adresy hostitelů, které se objevují v souboru /etc/hosts, a ne pouze tu první.

/etc/resolv.conf

Tento soubor definuje parametry mechanismu pro převod síťových jmen na IP adresy. zjednodušeně řečeno, definuje nastavení DNS. Příklad:

IP-server:~# cat /etc/resolv.conf jmenný server 10.0.0.4 jmenný server 10.0.0.1 hledat doménu.místní

První 2 řádky označují servery DNS. Třetí řádek určuje vyhledávací domény. Pokud při překladu názvu název není názvem FQDN, bude tato doména nahrazena jako „konec“. Například při provádění příkazu ping host se pingovaná adresa převede na host.domain.local. Zbývající parametry si můžete přečíst v man resolv.conf. Velmi často Linux používá dynamické generování tohoto souboru, pomocí tzv. programy /sbin/resolvconf. Tento program je prostředníkem mezi službami, které dynamicky poskytují jmenné servery (např DHCP klient) a služby, které používají data jmenného serveru. Chcete-li použít dynamicky generovaný soubor /etc/resolv.conf, musíte z tohoto souboru vytvořit symbolický odkaz /etc/resolvconf/run/resolv.conf. V některých distribucích může být cesta odlišná; to bude určitě zapsáno muž resolveconf.

Konfigurace sítě

Po kontrole hlavních konfiguračních souborů se můžete podívat na . Příkaz již byl zmíněn výše ifup, ifdown, ale tyto nástroje nejsou zcela univerzální, například distribuce RH tyto příkazy standardně nemají. Nové distribuce navíc zavedly nový nástroj pro správu sítě na vysoké úrovni – který patří do balíčku iproute. Věnuji mu ho (balíček iproute). A v aktuálním příspěvku to nebudu zvažovat. Níže popsané příkazy patří do .

Abyste si byli jisti, že příkaz funguje na jakékoli distribuci Linuxu, musíte použít dva hlavní staré příkazy. Toto a arp. První tým (zodpovědný za nastavení síťových rozhraní(ip, maska, brána), druhý () - nastavení směrování, třetí (arp) - správa tabulek arp. Chtěl bych poznamenat, že provádění těchto příkazů bez vypnutí standardního spouštěcího skriptu SystemV síťového subsystému provede změny pouze do prvního restartu/restartu síťové služby, protože když se nad tím zamyslíte, můžete tomu scénáři porozumět /etc/init.d/networking při příštím spuštění znovu přečte výše uvedené konfigurace a použije staré nastavení. V souladu s tím je východiskem pro trvalé nastavení nastavení buď zadání příkazu ifconfig s příslušnými parametry v , nebo ruční oprava odpovídajících konfigurací síťových rozhraní.

Také, pokud je příkaz vykonán ifconfig s chybějícími parametry(například pouze adresa IP), zbytek se přidá automaticky (například adresa vysílání je ve výchozím nastavení přidána s adresou hostitele končící na 255 a výchozí maska ​​podsítě je 255.255.255.0).

Směrování pro existující rozhraní v moderních jádrech je vždy automaticky vyvoláno jádrem. Nebo spíše přímé cesty do sítě podle nastavení IP a podsíť, do které se vyvýšené rozhraní dívá, tvoří automaticky jádro. Pole brány pro takové položky udává adresu výstupního rozhraní nebo *. Ve starších verzích jádra (nemohu vám sdělit číslo jádra, ze kterého trasy začaly automaticky vycházet) bylo nutné přidat trasu ručně.

Pokud je potřeba si uspořádat trasy, pak musíte použít . Pomocí tohoto příkazu můžete přidávat a odebírat cesty, ale opět to pomůže pouze do doby, než restartujete /etc/init.d/networking (nebo jiný skript zodpovědný za síť ve vaší distribuci). Aby se trasy přidávaly automaticky, musíte stejným způsobem jako u příkazu ifconfig přidat příkazy pro přidávání cest do rc.local nebo ručně opravit odpovídající konfigurace síťového rozhraní (například v Deb - /etc/network/options).

Podle jakých pravidel se tvoří cesty k sítím, Jdu do toho

Diagnostika sítě Linux

V Linuxu existuje velké množství nástrojů pro diagnostiku sítě, často velmi podobných utilitám od Microsoftu. Podívám se na 3 hlavní nástroje pro diagnostiku sítě, bez kterých bude obtížné identifikovat problémy.

Myslím, že tento nástroj zná téměř každý. Tato utilita funguje podle odesílání tzv ICMP pakety vzdálenému serveru, který bude uveden v parametrech příkazu, server vrátí odeslané příkazy a pingpočítá čas potřebné k tomu, aby se odeslaný paket dostal na server a vrátil se. Například:

# ping ya.ru PING ya.ru (87 250 251.3) 56 (84) bajtů dat. 64 bajtů z www.yandex.ru (87 250 251.3): icmp_seq=1 ttl=57 čas=42,7 ms 64 bajtů z www.yandex.ru (87 250 251.3): icmp_seq=2 ttl=57 čas=43,2 bytesms 64,2 bajtů z www.yandex.ru (87 250 251.3): icmp_seq=3 ttl=57 čas=42,5 ms 64 bajtů z www.yandex.ru (87 250 251.3): icmp_seq=4 ttl=57 čas=42,5 ms z www 64 bajtů .yandex.ru (87.250.251.3): icmp_seq=5 ttl=57 čas=41,9 ms ^C --- statistika ping ya.ru --- 5 odeslaných paketů, 5 přijatých, 0 % ztráta paketů, čas 4012 ms rtt min/ prům/max/mdev = 41,922/42,588/43,255/0,500 ms

Jak je vidět z výše uvedeného příkladu, ping nám poskytuje spoustu užitečných informací. Nejdříve, to jsme zjistili můžeme navázat spojení s hostitelem ya.ru(někdy říkají, že „hostitel ya.ru je nám k dispozici“). Za druhé, to vidíme DNS funguje správně, protože „pingovaný“ název byl správně převeden na IP adresu (PING ya.ru (87.250.251.3)). Dále, v terénu icmp_seq= je uvedeno číslování odeslaných paketů. Každému odeslanému paketu je postupně přiřazeno číslo, a pokud v tomto číslování dojde k „propadům“, bude to znamenat, že spojení s „pingem“ je nestabilní a může to také znamenat, že server, na který jsou pakety odesílány, je přetížen. . Podle hodnoty čas = vidíme, jak dlouho balíček cestoval na 87.250.251.3 a zpět. Nástroj ping můžete zastavit stisknutím Ctrl+C.

Taky, nástroj ping Je to zajímavé, protože vám umožní přesně vidět, kde se problémy vyskytly. Řekněme nástroj ping zobrazí zprávu síť není dosažitelná (síť není dostupná), nebo jinou podobnou zprávu. To s největší pravděpodobností znamená, že váš systém je nakonfigurován nesprávně. V tomto případě můžete odeslat pakety na IP adresu poskytovatele, abyste pochopili, kde se problém vyskytuje (mezi místním počítačem nebo „dále“). Pokud jste připojeni k internetu přes router, můžete odesílat pakety přes jeho IP. Pokud se tedy problém objeví již v této fázi, znamená to nesprávnou konfiguraci místního systému nebo poškození kabelu; pokud je router odvolán, ale server poskytovatele nikoli, pak je problém v komunikačním kanálu poskytovatele atd. . Nakonec, pokud se převod jména na IP nezdaří, můžete zkontrolovat připojení IP; pokud odpovědi přijdou správně, můžete hádat, že problém je v DNS.

Je třeba poznamenat, že tento nástroj není vždy spolehlivým diagnostickým nástrojem. Vzdálený server může blokovat odpovědi na požadavky ICMP.

traceroute

Jednoduše řečeno, příkaz se nazývá trasování trasy. Jak název napovídá, tento nástroj ukáže, jakou cestou se pakety dostaly k hostiteli. nástroj traceroute poněkud podobný ping, ale zobrazuje zajímavější informace. Příklad:

# traceroute ya.ru traceroute to ya.ru (213.180.204.3), max. 30 skoků, 60bajtové pakety 1 243-083-free.kubtelecom.ru (213.132.83.243) 6.408 ms 6 ms 6 605 ms 6.305 zdarma .kubtelecom.ru (213.132.64.65) 2.761 ms 5.787 ms 5.777 ms 3 lgw.kubtelecom.ru (213.132.75.54) 5.713 ms-Tgdns.com 5.701 ms 5.663 ms 5.663 ms 5.677 ms čistá (1 94,186,6,177) 81,430 ms 81,581 ms 81,687 ms 5 cat26.Moscow.gldn.net (194.186.10.118) 47.789 ms 47.888 ms 48.011 ms 6 233.313 231.201.23.011 ms s 41,783 ms 41, 106 ms 7 karmínově-červená-vlan602.yandex.net (87.250. 242.206) 41.199 ms 42.578 ms 42.610 ms 8 www.yandex.ru (213.180.204.3) 43.185 ms 42.126 ms 42.679

Jak můžete vidět, můžete sledovat trasu od poskytovatele routeru 243-083-free.kubtelecom.ru (213.132.83.243) (jižní Rusko) ke koncovému hostiteli na www.yandex.ru (213.180.204.3) v Moskvě .

kopat

Tento nástroj odesílá dotazy na servery DNS a vrací informace o zadané doméně. Příklad:

# dig @ns.kuban.ru roboti.ru ;<<>> DiG 9.3.6-P1<<>> @ns.kuban.ru roboti.ru ; (nalezen 1 server) ;; globální možnosti: printcmd ;; Dostal odpověď: ;; ->>HLAVIČKA<<- opcode: QUERY, status: NOERROR, id: 64412 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;roboti.ru. IN A ;; ANSWER SECTION: roboti.ru. 448 IN A 72.52.4.90 ;; AUTHORITY SECTION: roboti.ru. 345448 IN NS ns1.sedoparking.com. roboti.ru. 345448 IN NS ns2.sedoparking.com. ;; Query time: 102 msec ;; SERVER: 62.183.1.244#53(62.183.1.244) ;; WHEN: Thu Feb 17 19:44:59 2011 ;; MSG SIZE rcvd: 94

příkaz dig poslal žádost DNS server - ns.kuban.ru (@ns.kuban.ru- tento parametr není nutné uvádět, v tomto případě bude zdrojem informací o DNS server z nastavení vašeho systému) o názvu domény roboti.ru. V důsledku toho jsem obdržel odpověď, kterou můžeme vidět v sekci SEKCE ODPOVĚDI informace o IP adresách domény, v sekci SEKCE ORGÁNY informace o tzv autoritativní servery DNS. Třetí řádek odspodu nám říká, který server poskytl odpověď.

Další diagnostické nástroje

ping, dig a další diagnostické utility s parametry najdete v příspěvku.

Připojení nové síťové karty

Připojení a spuštění nové síťové karty se skládá z několika kroků:

1. Fyzické připojení karty

3. Prohlédněte si výstup, zda systém detekoval novou síťovou kartu:

Podívejme se na závěr PŘED připojením nové karty:

Server:~# dmesg | grep eth [ 4.720550] e1000: eth0: e1000_probe: Intel(R) PRO/1000 Síťové připojení [ 5.130191] e1000: eth1: e1000_probe: Intel(R) PRO/1050 Síťové připojení: 0250 1250 00_watchdog: NIC Link je Až 1000 Mbps Full Duplex, Řízení toku: RX [ 15.681056] e1000: eth0: e1000_watchdog: NIC Link je až 1000 Mbps Full Duplex, Řízení toku: RX

Výstup ukazuje, že systém má 2 síťové karty eth1 a eth2. Připojíme třetí a podíváme se na výstup:

Server:~# dmesg | grep eth [ 4.720513] e1000: eth0: e1000_probe: Intel(R) PRO/1000 Síťové připojení [ 5.132029] e1000: eth1: e1000_probe: Intel(R) PRO/1005 1000 Síťové připojení [0e] 1005 164 0_probe: Intel(R ) Síťové připojení Pro/1000 [39.274875] udev: Přejmenované síťové rozhraní Eth2 na Eth3 [39.287661] UDEV: Přejmenované síťové rozhraní IntH1_RENAME_REN TO ETH2 [45.670744] ETH2 [45.670704: ETH01 Up ETH:02 Link Is01 ETH01 00 MBPS Full Duplex, Flow Ovládání: RX [ 46.237232] e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX [ 96.977468] e1000: eth3: e1000_Flow Control: Full Duplex Mb0:Fb10 Control: Full

V dmesg vidíme, že se objevila nová síť - eth3, což je ve skutečnosti eth2, ale přejmenované správcem zařízení udev na eth3 a eth2 je ve skutečnosti přejmenované eth1 (o udev si povíme v samostatném příspěvku). Vzhled naší nové sítě v dmesg nám říká, že síťová karta podporováno jádro a správné rozhodl. Zbývá pouze nastavit nové rozhraní v /etc/network/interfaces(Debian), protože tato mapa nebyla inicializována spouštěcím skriptem /etc/init.d/network. ifconfig vidí tuto mapu:

Server:~# ifconfig eth3 eth3 Link encap:Ethernet HWaddr 08:00:27:5f:34:ad inet6 addr: fe80::a00:27ff:fe5f:34ad/64 Rozsah:Link UP VYSÍLÁNÍ RUNNING MULTICAST Metric MTU:1500 1 RX pakety:311847 chyby:0 zahozené:0 přetečení:0 rámec:0 TX pakety:126 chyb:0 zahozené:0 přetečení:0 dopravce:0 kolize:0 txqueuelen:1000 RX bajtů:104670651 (99,8 MiB) TX bajtů: 16184 (15,8 kB)

ale opět - nekonfiguruje se. Jak nakonfigurovat síťovou kartu bylo diskutováno výše.

souhrn

Myslím, že to je pro dnešek vše. Když jsem začal psát tento článek, myslel jsem si, že se vejdu do jednoho příspěvku, ale ukázalo se, že je to obrovské. Proto bylo rozhodnuto článek rozdělit na dva. Celkově jsem se pokusil prezentovat nikoli postupný postup nastavení sítě, ale nastínit princip a vysvětlit pochopení toho, jak síť v Linuxu startuje a funguje. Opravdu doufám, že se mi to povedlo. Budu rád za vaše komentáře a doplnění. Časem článek doplním.

Jak upravit a spravovat soubor Hosts v Linuxu Málo známou funkci zvanou soubor hostitelů lze použít k úpravě systému podle vašich potřeb. Ať už potřebujete vytvořit zástupce, blokovat webové stránky nebo cokoli jiného, ​​vše můžete udělat pomocí souboru hosts. Jak v něm ale provedete změny? Zde vám řekneme, jak na to, a uvedeme několik příkladů použití, abyste mohli soubor ihned začít používat. Co je soubor hosts? Jednoduše řečeno, soubor hosts je jednoduchý textový soubor, který se používá v jakémkoli operačním systému pro překlad názvů hostitelů na IP adresy. Když napíšete název hostitele - např. facebook.com nebo myubuntu.ru- váš systém zkontroluje soubor hostitelů, aby získal IP adresu, která je nutná pro připojení k příslušnému serveru. Pokud ale tento soubor otevřete na svém počítači, rychle zjistíte, že neobsahuje 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 zde není nastaveno, bude nalezeno na serverech DNS nakonfigurovaných v nastavení sítě (obvykle na serverech vašeho ISP). To však také znamená, že můžete použít soubor Hosts k přidání adres do 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 byly dostupné pouze v případě, že máte nainstalovaný a nakonfigurovaný vlastní server DNS), nebo k obcházení adres IP poskytnutých vaším výchozí servery DNS. Například pokud požádáte prohlížeč o otevření facebook.com, DNS servery vrátí IP adresu Facebooku do vašeho počítače. Pokud však najednou chcete zablokovat Facebook na svém počítači, můžete do souboru hosts přidat záznam, který bude vašemu počítači indikovat, ž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 Facebooku. Chcete-li tuto sociální síť zablokovat, můžete jednoduše zaregistrovat žádosti o překlad 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 dělat spoustu věcí a toto je jen velmi jednoduchý příklad – vše záleží na vašich přáních a potřebách Jak upravit soubor hosts V operačních systémech Linux můžete soubor hosts najít v /etc/ hostitelé. Protože se jedná o běžný textový soubor, můžete použít pouze běžný textový editor (ať už terminálový nebo grafický). Bohužel existuje pouze jeden grafický nástroj, který poskytuje částečnou správu souborů hostitelů – aplikace Domain Blocker od Linux Mint. Tento program funguje tak, že do vašeho souboru hosts přidá položky, které přesměrují vámi určené domény na 127.0.0.1- tedy na vašem počítači. To je vše, co můžete s blokováním domén dělat – všechna ostatní použití souboru hosts vyžadují ruční úpravu souboru pomocí textového editoru. Protože hosts je systémový soubor, budete k uložení změn do tohoto souboru 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. Abyste mohli takto spustit požadovanou aplikaci s administrátorskými právy, musíte použít terminál. Nano nebo gedit můžete také nahradit příkazem pro spuštění vašeho oblíbeného textového editoru. Po dokončení úprav souboru v nano můžete stisknutím Ctrl+X a poté y potvrdit přepsání změn. Jak rozumíte formátu obsahu souboru hosts? V souboru hosts je každá položka samostatná čára. Pro účely tohoto článku můžete použít velmi jednoduchou syntaxi – zadáte IP adresu, na kterou chcete přeposlat název hostitele (doménu), dále znak tabulátoru a samotnou doménu. Chcete-li například zablokovat Facebook, můžete zadat 127.0.0.1facebook.com, kde je stisknutí klávesy Tab na klávesnici. Abyste se ujistili, že je zadání správné, můžete se také podívat na snímek obrazovky a porovnat jej s tím, co je ve vašem souboru. Uveďme další příklad použití této funkce. Například pokud máte počítač ve své domácí síti (řekněme jeho IP adresu 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. Pokud nyní otevřete prohlížeč a jednoduše napíšete http://homeserver do adresního řádku, automaticky vám zobrazí obsah hostitele 192.168.1.10. Je to mnohem jednodušší než pokaždé zadávat IP adresu Možné problémy Jediný problém, na který jsem narazil, je s prohlížečem Chrome. Má tendenci ignorovat soubor hosts, pokud neuděláte alespoň jednu ze dvou možných věcí: před každou adresu zadáte http://. Pokud máte například Facebook zablokovaný prostřednictvím souboru hosts, Chrome blokování obejde, pokud jednoduše vstoupíte