Menu
Jest wolny
rejestracja
Dom  /  Problemy/ DNS i nazwy domen. Polecenia Linux Podstawianie domeny lokalnej

DNS i nazwy domen. Polecenia Linux Podstawianie domeny lokalnej

Chcę opowiedzieć o nieco niestandardowym sposobie otwierania witryn w przeglądarce za pomocą krótkich nazw. Na przykład zamiast wpisywać „yandex.ru” w przeglądarce, możesz po prostu wpisać jedną literę „y”. Pomoże nam w tym plik /etc/hosts.

/ Itd / plik hosts

Plik /etc/hosts ustala korespondencję między adresem IP a nazwą hosta (nazwa hosta, domena), a także ich aliasami (zwanymi również synonimami, aliasami). Kiedy uzyskujesz dostęp do dowolnego adresu w sieci, na przykład http://yandex.ru, aby uzyskać dostęp do witryny, system musi najpierw przekonwertować adres witryny na odpowiedni adres IP, w tym celu system żąda adresu IP adres z serwera DNS. Jeśli korespondencja między yandex.ru a adresem IP jest zapisana w pliku / etc / hosts, system użyje tego konkretnego adresu IP. A ponieważ możemy również określić alias w pliku / etc / hosts, za pomocą którego będzie dostępny określony adres IP, możemy określić na przykład dla yandex.ru alias „y”. W związku z tym, gdy zapytasz „y” w przeglądarce, system odczyta adres IP z pliku / etc / hosts i otworzy stronę yandex.ru. Oznacza to, że / etc / hosts jest rodzajem lokalnego serwera DNS.

Jak znaleźć adres IP witryny?

Teraz musimy określić adresy IP witryn, które chcemy dodać do /etc/hosts. Należy zauważyć, że nie wszystkie witryny mają osobny dedykowany adres IP i nie można uzyskać do nich dostępu wyłącznie za pomocą adresu IP. Ale prawie wszystkie duże witryny i portale mają swój własny dedykowany adres IP. Prostym sposobem na znalezienie adresu IP witryny jest użycie polecenia ping:

Pinguj adres URL witryny.

Na przykład uruchommy:

ping yandex.ru

Proces ping zostanie wyświetlony na ekranie (aby przerwać, naciśnij Ctrl + C). Tak więc otrzymujemy dane wyjściowe polecenia ping w postaci:

PING yandex.ru (87.250.250.11) 56 (84) bajtów danych. 64 bajty z yandex.ru (87.250.250.11): icmp_seq = 1 ttl = 57 czas = 3,57 ms ...

Tutaj możesz zobaczyć, że yandex.ru odpowiada adresowi IP 87.250.250.11. Podobnie wykonujemy dla innych witryn.

Edycja pliku / etc / hosts

Musisz ostrożnie edytować plik / etc / hosts, aby niczego nie zepsuć, ponieważ to plik systemowy i ważne jest, aby nie naruszać jego składni. Otwórz plik do edycji, w tym celu uruchom w wierszu poleceń:

Sudo gedit / etc / hosts

Zawartość pliku wygląda mniej więcej tak:

127.0.0.1 localhost :: 1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # Poniższe wiersze są pożądane dla hostów obsługujących IPv6 :: 1 localhost ip6-localhost ip6-loopback fe00 :: 0 ip6-localnet ...

Składnia pliku /etc/hosts jest bardzo prosta:

Adres IP nazwa hosta [aliasy, ...]

Dodajmy do pliku nowe wiersze dla różnych witryn:

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

Zapisz i zamknij plik. Zarejestrowaliśmy korespondencję między adresami IP, nazwami witryn i ich aliasami. Teraz przejdź do przeglądarki i w pasek adresu wystarczy wpisać „g”, strona google.ru powinna się otworzyć. Aby otworzyć mail.ru, po prostu wpisz „m”, dla rbc.ru - po prostu „r”, yandex.ru - „y”.

Pytanie. Jak mogę dodać użytkownika do grupy w systemie Linux?

Odpowiedź. Możesz użyć poleceń useradd lub usermod, aby dodać użytkownika do grupy. Polecenie useradd tworzy nowego użytkownika lub aktualizuje informacje o już istniejącym. Polecenie usermod modyfikuje istniejącego użytkownika. Wszystkie informacje o użytkownikach i grupach są przechowywane w plikach /etc/passwd, /etc/shadow i /etc/group.

Przykład Useradd — Dodaj nowego użytkownika do grupy drugorzędnej

Używamy polecenia useradd, aby dodać nowego użytkownika do istniejącej grupy. Jeśli grupa nie istnieje, utwórz ją. Składnia:

