DNS и имена на домейни. DNS и имена на домейни Linux DNS клиентски програми

Друг метод за разрешаване на имена е използването на локална база данни с имена на хостове, подобно на начина, по който се правеше в ранните дни на Интернет. Файлът /etc/hosts съдържа списък с имена на хостове със съответните IP адреси. Листинг 4.3 показва примерен файл /etc/hosts за Linux клиент. Той трябва да съдържа името на вашата машина и нейния IP адрес, както и loopback IP адреса 127.0.0.1 за сервизни цели. Освен това, ако има някакви отдалечени хостове, към които вашият Linux сървър периодично се свързва, също така е препоръчително да посочите техните IP адреси във файла /etc/hosts. Сега всеки път, когато се осъществи достъп до тези хостове, Linux сървърът вече ще има техните IP адреси; по този начин не е необходимо да се извършват DNS заявки. Освен това значително ускорява установяването на връзка.

1 127.0.0.1 localhost 2 192.168.0.1 shadrach.smallorg.org 3 10.0.0.1 mail1.isp.net 4 10.0.0.2 mail2.isp.net 5 10.0.0.3 fred.otherplace.com Списък 4.3. Примерен /etc/hosts файл

Първият и вторият ред са IP адресите за локалния Linux сървър. Редове 3-5 са IP адресите за най-често търсените машини във вашата мрежа. Благодарение на това достъпът до тях от Linux-базиран сървър е по-бърз, отколкото чрез DNS системата.

име на локален хост

Всички Linux компютри поддържат localhost. Това име винаги съответства на IP адреса 127.0.0.1, който е присвоен на специално устройство за обратна връзка. Това име и адрес позволяват на вътрешните процеси да комуникират с други процеси в същата система, използвайки мрежови протоколи. Много програми дори са конфигурирани да използват името localhost. Промяната на това име или съответния IP адрес може да повлияе на работата на тези програми.

DNS файл за превод

Файлът /etc/host.conf определя как и как се разрешават имената на Linux OS. Листинг 4.4 показва примерен файл /etc/host.conf.

1 поръчайте хостове, обвържете 2 мулти включени Списък 4.4. Примерен файл /etc/host.conf

Първият ред указва реда, в който се разрешават имената на хостове. Това казва на операционната система Linux първо да погледне файла /etc/hosts и да потърси хоста там и след това да опита да разреши името с помощта на DNS системата (свързване), ако /etc/hosts се провали.

Linux DNS клиентски програми

В помощ на системния администратор са написани много помощни програми за Linux, за да улеснят DNS да намира информация за отдалечени хостове и мрежи. За UNIX системите Internet Software Consortium създаде софтуерния пакет Berkeley Internet Name Domain (BIND), който включва три от най-полезните и широко използвани помощни програми на автора: host, nslookup и dig. Тези програми се разпространяват със софтуера, включен в повечето дистрибуции на Linux OS. Red Hat и Mandrake Linux предоставят тези програми като RPM пакети.

При решаване на възможни проблеми, свързани с работата на електронната поща в Интернет, тези помощни програми са много полезни. Често подателят прави грешки в имейл адреса на получателя и писмата не се приемат. Естествено, той ще бъде напълно сигурен, че е използвал правилния адрес, и ще хвърли вината за върнатите съобщения върху вас. Въпреки това, след малко обсъждане с DNS, можем да направим недвусмислени заключения относно правилността или грешката на имейл адреса.

помощна програма за хост

Хост програмата извършва най-простото разрешаване на имена с помощта на DNS. Форматът на хост командата е следният:

хост [-l] [-v] [-w] [-r] [-d] [-t тип заявка] [-a] хост

По подразбиране командата host се опитва да получи IP адрес за името, указано като хост, използвайки DNS сървъра, дефиниран във файла /etc/resolv.conf. Ако сървърът е посочен в командния ред, тогава по подразбиране хост командата ще го използва като DNS сървър. Чрез добавяне на допълнителни опции в командния ред можете да промените начина на работа на хост командата. Всички тези параметри са изброени в таблица. 4.5.

