Linux hosts fájl. Linux hosts fájl. Egyéb diagnosztikai segédprogramok

  • Időpontja: 14.05.2021

Fájl otthont ad-ra használják helyi telepítés az IP-cím és a tartomány közötti megfelelés. A benne található információk legfontosabbés csak azon a számítógépen belül kerül terjesztésre, amelyen ezt a fájlt módosították.

Videó a hosts fájl használatáról

Hol található a hosts fájl?

megtalálja host fájl a rendszerben nem lesz nehéz.

Amikor adott fájl a következő könyvtárban található:

/etc/hosts

Windows esetén:

C:/Windows/System32/Drivers/etc/hosts

A fájl helyének elérési útja otthont ad módosítható a registry-ben, amely szerkesztőn keresztül érhető el regedit. A következő módokon indíthatja el:

1) Rajt -> Fuss -> regedit -> rendben;

2) ablakok + R -> regedit -> rendben.

A minket érdeklő nyilvántartási bejegyzés a következő helyen található:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\DataBasePath

  • A paraméter megnyitása DataBasePathés a terepen Jelentéseúj útra mutat.

Hogyan nézzen ki a hosts fájl?

Alapértelmezés szerint tiszta rendszeren a hosts fájlban nincsenek megadva értékek, csak a megjegyzésekkel ellátott sorok jelennek meg (a szimbólummal kezdve # ”) a fájl leírásával.

Néhány szoftver saját módosításokat hajthat végre a hosts fájlban, például annak meghatározására, hogy melyik szerverről kell letölteni a frissítéseket.

Hogyan lehet megváltoztatni a hosts fájlt?

  • Nyitunk otthont ad a rendszerben elérhető bármely szövegszerkesztőben. Windows esetén egy szabványos "Notepad" vagy "Wordpad" megfelelő.
  • Lemegyünk a fájl végére, és a következő sorrendben írjuk be az értékeket:
IP-cím domain név
  • A módosítások elvégzése után mentse el a fájlt.
  • Az alábbiakban egy domain specifikáció példája látható yourdomain.tld IP-címek 127.0.0.1 .

Jelölje be végrehajtott változtatások a funkcionalitás érdekében megadhatja a megadott domaint a böngészőben, vagy pingelve parancs sor.

Hogyan lehet menteni a hosts fájlt?

Néha olyan helyzet adódik, hogy a hosts fájl nem kerül mentésre, és az összes végrehajtott módosítás nem működik. Ez több esetben fordul elő:

  1. Megjelenik az „Engedély megtagadva” hibaüzenet (vagy az angol verzió – nincs engedélye). Ellenőriznie kell, hogy szuperfelhasználói (rendszergazdai) jogokkal nyitja-e meg a fájlt. Azért, mert rendszerfájl, azt a rendszergazdai jogokkal nem rendelkező felhasználók nem módosíthatják.
  2. A fájl rossz formátumban van mentve, például hosts.txt. Először is ellenőrizni kell, hogy lehet-e megadni egy szövegszerkesztőben, hogy a fájl kiterjesztés nélkül kerüljön mentésre. Ha nem, akkor engedélyeznie kell a fájlkiterjesztések megjelenítését a rendszerbeállításokban, mentenie kell a fájlt .txt formátumban, majd a régi hosts fájl törlése után módosítania kell a nevét.

Hogyan lehet kommentálni egy sort a hostokban?

Egy sor megjegyzéséhez használja a " szimbólumot # ”, amely az elején van beállítva, és így az ebben a sorban lévő bejegyzés művelete befejeződik. Ez a módszer akkor hasznos, ha később szükség lehet egy rekordra, vagy ha leíró szöveget kell hozzáadnia. Továbbá megjegyzést nem a sor elejére lehet beszúrni, hanem például az IP és a tartomány bejegyzése után.

(CentOS) és Windows gépeken. Linux fájl az IP-cím után két füllel rendelkezik (localhost.localdomain localhost), míg Windowson csak egy. Ha a Windows hosts fájlt a localhost helyett gépnévvel (etest) szeretném szerkeszteni, egyszerűen lecserélem a localhost szót a kívánt gépnévre. A gépnek nem kell egy tartomány részének lennie.

Linuxos gépen a localhost.localdomain és localhost két bejegyzés azt jelzi, hogy szükségem lesz a gépre, hogy egy tartomány része legyen. Ez igaz?

Csak szerkeszthetem mindkét bejegyzést az etestben, hogy így szóljon:

127.0.0.1 eteszt etest

vagy kötelező egy bejegyzést domain névre cserélnem?

Kérem, tudassa velem, hogy az /etc/hosts fájl második sora mire való Linux gépen.

::1 localhost6.localdomain6 localhost6

hosts fájl Linux gépen:

# Ne távolítsa el a következő sort, mert a különböző # hálózati funkciókat igénylő programok meghiúsulnak. 127.0.0.1 localhost.localdomain localhost::1 localhost6.localdomain6 localhost6

hosts fájl bekapcsolva Windows gép:

# Szerzői jog (c) 1993-1999 Microsoft Corp. # # Ez egy minta HOSTS fájl, amelyet a Microsoft TCP/IP for Windows használ. # # Ez a fájl tartalmazza az IP-címek hosztnevekhez való hozzárendelését. Minden # bejegyzést külön sorban kell tartani. Az IP-címet # az első oszlopban kell elhelyezni, majd a megfelelő hosztnévvel. # Az IP-címet és a gazdagép nevét legalább egy # szóközzel el kell választani. # # Ezenkívül megjegyzések (például ezek) beszúrhatók az egyes # sorokba vagy a gépnév után, amelyet egy "#" szimbólum jelöl. # # Például: # # 102.54.94.97 rhino.acme.com # forrásszerver # 38.25.63.10 x.acme.com # x kliens gazdagép 127.0.0.1 localhost

3 A megoldások internetes űrlapokat gyűjtenek a „Linux /etc/hosts formátumhoz (a Windowstól eltérő?)”

Mindig azt szeretné, hogy a 127.0.0.1 cím először localhost legyen. Ha van domain, akkor azt is használhatja, de akkor győződjön meg arról, hogy a localhost a második helyen szerepel. Ha olyan álneveket szeretne hozzáadni a számítógépéhez, amelyek megkeresik a visszatérési címet, továbbra is hozzáadhatja azokat szóközzel elválasztott értékként ebben a sorban. A domain megadása itt nem kötelező, de ne távolítsa el a „localhost” kifejezést a lehetőségek közül.

Az /etc/hosts formátum ugyanaz Linuxon és Windowson:

IP-cím gazdagépnév...

ahol a zárójelek a szokásos módon jelzik, hogy valami nem kötelező (valójában ne írja be őket), a pontok (...) pedig azt jelentik, hogy egynél több is lehet.

Nem kell létrehoznia a tartomány gazdagép részét. Próbáld ki és nézd meg. De jó lenne .localdomain-t használni, ha nincs valódi domain neve. Egy kicsit gyorsabbá teheti a gazdagépnév feloldását az ndots /etc/resolv.conf ndots opciója miatt.

Vegye figyelembe, hogy ebben az értelemben a tartomány DNS-tartományt jelent (például google.com vagy stackexchange.com), és nem Windows-tartományt vagy valami ehhez hasonló stackexchange.com-ot.

Egy::1-gyel kezdődő karakterlánc IPv6 esetén. ::1, mint 127.0.0.1 az új címzési séma szerint. Futtassa az ifconfig lo-t, és látni fogja, hogy két címe van. Figyeljük meg az inet6-tal kezdődő bejegyzést.

$ ifconfig lo lo Link encap:Local Loopback inet cím:127.0.0.1 Maszk:255.0.0.0 inet6 cím: ::1/128 Hatókör:Host ...

További információkért lásd a kézikönyv oldalát (5).

Arról nem tudok beszélni, hogy a Windows miben különbözik a Linuxtól, de a helyi gépdefiníció formátuma befolyásolja a "hostname" paranccsal kapott eredményeket.

Az általam talált formátum működik a legkövetkezetesebben:

127.0.0.1 etest.mydomain.com etest localhost

A legfontosabb dolog, amit találtam, hogy az FQDN és az álnevek bármilyen sorrendben legyenek utána.

Ha kísérletezik a nevek átszervezésével az IP-cím után, majd a "hostname -s" (rövid név) és a "hostname -f" (teljes tartománynév vagy FQDN) parancsok használatával, látni fogja, mire gondolok. Valahogy így kell kinéznie:

$ hostname -s etest $ hostname -f eszt.sajatdomain.com

A "hostname"-nek önmagában azt a nevet kell visszaadnia, amelyet a gazdagépnek megadott az /etc/conf.d/hostname vagy /etc/hostname fájlban (a fájl helye terjesztéstől függően változik, de valahol az /etc-ben kell lennie).

Ha megváltoztatja a nevek sorrendjét, előfordulhat, hogy a "hostname -f" olyan válaszokat ad, mint a "localhost" vagy a "hostname: system error". Az egyetlen konvenció, amelyet úgy találtam, hogy megfelelően működik, az az, hogy először az FQDN-t kell megadni.

A helyi IPv6 címsort (::1) mindig a következőképpen állítom be:

::1 etest.mydomain.com etest localhost

Tudom, hogy egyes disztribúciók az IPv6 nevet olyasmire állítják, mint az ip6-localhost. Még nem használok IPv6-ot, így nem tudok nyilatkozni arról, hogy mi az legjobb beállításokat ehhez a vonalhoz. Csak azt tudom mondani, hogy IPv4 hálózaton úgy működik, hogy mindkét karakterlánc ugyanazzal a névvel rendelkezik.

Egy kissé nem szabványos módról szeretnék beszélni, amellyel webhelyeket nyithat meg a böngészőben rövid nevek használatával. Például a „yandex.ru” böngészőbe való beírása helyett egyszerűen beírhat egy „y” betűt. Az /etc/hosts fájl segít ebben.

FÁJL /etc/hosts

Az /etc/hosts fájl megadja az IP-cím és a gazdagépnév (gazdanév, tartomány) közötti megfelelést, valamint azok álneveit (más néven szinonimákat, álneveket). Amikor elér egy címet a hálózaton, például a http://yandex.ru, akkor a webhely eléréséhez a rendszernek először át kell alakítania a webhely címét a megfelelő IP-címre, ehhez a rendszer kéri az IP-címet. címtől DNS szerverek. Ha van egyezés a yandex.ru és az /etc/hosts fájl IP-címe között, akkor a rendszer ezt az IP-címet fogja használni. És mivel az /etc/hosts fájlban megadhatunk egy álnevet is, amellyel egy adott IP-cím elérhető lesz, megadhatjuk például az "y" álnevet a yandex.ru számára. Ennek megfelelően, amikor az "y"-t kéri a böngészőjében, a rendszer beolvassa az /etc/hosts fájl IP-címét, és megnyitja a yandex.ru webhelyet. Ez az /etc/hosts, ez egyfajta helyi DNS szerver.

Hogyan lehet megtalálni egy webhely IP-címét

Most meg kell határoznunk azoknak a webhelyeknek az IP-címét, amelyeket hozzá szeretnénk adni az /etc/hosts fájlhoz. Érdemes megjegyezni, hogy nem minden webhely rendelkezik külön dedikált IP-címmel, és lehetetlen csak IP-cím alapján elérni őket. De szinte minden nagyobb webhelynek és portálnak van saját dedikált IP-címe. Egy webhely IP-címének egyszerű kiderítése a ping parancs használata:

Ping site-address.ru

Például tegyük:

ping yandex.ru

A ping folyamat megjelenik a képernyőn (a megszakításához nyomja le a Ctrl+C billentyűkombinációt). Tehát a ping parancs kimenetét így kapjuk meg:

PING yandex.ru (87.250.250.11) 56 (84) bájtnyi adat. 64 bájt a yandex.ru webhelyről (87.250.250.11): icmp_seq=1 ttl=57 time=3.57 ms ...

Itt láthatja, hogy a yandex.ru a 87.250.250.11 IP-címnek felel meg. Hasonlóan teljesítünk más oldalakon is.

Az /etc/hosts fájl szerkesztése

Az /etc/hosts fájl szerkesztését óvatosan kell végezni, hogy ne rontson el semmit, mivel ez egy rendszerfájl, és fontos, hogy ne sértse meg a szintaxisát. Nyissa meg a fájlt szerkesztésre, ehhez futtassa a parancssorban:

sudo gedit /etc/hosts

A fájl tartalma valahogy így néz ki:

127.0.0.1 localhost::1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # A következő sorok kívánatosak az IPv6-képes gazdagépeknél::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ...

Az /etc/hosts fájl szintaxisa nagyon egyszerű:

IP-cím gazdagépnév [álnevek, ...]

Adjunk hozzá új sorokat a fájlhoz a különböző webhelyekhez:

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

Mentse és zárja be a fájlt. Regisztráltunk egyezést az IP-címek, webhelynevek és álneveik között. Most lépjen a böngészőbe, és a címsorba írja be a „g” szót, a google.ru webhelynek meg kell nyílnia. A mail.ru megnyitásához egyszerűen írja be az "m" értéket, az rbc.ru esetében csak az "r", a yandex.ru - az "y".

A DNS tartománynévrendszer segítségével megállapítható, hogy melyik IP tartozik a megfelelő tartományhoz az interneten. Ha egy programnak a tartománynévvel kell elérnie egy webhelyet, operációs rendszer kérést küld a DNS-kiszolgálónak, hogy megtudja, melyik IP-címre küldjön csomagokat legközelebb. De ez nem mindig van így. Például amikor elérjük a localhost tartományt, a kérést mindig a mi címünkre küldjük el helyi számítógép.

Minden a hosts fájlról szól. Ha korábban használta a Windows rendszert, valószínűleg hallott már erről a fájlról. Ott leggyakrabban egy erőforráshoz való hozzáférés gyors blokkolására használták. De alkalmazása sokkal szélesebb. Ebben a cikkben megvizsgáljuk, hogyan kell beállítani a hosts fájlt Linuxban, valamint azt, hogy milyen funkciókat biztosít számunkra.

Domainnév feloldása Linuxban

Mielőtt magához a hosts fájlhoz nyúlnánk, meg kell értenünk, hogy a Linux hogyan keres egy tartománynév IP-címét. Mondtam, hogy az operációs rendszer azonnal kérést küld a DNS-kiszolgálónak, de ez nem teljesen igaz. Van egy meghatározott keresési sorrend, amelyben végrehajtja. Ez a sorrend az /etc/nsswitch.conf konfigurációs fájlban van beállítva

cat /etc/nsswitch.conf

Itt a hosts vonalra vagyunk kíváncsiak. Felsorolja prioritási sorrendben azokat a szolgáltatásokat, amelyek egy tartománynév IP-címének megkeresésére szolgálnak. A fájlok elem az /etc/hosts fájl, a dns pedig az internetes tartománynév szolgáltatás használatát jelenti. Ha a fájlok a gazdagépek előtt találhatók, ez azt jelenti, hogy a rendszer először megpróbálja megtalálni a tartományt az /etc/hosts mappában, és csak azután a DNS-ben. Ez alapértelmezés szerint így van.

Linux hosts fájl beállítás

A szükséges fájl az /etc/ könyvtárban található. Megnyitásához bármelyiket használhatja szöveg szerkesztő mind a parancssorban, mind a GUI, csak szuperfelhasználói jogokkal kell megnyitnod. Például a vim használatával:

sudo vi /etc/hosts

sudo gedit /etc/hosts

A fájl szintaxisa meglehetősen egyszerű. Több sort tartalmaz domain nevekés a hozzájuk használandó IP-címeket. Mindegyik így néz ki:

ip_address domain álnév

Általában az első sor létrehoz egy szabályt, amely a localhost tartományba irányuló összes kérést átirányítja a helyi IP-címre - 127.0.0.1:

127.0.0.1 localhost

Ez a fájl alapértelmezés szerint átirányításokat is tartalmaz a számítógép nevéhez és az IPv6-címekhez. Bármelyik kívánt domainhez létrehozhatja saját beállításait. Ehhez adjon hozzá egy sort a fájl végéhez. Például küldjük el az összes kérést a losst.ru tartományba az ip 127.0.0.1 címre:

127.0.0.1 losst.ru

Felhívjuk figyelmét, hogy itt csak a domain van feltüntetve, protokoll nélkül. Nem kell megadnia a http vagy https előtagot, különben semmi sem fog működni. De a www aldomainhez külön bejegyzést kell létrehozni, vagy aliasként kell beírni. Például:

127.0.0.1 losst.ru www.losst.ru

Most, amikor a losst.ru domaint kéri, megnyílik a helyi IP-címünk. Az eredeti erőforráshoz való hozzáférés visszaállításához egyszerűen távolítsa el a hozzáadott sort. De nem csak a helyi címet használhatja, hanem bármely mást is. Ez nagyon kényelmes, ha nemrég regisztrált egy domaint, és a domain zóna még nem frissült, de már szeretne dolgozni egy új webhelyen. Csak adja hozzá az adatokat az /etc/hosts fájlhoz, és működjön a szokásos módon.

következtetéseket

Ebben a rövid cikkben azt elemeztük, hogyan konfigurálható a DNS a Linux hosts fájlon keresztül. Mint látható, segítségével blokkolhatja például a nem kívánt forrásokhoz való hozzáférést, amelyekhez a programok ne férhessenek hozzá, és a webmester munkájában is felhasználhatja.

Szerző Shekin Olvasás 6 perc Feladás dátuma: 2015. július 21

Egy kevéssé ismert funkció, a „ a hosts fájlt” segítségével módosíthatja a rendszert az Ön igényei szerint. Akár rövidítéseket kell létrehoznia a webhelyek blokkolásához, akár valami mást, mindezt megteheti a otthont ad fájlt.
De hogyan tudok változtatni rajta? Itt elmondjuk, hogyan, és néhány példát mutatunk be, így elkezdheti használni a fájltépp most.

Mi az a hosts fájl?
Ha egyszerű nyelven beszélünk, akkor a hosts fájl egy egyszerű szöveges fájl, amely bármelyiken használható operációs rendszer a gazdagépnevek IP-címekké történő fordításához. Amikor beír egy gazdagépnevet – például facebook.com vagy webhely –, a rendszer ellenőrzi a hosts fájlt, hogy megkapja az IP-címet, amely a megfelelő szerverhez való csatlakozáshoz szükséges. De ha megnyitja ezt a fájlt a számítógépén, gyorsan rájön, hogy nincs az interneten található összes webhely könyvtára. Lehet, hogy csak néhány sor van, és semmi több. A rendszer először mindig a hosts fájlt ellenőrzi, és minden, ami nem szerepel benne, megtalálható a hálózati beállításokban konfigurált DNS-kiszolgálókon (általában az internetszolgáltató szerverén).

De ez azt is jelenti, hogy a Hosts fájl segítségével olyan címeket is hozzáadhat, amelyeket nem lehet megadni DNS szerverek (például az otthoni hálózat különböző helyeinek álnevei lehetnek, amelyek egyébként csak akkor lennének elérhetők, ha a helyi hálózat telepítve van és be van állítva a saját DNS-kiszolgálója), vagy alapértelmezés szerint megkerülheti a DNS-kiszolgálók által biztosított IP-címeket.

Például, ha megkéri a böngészőt, hogy nyissa meg a facebook.com webhelyet DNS szerver visszaküldi a Facebook IP-címét a számítógépén. De ha hirtelen le akarja blokkolni a Facebookot a számítógépén, hozzáadhat a hosts fájlhoz egy olyan bejegyzést, amely a számítógépére mutat, hogy a facebook.com összes kérésének át kell irányítania egy másik IP-címet, amely eltér a Facebook valódi IP-címétől. A közösségi hálózat blokkolásához egyszerűen regisztrálhatja a facebook.com IP-címét 127.0.0.1 , amely mindig visszatér a rendszerébe. tudsz sokat csináljon ezzel a fájllal, és ez csak egy nagyon egyszerű példa – minden az Ön vágyaitól és szükségleteitől függ.

Figyelem : ne feledje, házigazdák ez a rendszerfájl, csak akkor szerkessze, ha tudja, mit csinál!

A hosts fájl szerkesztése
Ban ben Linux Mint megtalálja a hosts fájlt /etc/hosts. Mivel ez egy egyszerű szöveges fájl, csak egy egyszerű szövegszerkesztőt használhat (akár terminál, akár grafikus). Sajnos csak egy grafikus eszköz van, amely részben vezérli a hosts fájlt, az az alkalmazás Domainblokkoló Linux Mint számára.

Ez a program úgy működik, hogy bejegyzéseket ad hozzá a hosts fájlhoz, amely átirányítja a megadott tartományokat a 127.0.0.1-re – ez az Ön számítógépén található. Egyébként csak ennyit tudsz csinálni Domainblokkoló– a hosts fájl minden egyéb használatához manuálisan kell szerkesztenie a fájlt egy szövegszerkesztővel.

Mivel a gazdagép egy rendszerfájl, rendszergazdai jogokra lesz szüksége a fájl módosításainak mentéséhez. Azonban szerkesztheti terminálparancsokkal, mint pl

sudo nano /etc/hosts

sudo gedit /etc/hosts

Cserélheti is a nano vagy gedit parancsot a kedvenc szövegszerkesztő elindításához. Ha befejezte a fájl szerkesztését a nano alkalmazásban, Ön megnyomhatja ctrl +X és akkor y a felülírás megerősítéséhez változásokról.

Hogyan lehet megérteni a hosts fájl tartalmának formátumát?
A hosts fájlban minden rekord a saját sorában található. Cikkünk céljaira egy nagyon egyszerű szintaxist használhat – írja be az IP-címet, amelyre át szeretné irányítani a gazdagép nevét (domain) , majd a tabulátor karaktert (TAB) és a tényleges tartományt. Például a Facebook blokkolásához beléphet 127.0.0.1-facebook.com ahol van a Tab gombot a billentyűzeten. A helyes beírása érdekében megtekintheti a képernyőképet is, és összehasonlíthatja a fájlban lévővel.

Hosts – módosíthatja és kezelheti az /etc/hosts fájlt

Íme egy másik példa ennek a lehetőségnek a használatára. Például, ha az otthoni hálózata a számítógép (például az IP-címe 192.168.100.1), amely egy egyszerű webhelyet futtat, amely hasznos lehet az Ön számára. A hosts fájlba a következőket írhatja be: 192.168.100.1 –myhomeserver . Most, ha megnyitja a böngészőt, és csak írja be a címsorba a http://myhomeserver címet, akkor automatikusan megjeleníti a 192.168.100.10 gazdagép tartalmát. Sokkal egyszerűbb, mint minden alkalommal megadni az IP-címet.

Potencionális problémák
Az egyetlen probléma, amellyel találkoztam, a Chrome böngésző működésével kapcsolatos. A Chrome hajlamos figyelmen kívül hagyni a hosts fájlt, ha nem tesz meg legalább egyet a két lehetséges dolog közül:
- belépni http:// minden cím előtt. Ha például letiltotta a Facebookot a hosts fájlon keresztül, a Chrome megkerüli a zárolást, ha egyszerűen beírja a facebook.com címet a címsorba. Ha beírja a http://facebook.com címet a címsorba, a Chrome „hallgatni” fájlt tárol, és blokkolja ennek a közösségi hálózatnak a webhelyét.
– tiltsa le az opciót Használjon webszolgáltatást a navigációs hibák megoldásához ” a Chrome beállításaiban, és akkor nem kell gépelnie http:// minden alkalommal a cím előtt

Próbáld ki!
A Hosts egy kis mágikus fájl, amely számos hasznos funkciót kínál. Még akkor is, ha nincs szüksége semmilyen szolgáltatásra, amelyet biztosít (bár talán úgy gondolja ), nagyon hasznos lesz látni, hogyan működik. Ha valaha olyan helyzetbe kerül, amikor használhatja a hosts fájlt, ismeri őket, és tudja, hogyan kell konfigurálni.

Mi van a hosts fájlban? Vannak egyedi esetek az ilyen felhasználásra? Mondja el nekünk a megjegyzésekben!