Useradd -G (nazwa grupy) nazwa użytkownika

Utwórz użytkownika vivek i dodaj go do grupy deweloperów. Zaloguj się jako użytkownik root i upewnij się, że istnieje grupa deweloperów:

# programiści grep / etc / group

Deweloperzy: x: 1124:

Jeśli nie ma grupy, użyj polecenia groupadd, aby utworzyć Nowa grupa programiści:

# groupadd developerzy

Następnie dodaj użytkownika vivek do grupy deweloperów:

# useradd -G programiści vivek

Ustaw hasło dla użytkownika vivek:

Upewnij się, że użytkownik jest dodany do grupy deweloperów:

# identyfikator vivek Wyjście:

Uid = 1122 (vivek) gid = 1125 (vivek) grupy = 1125 (vivek), 1124 (deweloperzy)

Opcja -G pozwala użytkownikowi dodać grupę. Grupy mogą być wymienione oddzielone przecinkami. Na przykład dodajmy użytkownika Jerry do grup

administratorów, ftp, www i deweloperów wpisując:

# useradd -G administratorzy, ftp, www, programiści jerry

Przykład Useradd - Dodaj nowego użytkownika do grupy głównej

Aby dodać użytkownika tony do grupy deweloperów, użyj następującego polecenia:

# useradd -g programiści tony

uid = 1123 (tony) gid = 1124 (programiści) grupy = 1124 (programiści)

Opcja -g pozwala dodać użytkownika do grupy głównej. Grupa musi istnieć.

Przykład użycia usermod - Dodaj istniejącego użytkownika do istniejącej grupy

Dodaj istniejącego użytkownika tony do drugorzędnej grupy ftp:

# usermod -a -G ftp tony

Zmień podstawową grupę istniejącego użytkownika Tony na www:

# usermod -g www tony

Wartownik

Do drugiej wieży zamówiłem esej na stronie internetowej Studinform. Szkoda oczywiście, ale absolutnie nie ma czasu, aby zrobić to samemu. Zamówienie zostało zrealizowane bardzo szybko i sprawnie. Polecić!

Do mojego samochodu teraz zastanawiam się, jakie opony założyć. Dużo myślałem o oponach z kolcami. Według opinii, o ile czytałem, różnica w drodze hamowania najlepszych opon z kolcami i najlepsze modele bez cierni było 10 metrów! Jest o czym myśleć...

Ten artykuł przeprowadzi Cię przez polecenie hosta. Narzędzie hosta jest przeznaczone do wysyłania zapytań do serwerów DNS.

[Aleksiej Wyskubow]

Ten artykuł przeprowadzi Cię przez polecenie hosta.

Przykłady prac podano w system operacyjny Linux 2.2.17 (Debian niestabilny, "woody") i FreeBSD 4.2.

Narzędzie hosta jest przeznaczone do wysyłania zapytań do serwerów DNS.
Domyślnie po prostu znajduje adres IP pasujący do podanej nazwy hosta, na przykład:

$ host www.site

Strona internetowa A 195.5.132.10

$ host www.site

Www.site ma adres 195.5.132.10

Jak widać, w przypadku Linuksa narzędzie tworzy rekord DNS typu A, podczas gdy FreeBSD po prostu zgłasza adres hosta za pomocą język angielski... Należy zauważyć, że rekord DNS wydany przez Linuksa nie nadaje się do bezpośredniego umieszczenia w bazie danych serwera DNS, ponieważ nazwa hosta nie kończy się kropką; określenie kropki po nazwie hosta podczas wywoływania hosta również nie pomaga.
Brakuje również IN między nazwą hosta a A. Jeśli chcesz uzyskać rekord, który można bezpośrednio umieścić w bazie danych DNS, w systemie Linux możesz użyć opcji -Z:

$ host -Z slashdot.org

Slashdot.org. 3600 W 64.28.67.48

FreeBSD nie posiada tej funkcji.

Podobna sytuacja ma miejsce, gdy określone imię jest aliasem --- Linux wypisuje linię ze słowem CNAME, podczas gdy FreeBSD używa konstrukcji „xxx.yyy.zzz to pseudonim dla aaa.bbb.ccc” :

$ host admin1.piter-press.ru

Admin1.piter-press.ru CNAME ns.piter-press.ru

Ns.piter-press.ru A 195.239.142.33

$ host admin1.piter-press.ru.

Admin1.piter-press.ru to pseudonim dla ns.piter-press.ru

Ns.piter-press.ru ma adres 195.239.142.33

Zauważ, że po poleceniu hosta może następować nazwa serwera, który chcesz odpytywać po nazwie hosta. Jeśli nazwa serwera nie jest określona (jak w naszych przykładach), odpytywany jest jeden z serwerów DNS dla tej strefy.