Таблица 4.5. опции за хост команда
Параметър Описание
Показва пълна информация за домейна
-v Използва подробен формат при извеждане на резултати
-w Кара командата на хоста да чака отговор
Изключва режима на рекурсия
Включва режим на отстраняване на грешки
-t тип заявка Указва вида на заявката
Възстановява всички записи в DNS

Опцията -l може да се използва за търсене на информация за всички хостове в даден домейн. Много често опцията -t се използва с него за филтриране на информация по тип (например -t MX връща само MX записите за домейна). За съжаление опцията -l в момента е трудна за използване от съображения за сигурност, тъй като повечето DNS сървъри отказват да предоставят информация за хостове от своите бази данни. Ако информацията се иска от отдалечен или зает DNS сървър (или през бавна връзка), може да се използва опцията -w. С негова помощ хост програмата принудително чака отговор на заявка. Времето за изчакване по подразбиране е около минута.

Една от по-полезните опции е -r. Той инструктира DNS сървъра да върне само информацията, съдържаща се в неговата локална база данни. В този случай DNS сървърът не търси информация от други DNS сървъри.

Това е доста удобно за определяне дали вашият DNS сървър кешира правилно DNS отговорите. Първо опитайте опцията -r. Ако няма информация за името на хоста, няма да бъде получен отговор от локалния DNS сървър. След това издайте командата без опцията -r. Тук трябва да се получи нормален отговор, тъй като локалният DNS сървър има право да получава данни от други DNS сървъри. След това опитайте отново командата host с опцията -r. Сега получената информация трябва точно да съвпада с данните, получени в резултат на предишния опит. Това означава, че този път DNS сървърът е получил информация от кеша, свързана с предишния опит. Ако не бъде получена информация, тогава локалният DNS сървър не е кеширал предишния отговор. След това трябва да забележите значително забавяне при получаването на отговор на заявка, тъй като това се прави по мрежата, а не се взема от кеша.

По подразбиране хост командата ще се опита да изведе изхода си в четим от човека формат. Например, както е показано в списък 4.5. Ако е дадена опцията -v, изходът изглежда като оригиналните DNS записи. Това може да бъде полезно при отстраняване на грешки в DNS системата.

1 $host www.linux.org 2 www.linux.org има адрес 198.182.196.56 3 www.linux.org пощата се обработва (pri=2O) от router.invlogic.com 4 www.linux.org пощата се обработва (pri =30) от border-ai.invlogic.com 5 www.linux.org пощата се обработва (pri=10) от mail.linux.org 6 $ Списък 4.5. пример за хост команда

Ред 1 показва основния формат на командата host - просто добавете името на хоста, за който искате информация. Редове 2-5 са резултат от командата. Ред 2 показва, че DNS сървърът е успял да разреши даденото име на хост в своя IP адрес. След това, редове 3-5 показват три компютъра, които могат да получават електронна поща за даден хост, според MX записите. Обърнете внимание, че командата host дори показва теглата (или приоритетите) за всеки пощенски сървър. Ако писмото е изпратено до потребителя на посочения хост, тогава сървърът с приоритет 10 (mail.linux.org) ще се погрижи първо за доставката му. Ако командата за хост не се изпълни, тогава можете да изпратите заявка през друг DNS сървър, като посочите адреса му след адреса на хоста в командния ред. Това е доста ефективно, ако смятате, че локалният DNS сървър не се държи съвсем правилно.

Въпрос. Как мога да добавя потребител към група в Linux?

Отговор. Можете да използвате командите useradd или usermod, за да добавите потребител към група. Командата useradd създава нов потребител или актуализира информацията на съществуващ. Командата usermod модифицира съществуващ потребител. Цялата информация за потребители и групи се съхранява във файловете /etc/passwd, /etc/shadow и /etc/group.

useradd пример - Добавяне на нов потребител към вторична група

Използвайте командата useradd, за да добавите нов потребител към съществуваща група. Ако групата не съществува, създайте я. Синтаксис:

useradd -G (име на група) потребителско име

Нека създадем потребител на vivek и да го добавим към групата за разработчици. Влезте като root и се уверете, че групата разработчици съществува:

# grep разработчици /etc/group

Разработчици:x:1124:

Ако няма група, използвайте командата groupadd, за да създадете нова група разработчици:

# groupadd разработчици

След това добавете потребителя на vivek към групата на разработчиците:

# useradd -G разработчици vivek

Задайте парола за потребителя на vivek:

Уверете се, че потребителят е добавен към групата разработчици:

#id vivek Изход:

Uid=1122(vivek) gid=1125(vivek) групи=1125(vivek),1124(разработчици)

Опцията -G ви позволява да добавите група към потребителя. Групите могат да бъдат изброявани разделени със запетаи. Например, нека добавим потребител Джери към групи

администратори, ftp, www и разработчици, като напишете:

# useradd -G администратори,ftp,www,разработчици Джери

useradd пример - Добавяне на нов потребител към основната група

За да добавите потребителя tony към групата разработчици, използвайте следната команда:

# useradd -g разработчици тони

uid=1123(тони) gid=1124(разработчици) групи=1124(разработчици)

Опцията -g ви позволява да добавите потребителя към основната група. Групата трябва да съществува.

usermod пример - Добавете съществуващ потребител към съществуваща група

Добавете съществуващия потребител tony към вторичната ftp група:

# usermod -a -G ftp тони

Променете основната група за съществуващия потребител tony на www:

# usermod -g www тони

пазач

За втората кула поръчах есе в сайта Studinform. Жалко е, разбира се, но няма абсолютно никакво време да го направите сами. Поръчката беше изпълнена много бързо и качествено. Препоръчвам!

За моята кола сега мисля какви гуми да сложа. Много мислих за гумите с шипове. По мнения, доколкото четох, разликата между спирачния път на най-добрите гуми с шипове и най-добрите модели без шипове беше 10 метра! Нещо за размисъл...

Тази статия ще ви разкаже за командата host. Помощната програма за хост е предназначена да прави заявки към DNS сървъри.

[Алексей Вискубов]

Тази статия ще ви разкаже за командата host.

Дадени са примери за работа в операционни системи Linux 2.2.17 (Debian unstable, "woody") и FreeBSD 4.2.

Помощната програма за хост е предназначена да прави заявки към DNS сървъри.
По подразбиране той просто намира IP адреса, който съответства на даденото име на хост, например:

$ хост www.site

Www.сайт A 195.5.132.10

$ хост www.site

Www.site има адрес 195.5.132.10

Както можете да видите, в случая на Linux, помощната програма връща DNS запис от тип A, докато FreeBSD просто отчита адреса на хоста, използвайки английски. Обърнете внимание, че осигуреният от Linux DNS запис е неподходящ за директно вмъкване в базата данни на DNS сървъра, тъй като името на хоста не завършва с точка; поставянето на точка след името на хоста при извикване на хост също не помага.
Освен това липсва IN между името на хоста и A. Ако трябва да получите запис, който може да бъде поставен директно в DNS базата, в Linux можете да използвате опцията -Z:

$ хост -Z slashdot.org

Slashdot.org. 3600 В A 64.28.67.48

FreeBSD няма тази функция.

Подобна ситуация възниква, когато указаното име е псевдоним --- Linux отпечатва ред с думата CNAME, докато FreeBSD използва конструкцията "xxx.yyy.zzz е прякор за aaa.bbb.ccc" :

$ хост admin1.piter-press.ru

admin1.piter-press.ru CNAME ns.piter-press.ru

Ns.piter-press.ru A 195.239.142.33

$ хост admin1.piter-press.ru.

Admin1.piter-press.ru е прякор за ns.piter-press.ru

Ns.piter-press.ru има адрес 195.239.142.33

Трябва да се отбележи, че след името на хоста в командата хост може да се посочи името на сървъра, който искате да анкетирате. Ако името на сървъра не е посочено (както в нашите примери), тогава се запитва един от DNS сървърите за дадената зона.