Jeśli host otrzyma adres IP, a nie nazwę hosta, wykonywana jest odwrotna konwersja --- na nazwę FQDN.

$ gospodarz 195.239.142.33

Nazwa: ns.piter-press.ru

Adres: 195.239.142.33

$ gospodarz 195.239.142.33

33.142.239.195.IN-ADDR.ARPA wskaźnik nazwy domeny ns.piter-press.ru

Tym razem, w przypadku Linuksa, zwykły informacje tekstowe(chociaż wydaje się, dlaczego nie wyświetlić rekordu DNS takiego jak PTR?). FreeBSD jest bardziej logiczne --- Adres IP przekonwertowany na odpowiadającą mu nazwę hosta w strefie IN-ADDR.ARPA, dla której informacje są wyświetlane --- ponownie, używając języka angielskiego.

Lokalna substytucja domeny

Inną ważną różnicą między wersjami hosta Linux i FreeBSD jest to, że jeśli nazwa hosta nie kończy się kropką, FreeBSD próbuje zastąpić ją domeną lokalną, czego Linux nie robi (prawdopodobnie jest to błąd, ponieważ strona podręcznika mówi inaczej ):

$ nazwa hosta -d

$ nslookup biada.spb.ru

Serwer: frei.home

Adres: 192.168.1.5

Nazwa: biada.spb.ru

Adres: 193.125.200.14

$ biada gospodarza

Biada nie istnieje (Odpowiedź autorytatywna)

Jak widać, spb.ru jest domeną lokalną, host biada.spb.ru istnieje, ale polecenie hosta biada nie daje pożądanego rezultatu. Należy zauważyć, że obecność wiersza wyszukiwania spb.ru (lub domeny spb.ru) w pliku /etc/resolv.conf rozwiązałaby problem. We FreeBSD host zachowuje się inaczej:

$ host alv

Alv.home ma adres 192.168.1.1

$ hosta alw.

Host nieznaleziony

Domena lokalna została podstawiona tylko w pierwszym przypadku, ponieważ nazwa nie kończyła się kropką. Wiersze wyszukiwania i/lub domeny w resolv.conf są opcjonalne.

Szczegóły: opcja -v

Przydatną opcją jest -v (pełny). W Linuksie i FreeBSD jego efekt jest prawie taki sam: wyświetla dodatkowe informacje o strefie.

$ host -v www.spb.ru

Zapytanie o www.spb.ru dla typów rekordów A

Próbuję www.spb.ru ...

Zapytanie wykonane, 1 odpowiedź, status: brak błędu

www.spb.ru 2134 W 195.190.101.3

Informacje dotyczące urzędu:

www.spb.ru 48235 W NS ns.nevalink.ru

www.spb.ru 48235 W NS ns1.gldn.net

www.spb.ru 48235 W NS ns2.gldn.net

Dodatkowe informacje:

Ns.nevalink.ru 54275 W 195.190.100.28

Ns1.gldn.net 10978 W 194.67.2.108

Ns2.gldn.net 10972 W 195.218.218.8

$ host -v www.spb.ru.

Rcode = 0 (Sukces), liczba = 1

Poniższa odpowiedź nie jest miarodajna:

Następująca odpowiedź nie jest weryfikowana jako autentyczna przez serwer:

www.spb.ru 2053 W 195.190.101.3

Aby uzyskać autorytatywne odpowiedzi, zobacz:

www.spb.ru 48154 W NS ns.nevalink.ru

www.spb.ru 48154 W NS ns1.gldn.net

www.spb.ru 48154 W NS ns2.gldn.net

Dodatkowe informacje:

Ns.nevalink.ru 51480 W 195.190.100.28

Ns1.gldn.net 10348 W 194.67.2.108

Ns2.gldn.net 10342 W 195.218.218.8

Pole numeryczne, które pojawia się w odpowiedzi od hosta, wymaga doprecyzowania. Dzwoniąc kilka razy do hosta zauważysz, że jego wartość stale się zmniejsza, co nie jest zaskakujące, ponieważ to pole zawiera TTL --- czas rejestrowanie życia w strefie.

W systemie Linux możesz użyć opcji -vv, aby wyświetlić informacje o procesie uzyskiwania rekordów DNS.

Wybór typów rekordów: -a i -t Opcje

Dwa więcej ważny parametr host --- -a i -t polecenia. Opcja -a oznacza -t DOWOLNE w Linuksie i -v -t dowolne we FreeBSD, więc spójrzmy na wartość opcji -t.

Ten parametr służy do ustawienia typu interesujących Cię rekordów DNS. Obsługiwane są typy rekordów A, NS, MD, MF, CNAME, SOA, MB, MG, MR, NULL, WKS, PTR, HINFO, INFO, MX, UINFO, UID, GID, UNSPEC. Zauważ, że w Linuksie typ wpisu może być określony w każdym przypadku, podczas gdy we FreeBSD może to być tylko małymi literami (a, ns, cname, itp.). Jeśli parametr -t nie jest określony, Linux domyślnie wyszukuje rekordy typu A, jeśli podano parametr -l (patrz niżej) --- to typuje A, NS, PTR. FreeBSD, jeśli nie podano parametru -t, wyszukuje rekordy typu A i MX, a jeśli podano parametr -l, szuka również PTR i NS. Wersja hosta dla systemu Linux obsługuje również typ rekordu MAILB, czyli dowolny typ z MB, MR, MG lub MINFO. Zamiast określać opcję -t MAILB, możesz podać opcję -m; w tym przypadku zostanie również wykonane rekurencyjne rozwinięcie rekordów typu MR i MG do MB. Lista stref: Opcja -l Używając polecenia host z opcją -l, można uzyskać listę całej strefy. Użyj opcji -a i -t, aby określić typy rekordów, które Cię interesują. Należy pamiętać, że lista stref jest generowana poprzez zwrócenie się do AXFR o przeniesienie strefy i pobranie niezbędnych informacji z otrzymanej. Oznacza to, że parametr -l powoduje dodatkowe obciążenie sieci i serwerów DNS, dlatego należy używać go jak najmniej. Ponadto wiele administratorzy systemu konfigurują swoje serwery DNS w taki sposób, aby nikomu nie udostępniać strefy, odmawiając przetworzenia żądania AXFR (podczas gdy wersja hosta FreeBSD nawet nie zadaje sobie trudu, aby jasno wyjaśnić, co się stało):

$ host -l slashdot.org

Slashdot.org AXFR odrzucenie zapytania o rekord przez ns2.andover.net

Slashdot.org AXFR odrzucenie zapytania o rekord przez ns3.andover.net

Slashdot.org AXFR odrzucenie zapytania o rekord przez ns1.andover.net

Brak odpowiedzi na serwery nazw dla slashdot.org

$ host -l slashdot.org

Serwer nie powiódł się: zapytanie odrzucone

W systemie Linux możesz utworzyć kompletną kopię strefy nadającej się do zasilania binda za pomocą polecenia host -Z -a -l (i zapisać ją do pliku, dodając -f nazwa_pliku).

Inne parametry

Jak wiesz, DNS to system rekurencyjny. Jeśli serwer DNS nie znajdzie żądanych informacji, inicjuje rekurencyjne żądanie do serwera „nadrzędnego”.
Komenda host może temu zapobiec: parametr -r wyłącza zapytania rekurencyjne: odpytywany jest tylko domyślny serwer DNS. Ta opcja działa prawie tak samo pod Linuksem i FreeBSD, ale wyjście polecenia, gdy wpis nie zostanie znaleziony, jest nieco inny:

$ host -r www.spb.ru

www.spb.ru Rekord obecnie nie istnieje

$ host -r www.spb.ru

Jak widać, FreeBSD po prostu niczego nie wyświetla.

Z polecenia hosta w zasadzie można korzystać nie tylko w Internecie. Opcja -c pozwala nam określić klasę rekordów, którymi jesteśmy zainteresowani. Obsługiwane są klasy rekordów IN, CHAOS, HS, HESIOD (IN jest używany domyślnie). Klasy INTERNET, CS, CSNET, CH są również obsługiwane w systemie Linux. Możesz użyć słowa kluczowego ANY, aby określić wszystkie klasy (pod Linuksem możesz również użyć symbolu *, pamiętaj tylko, aby uciec z powłoki).

Aby wyświetlić informacje debugowania, użyj parametru -d (pod Linuksem można go zduplikować --- -dd--- aby zwiększyć ilość informacji debugowania).

W wersji hosta FreeBSD, przełącznik -s jest używany do pracy z DNSSEC (wersja Linux nie działa z DNSSEC, przełącznik -s jest używany do określenia limitu czasu serwera DNS w sekundach).

Lista stref: dodatkowe funkcje Wersje dla Linuksa

Parametry opisane w tej sekcji są specyficzne dla wersji hosta dla systemu Linux.

Listy rekurencyjne: parametr -L Parametr -L określa poziom rekurencji podczas wyświetlania listy stref. Na przykład polecenie:

$ host -l -a -L 1 jakaś.strefa