Ако хостът получи като вход не име на хост, а IP адрес, тогава се извършва обратното преобразуване --- към FQDN.

$ хост 195.239.142.33

Име: ns.piter-press.ru

Адрес: 195.239.142.33

$ хост 195.239.142.33

33.142.239.195.IN-ADDR.ARPA указател на име на домейн ns.piter-press.ru

Този път, в случая на Linux, се дава обикновена текстова информация (въпреки че, изглежда, защо да не се покаже DNS запис като PTR?). FreeBSD е по-логично --- IP адресът се превежда в съответното име на хост в зоната IN-ADDR.ARPA, за която се показва информацията --- отново, използвайки английски.

Замяна на локален домейн

Друга важна разлика между Linux и FreeBSD версиите на host е, че ако името на хоста не завършва с точка, FreeBSD се опитва да го замени с локалния домейн, което Linux не прави (възможно грешка, тъй като страницата с ръководство казва друго ).):

$ име на хост -d

$ nslookup woe.spb.ru

Сървър: frei.home

Адрес: 192.168.1.5

Име: woe.spb.ru

Адрес: 193.125.200.14

$ домакин горко

Горко не съществува (авторитетен отговор)

Както виждаме, spb.ru е локален домейн, хостът woe.spb.ru съществува, но командата host woe не дава желания резултат. Трябва да се отбележи, че наличието на ред за търсене spb.ru (или домейн spb.ru) във файла /etc/resolv.conf би решило проблема. Под FreeBSD хостът се държи различно:

$ хост алв

Alv.home има адрес 192.168.1.1

$ хост алв.

хостът не е намерен

Локалният домейн беше заменен само в първия случай, защото името не завършваше с точка. Редовете за търсене и/или домейн в resolv.conf не са задължителни.

Подробности: -v опция

Полезна опция е -v (подробно). Както в Linux, така и в FreeBSD ефектът му е почти същият: показва се допълнителна информация за зоната.

$ хост -v www.spb.ru

Запитване за www.spb.ru за типове записи A

Опитвам www.spb.ru ...

Заявката е изпълнена, 1 отговор, състояние: няма грешка

www.spb.ru 2134 В А 195.190.101.3

информация за органа:

Www.spb.ru 48235 IN NS ns.nevalink.ru

Www.spb.ru 48235 В NS ns1.gldn.net

Www.spb.ru 48235 В NS ns2.gldn.net

Допълнителна информация:

Ns.nevalink.ru 54275 В А 195.190.100.28

ns1.gldn.net 10978 В A 194.67.2.108

ns2.gldn.net 10972 В A 195.218.218.8

$ хост -v www.spb.ru.

Rcode = 0 (успех), ancount=1

Следният отговор не е авторитетен:

Следният отговор не е проверен като автентичен от сървъра:

www.spb.ru 2053 В А 195.190.101.3

За достоверни отговори вижте:

Www.spb.ru 48154 В NS ns.nevalink.ru

Www.spb.ru 48154 В NS ns1.gldn.net

Www.spb.ru 48154 В NS ns2.gldn.net

Допълнителна информация:

Ns.nevalink.ru 51480 В А 195.190.100.28

ns1.gldn.net 10348 В A 194.67.2.108

ns2.gldn.net 10342 В A 195.218.218.8

Числовото поле, което се появи в отговора на хоста, се нуждае от известно обяснение. Като се обадите на host няколко пъти, можете да видите, че стойността му непрекъснато намалява, което не е изненадващо, тъй като това поле съдържа TTL --- времето за живот за запис в зоната.

Под Linux можете да използвате опцията -vv за показване на информация за процеса на получаване на DNS записи.

Избор на типове записи: Опции -a и -t

Две по-важни опции за хост командата са -a и -t. Опцията -a означава -t ANY на Linux и -v -t any на FreeBSD, така че нека да разгледаме значението на опцията -t.