Spowoduje to wyświetlenie strefy some.zone oraz wszystkich jej delegowanych stref.
Zwiększenie poziomu rekurencji zwiększa głębię widoku delegowanych stref. Wszystko, co zostało powiedziane o niepożądanym stosowaniu parametru -l, jest jeszcze ważniejsze w przypadku kombinacji -L -l.

Statystyki: Opcja -S Określenie opcji -S podczas pobierania listy stref wyświetla statystyki dotyczące liczby znalezionych rekordów różne rodzaje, ilość hostów różnych typów, ilość delegowanych stref itp.:

$ host -l -a -S świeże mięso.net

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



Korzystanie z określonych serwerów DNS: opcje -p i -P

Parametr -p instruuje, aby podczas pobierania listy stref używać tylko podstawowego serwera DNS. Nazwa podstawowego serwera DNS jest określana na podstawie rekordu SOA danej strefy.
Parametr -P pozwala określić listę preferowanych domen (oddzielonych przecinkami). Zostanie użyty serwer DNS z największą liczbą dopasowań składników nazw do jednej z określonych domen. Wykorzystanie tych parametrów można zobaczyć na poniższym przykładzie:

$ host -vv -p -l piter.com

Próbuję serwer 195.239.142.33 (ns.piter.com)...

$ host -vv -P hellix.piter.com -l piter.com

Szukam serwerów nazw dla piter.com...

Zapytanie wykonane, 2 odpowiedzi, status: brak błędu

Poniższa odpowiedź nie jest miarodajna:

Piter.com 3308 W NS ns.piter.com

Piter.com 3308 W NS hellix.piter.com

Dodatkowe informacje:

Ns.piter.com 85293 W 195.239.142.33

Hellix.piter.com 3308 W 193.125.199.13

Znaleziono 1 adres ns.piter.com

Znaleziono 1 adres hellix.piter.com

Próbuję serwer 193.125.199.13 (hellix.piter.com)...

Strefy pomijania: parametr -N

Parametr -N pozwala określić listę stref (oddzielonych przecinkami), o których informacja nie jest wymagana. Jest zwykle używany w połączeniu z opcją -L.

Linux: rozszerzona składnia Określając parametr -x, możesz użyć tak zwanej rozszerzonej składni polecenia host, przekazując jej więcej niż jedną nazwę hosta. Ponieważ każda nazwa w tym przypadku jest traktowana jako nazwa hosta, którą należy pobrać, opcja -X jest używana do określenia serwera DNS do odpytywania. Jeśli podano -X, zakłada się -x.

Rozszerzona składnia umożliwia hostowi działanie w ogóle bez nazw hostów, a następnie przekazywanie ich na standardowe wejście programu. Pojedyncza linia może zawierać wiele nazw hostów, ale jeśli w linii pojawi się znak # lub;, reszta jest ignorowana.

Linux: tryby specjalne

Jeden z specjalne reżimy obsługiwany przez narzędzie hosta jest tryb transferu strefy włączony przez opcję -l. W wersji narzędzia dla systemu Linux istnieje kilka innych specjalnych trybów, z których wszystkie oprócz jednego są odmianami trybu -l.

Odmiany trybu transferu strefy

Opcja -C jest podobna do opcji -l, ale wywołuje różne testy dla strefy, w szczególności sprawdza, czy każdy z serwerów DNS wymienionych w rekordach NS dla strefy jest rzeczywiście zdolny do udzielenia autorytatywnej odpowiedzi na żądanie dla strefy. Wykonywane są również inne kontrole walidacji strefy.

Opcja -H jest również podobna do opcji -l, powodując przeniesienie strefy, chociaż nie wyświetla żadnych informacji o wejściu. Zamiast tego zliczana jest liczba rekordów A w strefie. Zwrócono szczególną uwagę (patrz host man 1), aby brać pod uwagę tylko "prawdziwe" hosty. Połączenie opcji -H -S pozwala uzyskać szczegółowe statystyki stref:

$ host -H -S świeże mięso.net

Znaleziono 34 rekordy A w serwisie freshmeat.net

Znaleziono 4 rekordy NS na stronie freshmeat.net

Znaleziono 9 rekordów CNAME na stronie freshmeat.net

Znaleziono 2 rekordy SOA na stronie freshmeat.net

Znaleziono 4 rekordy MX na stronie freshmeat.net

Znaleziono 32 hostów na stronie freshmeat.net

Znaleziono 9 zduplikowanych hostów na stronie freshmeat.net

Znaleziono 12 hostów extrazone na stronie freshmeat.net

Znaleziono 1 hosta bramy na stronie freshmeat.net

Znaleziono 0 delegowanych stref na stronie freshmeat.net

Opcje -G, -D, -E wyświetlają odpowiednio nazwy hostów bramy, hostów zduplikowanych i hostów extrazone. W tym przypadku brama oznacza hosta z więcej niż jednym adresem IP, zduplikowany host oznacza hosta z dokładnie jednym adresem IP, co również odpowiada kilku nazwom (być może z różnych stref - może to oznaczać błąd w strefie). Pozasezonowy host dla jakiejś.strefy to host w postaci host.coś.jakaś.strefa, gdzie coś.jakaś.strefa nie jest strefą delegowaną.

Tryb weryfikacji adresu

Ostatnim trybem wersji narzędzia hosta dla systemu Linux, którego nie analizowaliśmy, jest tryb sprawdzania adresu, inicjowany przez parametr -A. W takim przypadku wykonywane są następujące czynności:

* Jeśli jako argument podano nazwę hosta, określany jest jej adres, pod którym określana jest nazwa hosta i sprawdzany pod kątem zgodności z oryginalną nazwą.

* Jeśli jako argument podano adres IP, określana jest odpowiednia nazwa hosta, a następnie sprawdzane jest, czy źródłowy adres IP znajduje się na liście adresów IP dla znalezionej nazwy hosta.

* Jeżeli parametr jest określony razem z parametrem -l, to opisane akcje są wykonywane dla każdego rekordu A w strefie.

Aleksiej Wyskubow,

Inną metodą rozwiązywania nazw jest użycie lokalnej bazy danych nazw hostów, podobnie jak robiono to na początku. Sieci internetowe... Plik /etc/hosts zawiera listę nazw hostów z odpowiednimi adresami IP. Listing 4.3 przedstawia przykładowy plik /etc/hosts dla klienta Linux. Powinien zawierać nazwę i adres IP komputera oraz adres IP sprzężenia zwrotnego 127.0.0.1 do celów biznesowych. Ponadto, jeśli istnieją jakieś zdalne hosty, z którymi serwer Linux okresowo łączy się, wskazane jest również określenie ich adresów IP w pliku /etc/hosts. Teraz przy każdym dostępie do tych hostów serwer Linux będzie już miał ich adresy IP; w związku z tym nie ma potrzeby wykonywania zapytań DNS. Ponadto znacznie przyspiesza nawiązywanie połączenia.

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 Listing 4.3. Przykład / etc / plik hosts

Pierwsza i druga linia wskazują adresy IP lokalnego serwera Linux. Wiersze 3-5 pokazują adresy IP najczęściej żądanych komputerów w Twojej sieci. Dzięki temu dostęp do nich z serwera opartego na systemie Linux jest przyspieszony w porównaniu do korzystania z systemu DNS.

Nazwa hosta lokalnego

Wszystkie komputery z systemem Linux obsługują nazwę hosta lokalnego. Nazwa ta zawsze odpowiada adresowi IP 127.0.0.1, który jest przypisany do specjalnego urządzenia sieciowego typu „loopback”. Ta nazwa i adres umożliwia wewnętrznym procesom komunikowanie się z innymi procesami w tym samym systemie przy użyciu protokołów sieciowych. Wiele programów jest nawet skonfigurowanych do używania nazwy localhost. Zmiana tej nazwy lub odpowiadającego jej adresu IP może wpłynąć na działanie tych programów.

Plik tłumaczenia DNS

Plik /etc/host.conf definiuje metody i kolejność rozwiązywania nazw linuksowych. Listing 4.4 pokazuje przykładowy plik /etc/host.conf.

1 zamów hosty, powiąż 2 multi on Listing 4.4. Przykładowy plik /etc/host.conf

Pierwsza linia określa kolejność rozwiązywania nazw hostów. Tutaj sala operacyjna System Linux określa, że ​​powinien najpierw przejść do pliku / etc / hosts i poszukać tam hosta, a następnie spróbować rozwiązać nazwę za pomocą DNS (bind), jeśli nie można tego zrobić za pomocą / etc / hosts.

Narzędzia klienta DNS dla systemu Linux

Aby pomóc administratorowi systemu, napisano wiele narzędzi linuksowych, które ułatwiają systemowi DNS znajdowanie informacji o zdalnych hostach i sieciach. Dla systemów UNIX powstało Internetowe Konsorcjum Oprogramowania pakiet oprogramowania Berkeley Internet Name Domain (BIND), w skład którego wchodzą trzy najbardziej przydatne z punktu widzenia autora i powszechnie używane narzędzia: host, nslookup i dig. Programy te są rozpowszechniane wraz z oprogramowaniem zawartym w większości dystrybucji Linuksa. Red Hat i Mandrake Linux dostarczają te programy jako pakiety RPM.