Този параметър се използва за задаване на вида DNS записи, които ви интересуват. Поддържаните типове записи са A, NS, MD, MF, CNAME, SOA, MB, MG, MR, NULL, WKS, PTR, HINFO, INFO, MX, UINFO, UID, GID, UNSPEC. Обърнете внимание, че в Linux типът на записа може да бъде зададен във всеки случай, но във FreeBSD може да бъде само с малки букви (a, ns, cname и т.н.). Ако опцията -t не е посочена, тогава по подразбиране Linux търси записи от тип A, ако е посочена опцията -l (вижте по-долу), тогава типовете A, NS, PTR. FreeBSD търси записи от типове A и MX, ако опцията -t не е посочена, а ако е посочена опцията -l, тя също търси PTR и NS записи. Linux версията на host също поддържа типа запис MAILB, което означава всеки тип от MB, MR, MG или MINFO. Вместо да посочите опцията -t MAILB, можете да посочите опцията -m; в този случай записите от типове MR и MG също ще бъдат рекурсивно разширени до MB. Изброяване на зони: -l опция Можете да изброите цяла зона, като използвате командата host с опцията -l. Използвайте опциите -a и -t, за да посочите типовете публикации, които ви интересуват. Имайте предвид, че списъкът със зони се генерира от AXFR заявка за прехвърляне на зоната и извличане на желаната информация от получената информация. Това означава, че опцията -l създава допълнително натоварване на мрежата и DNS сървърите, така че трябва да я използвате възможно най-малко. Също така, много системни администратори конфигурират своите DNS сървъри, така че да не предоставят зоната на всеки, като отказват да обработят AXFR заявка (а FreeBSD версията на хост дори няма да си направи труда да ви каже ясно какво се е случило):

$ хост -l slashdot.org

Slashdot.org AXFR заявка за запис е отказана от ns2.andover.net

Slashdot.org AXFR заявка за запис е отказана от ns3.andover.net

Slashdot.org AXFR заявка за запис е отказана от ns1.andover.net

Не са отговорили сървъри за имена за slashdot.org

$ хост -l slashdot.org

Сървърът е неуспешен: Заявката е отказана

Под Linux можете да създадете пълно копие на зоната, подходяща за захранване на свързване с хост -Z -a -l (и да го запишете във файл, като добавите -f име на файл).

Други възможности

Както знаете, DNS е рекурсивна система. Ако DNS сървърът не намери исканата от него информация, той инициира рекурсивна заявка към сървъра "нагоре по веригата".
Командата host има опция за предотвратяване на това: опцията -r деактивира рекурсивните заявки: запитва се само DNS сървъра по подразбиране. Тази опция работи почти по същия начин под Linux и FreeBSD, но резултатът от командата, когато записът не е намерен, е малко по-различен:

$ хост -r www.spb.ru

Www.spb.ru В момента не съществува запис

$ хост -r www.spb.ru

Както можете да видите, FreeBSD просто не извежда нищо.

Командата host по принцип може да се използва не само в Интернет. Опцията -c ни позволява да посочим класа записи, които ни интересуват. Поддържат се класове на записи IN, CHAOS, HS, HESIOD (IN се използва по подразбиране). Под Linux се поддържат и класовете INTERNET, CS, CSNET, CH. Можете да използвате ключовата дума ANY, за да посочите всички класове (под Linux можете също да използвате символа *, само не забравяйте да го екранирате от обвивката).

За да покажете информация за отстраняване на грешки, използвайте опцията -d (под Linux тя може да бъде дублирана --- -dd --- за увеличаване на количеството информация за отстраняване на грешки).

FreeBSD версията на хоста използва превключвателя -s за работа с DNSSEC (версията за Linux не работи с DNSSEC, превключвателят -s се използва за указване на времето за изчакване на DNS сървъра в секунди).

Списък на зони: допълнителни функции на версията на Linux

Опциите, описани в този раздел, са специфични за Linux версията на host.

Рекурсивни списъци: Опцията -L Опцията -L определя нивото на рекурсия при изброяване на зона. Например командата:

$ домакин -l -a -L 1 някои.зона

Това ще изброи зоната some.zone, както и всички нейни делегирани зони.
Увеличаването на нивото на рекурсия увеличава дълбочината на сърфиране за делегирани зони. Всичко казано за нежелателността на използването на опцията -l е още по-важно при използването на комбинацията -L -l.

Статистика: -S опция Указването на опцията -S при получаване на списък със зони показва статистическа информация за броя на намерените записи от различни типове, броя на хостовете от различни типове, броя на делегираните зони и т.н.:

$ хост -l -a -S freshmeat.net

freshmeat.net. SOA freshmeat.net. dns-admin.freshmeat.net.



Използване на специфични DNS сървъри: -p и -P опции

Опцията -p ви казва да използвате само основния DNS сървър, когато получавате списъка със зони. Името на основния DNS сървър се определя с помощта на SOA записа на въпросната зона.
Опцията -P ви позволява да посочите списък с предпочитани домейни (разделени със запетаи). Ще се използва DNS сървърът, който има най-голям брой съвпадения на компоненти на име с един от посочените домейни. Използването на тези опции може да се види в следния пример:

$ хост -vv -p -l peter.com

Опитвам сървър 195.239.142.33 (ns.piter.com) ...

$ хост -vv -P hellix.piter.com -l piter.com

Намиране на сървъри за имена за piter.com ...

Заявката е изпълнена, 2 отговора, състояние: няма грешка

Следният отговор не е авторитетен:

Piter.com 3308 В NS ns.piter.com

Piter.com 3308 В NS hellix.piter.com

Допълнителна информация:

Ns.piter.com 85293 В А 195.239.142.33

Hellix.piter.com 3308 IN A 193.125.199.13

Намерен е 1 адрес за ns.piter.com

Намерен е 1 адрес за hellix.piter.com

Опитвам сървър 193.125.199.13 (hellix.piter.com) ...

Пропускане на зони: Опция -N

Опцията -N ви позволява да посочите списък със зони (разделени със запетаи), за които не се изисква информация. Обикновено се използва заедно с опцията -L.

Linux: разширен синтаксисКато посочите опцията -x, можете да използвате така наречения разширен синтаксис за командата хост, като й подавате няколко имена на хост вместо едно. Тъй като всяко име в този случай се третира като име на хост, което трябва да бъде извлечено, опцията -X се използва за указване на DNS сървъра, който да бъде запитан. Ако е указана опцията -X, тогава се подразбира -x.

Разширеният синтаксис ви позволява да стартирате хост без имена на хостове, като ги предавате по-късно към стандартния вход на програмата. Един ред може да съдържа няколко имена на хостове, но ако на реда се появи знак # или ;, останалата част от реда се игнорира.

Linux: специални режими

Един от специалните режими, поддържани от помощната програма за хост, е режимът за прехвърляне на зони, активиран от опцията -l. Линукс версията на помощната програма има няколко други специални режима, всички с изключение на един от които са вариации на режима -l.

Вариации на режима на прехвърляне на зони

Опцията -C е подобна на опцията -l, но извиква различни проверки на зоната, като например проверка дали всеки от DNS сървърите, изброени в NS записите за зоната, наистина може да даде достоверен отговор на заявка за зона . Извършват се и други валидиращи проверки за зоната.

Опцията -H също е същата като опцията -l, причинявайки прехвърляне на зона, въпреки че не показва информация за записите. Вместо това се отчита броят на A-записите в зоната. Обръща се специално внимание (виж човек 1 хост) да се вземат предвид само "истински" хостове. Комбинацията от опциите -H -S ви позволява да получите подробна статистика на зоната:

$ хост -H -S freshmeat.net

Намерени са 34 A записа в рамките на freshmeat.net

Намерени са 4 NS записа в рамките на freshmeat.net

Намерени са 9 CNAME записа в рамките на freshmeat.net

Намерени са 2 SOA записа в рамките на freshmeat.net

Намерени са 4 MX записа в рамките на freshmeat.net