Przy rozwiązywaniu ewentualnych problemów związanych z pracą E-mail w Internecie te narzędzia są bardzo przydatne. Często nadawca popełnia błędy w adresie e-mail odbiorcy, a listy nie są przyjmowane. Oczywiście będzie miał absolutną pewność, że podał właściwy adres i będzie obwiniał Cię za odesłane wiadomości. Jednak po krótkiej rozmowie z DNS można wyciągnąć jednoznaczne wnioski na temat poprawności lub niepoprawności adresu e-mail.

Narzędzie hosta

Program hosta wykonuje najprostsze rozpoznawanie nazw przy użyciu DNS. Format polecenia hosta jest następujący:

host [-l] [-v] [-w] [-r] [-d] [-t typ zapytania] [-a] host

Domyślnie polecenie host próbuje uzyskać adres IP dla nazwy określonej jako host przy użyciu serwera DNS zdefiniowanego w pliku /etc/resolv.conf. Jeśli serwer jest określony w wierszu poleceń, polecenie hosta użyje go domyślnie jako serwera DNS. Poprzez dodanie Dodatkowe opcje w wierszu poleceń możesz zmodyfikować sposób działania polecenia hosta. Wszystkie te parametry przedstawiono w tabeli. 4.5.

Tabela 4.5. Opcje poleceń hosta
Parametr Opis
-I Pokazuje pełne informacje o domenie
-v Używaj pełnego formatu podczas wyświetlania wyników
-w Powoduje, że polecenie hosta czeka na odpowiedź
-r Wyłącza tryb rekurencji
-D Włącza tryb debugowania
-t typ zapytania Określa rodzaj żądania
-a Odzyskuje wszystkie rekordy DNS

Opcji -l można użyć do znalezienia informacji o wszystkich hostach w domenie. Bardzo często parametr -t jest używany w połączeniu z nim w celu filtrowania informacji według typu (na przykład -t MX zwraca tylko rekordy MX dla domeny). Niestety obecnie trudno jest używać opcji -l ze względów bezpieczeństwa, ponieważ większość serwerów DNS odmawia dostarczania informacji o hostach ze swoich baz danych. Jeśli informacje są żądane ze zdalnego lub zajętego serwera DNS (lub przez połączenie o niskiej szybkości), można użyć parametru -w. Z jego pomocą program hosta wymusza oczekiwanie na odpowiedź na żądanie. Domyślny limit czasu to około minuty.

Jedną z najbardziej użytecznych opcji jest -r. Instruuje serwer DNS, aby zwrócił tylko informacje zawarte w lokalnej bazie danych. W takim przypadku serwer DNS nie kontaktuje się z innymi serwerami DNS w celu uzyskania informacji.

Jest to bardzo przydatne przy określaniu, czy serwer DNS prawidłowo buforuje odpowiedzi DNS. Najpierw spróbuj określić opcję -r. Jeśli nie ma informacji o nazwie hosta, nie zostanie odebrana żadna odpowiedź z lokalnego serwera DNS. Następnie wydaj polecenie bez parametru -r. Tutaj powinna pojawić się normalna odpowiedź, ponieważ lokalny serwer DNS może odbierać dane od innych Serwery DNS... Następnie spróbuj ponownie uruchomić polecenie hosta z opcją -r. Otrzymane informacje powinny teraz dokładnie odpowiadać danym uzyskanym w wyniku poprzedniej próby. Oznacza to, że serwer DNS tym razem zebrał informacje z pamięci podręcznej, które były istotne dla poprzedniej próby. Jeśli nie zostaną odebrane żadne informacje, lokalny serwer DNS nie buforował poprzedniej odpowiedzi. Wtedy powinieneś zauważyć znaczne spowolnienie odbierania odpowiedzi na żądanie, ponieważ odbywa się to przez sieć, a nie z pamięci podręcznej.

Domyślnie polecenie hosta próbuje wyprowadzić swoje dane wyjściowe w łatwym do odczytania formacie. Na przykład, jak pokazano na listingu 4.5. Jeśli podano opcję -v, dane wyjściowe wyglądają jak oryginalne rekordy DNS. Może to być przydatne podczas debugowania DNS.

1 $ host www.linux.org 2 www.linux.org ma adres 198.182.196.56 3 poczta www.linux.org jest obsługiwana (pri = 2O) przez router.invlogic.com 4 poczta www.linux.org jest obsługiwana (pri = 30) przez border-ai.invlogic.com 5 www.linux.org poczta jest obsługiwana (pri = 10) przez mail.linux.org 6 $ Listing 4.5. Przykładowe polecenie hosta