Намерени са 32 хоста в рамките на freshmeat.net

Намерени са 9 дублиращи се хоста в рамките на freshmeat.net

Намерени са 12 извънзонални хоста в рамките на freshmeat.net

Намерен е 1 шлюз хост в рамките на freshmeat.net

Намерени са 0 делегирани зони в рамките на freshmeat.net

Опциите -G , -D , -E показват съответно имената на хостове на шлюз (gateway), дублирани хостове и хостове извън зоната. В този случай шлюзът е хост с повече от един IP адрес, дублиран хост е хост с точно един IP адрес, който също съответства на няколко имена (вероятно от различни зони --- това може да означава грешка в зоната ). Хост извън зоната за some.zone е хост от формата host.something.some.zone, където something.some.zone не е делегирана зона.

Режим за проверка на адреса

Последният режим на Linux версията на помощната програма за хост, който не сме анализирали, е режимът за проверка на адреса, иницииран от опцията -A. В този случай се извършват следните действия:

* Ако име на хост е посочено като аргумент, тогава се определя неговият адрес, по който се определя името на хоста и се проверява за съвпадение с оригиналното име.

* Ако като аргумент е даден IP адрес, тогава се определя съответното име на хост и след това се проверява дали IP адресът на източника е включен в списъка с IP адреси за намереното име на хост.

* Ако опцията е указана заедно с опцията -l, тогава описаните действия се извършват за всеки A-запис в зоната.

Алексей Вискубов,

Искам да говоря за един малко нестандартен начин, с който можете да отваряте сайтове в браузъра, използвайки кратки имена. Например, вместо да пишете "yandex.ru" в браузъра, можете просто да въведете една буква "y". Файлът /etc/hosts ще ни помогне с това.

ФАЙЛ /etc/hosts

Файлът /etc/hosts указва съответствието между IP адреса и името на хоста (име на хост, домейн), както и техните псевдоними (наричани още синоними, псевдоними). Когато получите достъп до някакъв адрес в мрежата, например http://yandex.ru, тогава, за да получите достъп до сайта, системата първо трябва да преобразува адреса на сайта в съответния му IP адрес, за това системата запитва IP адрес от DNS сървъра. Ако има съответствие между yandex.ru и IP адрес във файла /etc/hosts, тогава системата ще използва този IP адрес. И тъй като можем също да посочим псевдоним във файла /etc/hosts, чрез който ще бъде достъпен определен IP адрес, можем да посочим например псевдонима "y" за yandex.ru. Съответно, когато поискате "y" във вашия браузър, системата ще прочете IP адреса във файла /etc/hosts и ще отвори сайта yandex.ru. Тоест /etc/hosts е вид локален DNS сървър.

Как да намерите IP адреса на уебсайт

Сега трябва да дефинираме IP адресите на сайтовете, които искаме да добавим към /etc/hosts. Заслужава да се отбележи, че не всички сайтове имат отделен специален IP адрес и е невъзможно достъпът до тях само чрез IP адрес. Но почти всички големи сайтове и портали имат свой собствен IP адрес. Лесен начин да разберете IP адреса на сайт е да използвате командата ping:

Пинг на site-address.ru

Например, нека направим:

ping yandex.ru

Процесът на ping ще се покаже на екрана (за да го прекъснете, натиснете Ctrl+C). И така, ще получим резултата от командата ping по следния начин:

PING yandex.ru (87.250.250.11) 56(84) байта данни. 64 байта от yandex.ru (87.250.250.11): icmp_seq=1 ttl=57 време=3,57 ms ...

Тук можете да видите, че yandex.ru съответства на IP адрес 87.250.250.11. По същия начин изпълняваме и за други сайтове.

Редактиране на файла /etc/hosts

Редактирането на файла /etc/hosts трябва да се извършва внимателно, за да не се развали нещо, тъй като това е системен файл и е важно да не се нарушава синтаксисът му. Отворете файла за редактиране, за да направите това, стартирайте от командния ред:

sudo gedit /etc/hosts

Съдържанието на файла изглежда по следния начин:

127.0.0.1 localhost::1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # Следните редове са желателни за поддържащи IPv6 хостове::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ...

Синтаксисът на файла /etc/hosts е много прост:

IP адрес име на хост [псевдоними, ...]

Нека добавим нови редове към файла за различни сайтове:

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

Запазете и затворете файла. Имаме регистрирани съответствия между IP адреси, имена на сайтове и техните псевдоними. Сега отидете в браузъра и в адресната лента въведете само „g“, сайтът google.ru трябва да се отвори. За да отворите mail.ru, просто въведете "m", за rbc.ru - само "r", yandex.ru - "y".

Версия на домакин.

Описание

В синтаксиса, посочен по-долу, имее името на домейна, което трябва да се търси. Името може също да бъде десетичен IPv4 адрес с точки или IPv6 адрес, разделен с двоеточие, в който случай домакинпо подразбиране ще извърши обратно търсене за този адрес. The сървъре незадължителен аргумент, който е името или IP адреса на сървъра за имена, който хостът трябва да направи заявка вместо сървъра или сървърите, изброени в /etc/resolv.conf.

Синтаксис

хост [-aCdlnrsTwv] [-c клас][-Н точки][-Р номер][-T Тип][-W изчакайте][-м знаме] [-4] [-6] {име} [сървър]

Настроики

The (всичко) е еквивалентна на настройката на -vопция и питане домакинза да направите заявка от тип ANY.

Когато -° Сизползва се опция, домакинще се опита да покаже SOA записите за име на зона от всички изброени авторитетни сървъри за имена за тази зона. Списъкът със сървъри за имена се определя от NS записите, които са намерени за зоната.

-° С клас

The -° Синструкции за опции домакинда направим a DNSзапитване на клас клас. Това може да се използва за търсене на записи на ресурси от клас Hesiod или Chaosnet. Класът по подразбиране е IN(Интернет).

Подробният изход се генерира от домакинкогато или -vизползва се опция. Двата варианта са еквивалентни. Те са предоставени за обратна съвместимост. В предишните версии, опцията е включена за проследяване на грешки и -vактивиран подробен изход.

Режимът на списък се избира от опция. Това кара хоста да извърши трансфер на зона за име на зона. Прехвърлете зоната, като отпечатате NS, PTR и адресните записи (A/AAAA). Ако се комбинира с всички записи ще бъдат отпечатани.

The опцията указва, че обратните търсения на IPv6 адреси трябва да използват IP6.INT домейна, както е дефинирано в RFC1886. По подразбиране се използва IP6.ARPA.

точки

The опция задава броя на точките, които трябва да бъдат в името, за да се счита за абсолютно. Стойността по подразбиране е тази, дефинирана с помощта на точкиизявление в /etc/resolv.conf, или 1 ако не точкиизявлението е налице. Имената с по-малко точки се интерпретират като относителни имена и ще бъдат търсени в домейните, изброени в директивата за търсене или домейн в /etc/resolv.conf.

номер

The опция разказва домакинда не изпраща заявката до следващия сървър за имена, ако някой сървър отговори с SERVFAIL отговор, което е обратното на нормалното поведение на преобразувателя на мъничета.

знаме

The може да се използва за задаване на флаговете за отстраняване на грешки при използването на паметта запис, използване и проследяване.

Примери

хост 204.228.150.3

Тази команда извършва обратно търсене на IP адреса 204.228.150.3 , което води до резултата:

3.150.228.204.in-addr.arpa показалец на име на домейн www.site.

свързани команди

копай— Помощна програма за DNS търсене.
nslookup- Запитване до сървър за имена за информация относно отдалечен хост.
пинг- Изпращане на ICMP ECHO_REQUEST пакети до мрежови хостове.



Продължение на темата:
Windows

Наталия Комарова , 28.05.2009 г. (25.03.2018 г.) Когато четете форум или блог, запомняте авторите на публикациите по псевдоним и ... по снимката на потребителя, така наречения аватар ....

Нови статии
/
Популярен