Linia 1 pokazuje podstawowy format polecenia hosta - wystarczy dodać nazwę hosta, o którym chcesz uzyskać informacje. Linie 2-5 przedstawiają wyniki pracy zespołu. Wiersz 2 pokazuje, że serwer DNS był w stanie rozwiązać podaną nazwę hosta na jego adres IP. Wiersze 3-5 poniżej pokazują trzy komputery, które mogą odbierać pocztę e-mail dla danego hosta zgodnie z rekordami MX. Zauważ, że polecenie host pokazuje nawet wagi (lub priorytety) dla każdego serwera poczty. Jeśli poczta została wysłana do użytkownika określonego hosta, to serwer o priorytecie 10 (mail.linux.org) przejmie jej dostarczanie. Jeśli polecenie hosta nie zostanie wykonane, możesz wysłać żądanie przez inny serwer DNS, podając jego adres po adresie hosta w wierszu poleceń. Jest to bardzo skuteczne, jeśli uważasz, że lokalny serwer DNS nie działa prawidłowo.

Wersja gospodarz.

Opis

W składni wymienionej poniżej: Nazwa to nazwa domeny, która ma zostać wyszukana. Nazwa może być również adresem IPv4 w postaci dziesiętnej z kropkami lub adresem IPv6 rozdzielonym dwukropkiem, w takim przypadku gospodarz domyślnie wykona wyszukiwanie wsteczne dla tego adresu. ten serwer jest opcjonalnym argumentem, który jest nazwą lub adresem IP serwera nazw, który host powinien wykonać, zamiast serwera lub serwerów wymienionych w /etc/resolv.conf.

Składnia

host [-aCdlnrsTwv] [-c klasa] [-N kropki] [-R numer] [-T rodzaj] [-W czekać] [-m flaga] [-4] [-6] {Nazwa} [serwer]

Opcje

ten -a (wszystko) jest równoznaczne z ustawieniem -v opcja i pytanie gospodarz aby wykonać zapytanie typu ANY.

Kiedy -C używana jest opcja, gospodarz spróbuje wyświetlić rekordy SOA dla nazwy strefy ze wszystkich wymienionych autorytatywnych serwerów nazw dla tej strefy. Lista serwerów nazw jest definiowana przez rekordy NS znalezione dla strefy.

-C klasa

ten -C opcja instruuje gospodarz zrobić DNS zapytanie klasy klasa... Może to służyć do wyszukiwania rekordów zasobów klasy Hesiod lub Chaosnet. Domyślna klasa to W(Internet).

Pełne informacje są generowane przez gospodarz kiedy -D lub -v używana jest opcja. Te dwie opcje są równoważne. Zostały one zapewnione w celu zapewnienia kompatybilności wstecznej. W poprzednich wersjach -D opcja włączona debugowanie śladów i -v włączone pełne wyjście.

Tryb listy jest wybierany przez -I opcja. To sprawia, że ​​host wykonuje transfer strefy dla nazwy strefy. Przenieś strefę drukując rekordy NS, PTR i adresowe (A / AAAA). W połączeniu z -a wszystkie rekordy zostaną wydrukowane.

ten -i opcja określa, że ​​wyszukiwania wsteczne adresów IPv6 powinny korzystać z domeny IP6.INT zgodnie z definicją w RFC1886. Domyślnie używany jest IP6.ARPA.

-N kropki

ten -N opcja ustawia liczbę kropek, które muszą być w nazwie, aby było uważane za bezwzględne. Wartość domyślna jest zdefiniowana za pomocą kropki oświadczenie w /etc/resolv.conf, lub 1 Jeśli nie kropki oświadczenie jest obecne. Nazwy z mniejszą liczbą kropek są interpretowane jako nazwy względne i będą wyszukiwane w domenach wymienionych w dyrektywie search lub domain w /etc/resolv.conf.

-R numer

ten -s opcja mówi gospodarz nie wysyłać zapytania do następnego serwera nazw, jeśli któryś z serwerów odpowie odpowiedzią SERVFAIL, co jest odwrotnością normalnego zachowania procedury rozpoznawania skrótów.

-m flaga

ten -m może służyć do ustawiania rekordu, użycia i śledzenia flag debugowania użycia pamięci.

Przykłady

gospodarz 204.228.150,3

To polecenie wykonuje odwrotne wyszukiwanie adresu IP 204.228.150.3 , co daje wynik:

3.150.228.204.in-addr.arpa wskaźnik nazwy domeny www.site.

Powiązane polecenia

kopać- Narzędzie do wyszukiwania DNS.
nslookup- Zapytaj serwer nazw o informacje o zdalnym hoście.
świst- Wysyłaj pakiety ICMP ECHO_REQUEST do hostów sieciowych.