DNS și nume de domenii. Comenzi Linux Linux: moduri speciale

Acest articol vă va învăța despre comanda gazdă. Utilitarul gazdă este conceput pentru a efectua interogări către serverele DNS.

[Alexey Vyskubov]

Acest articol vă va spune despre comanda gazdă.

Exemple de lucru sunt date în sistemele de operare Linux 2.2.17 (Debian unstable, „woody”) și FreeBSD 4.2.

Utilitarul gazdă este conceput pentru a efectua interogări către serverele DNS.
În mod implicit, găsește pur și simplu adresa IP corespunzătoare numelui de gazdă dat, de exemplu:

$ gazdă www.site

www.site-ul A 195.5.132.10

$ gazdă www.site

www.site-ul are adresa 195.5.132.10

După cum puteți vedea, în cazul Linux, utilitarul produce o înregistrare DNS de tip A, în timp ce FreeBSD raportează pur și simplu adresa gazdei folosind limba engleză. Trebuie remarcat faptul că înregistrarea DNS produsă de Linux nu este potrivită pentru plasarea directă într-o bază de date a serverului DNS, deoarece numele de gazdă nu se termină cu un punct; specificarea unui punct după numele gazdei atunci când apelați gazda, de asemenea, nu ajută.
De asemenea, nu există suficient IN între numele de gazdă și A. Dacă aveți nevoie să obțineți o intrare care poate fi introdusă direct în baza de date DNS, pe Linux puteți utiliza opțiunea -Z:

$ gazdă -Z slashdot.org

Slashdot.org. 3600 IN A 64.28.67.48

FreeBSD nu are această caracteristică.

O situație similară apare atunci când numele specificat este un alias --- Linux scoate o linie cu cuvântul CNAME, iar FreeBSD folosește construcția „xxx.yyy.zzz este o poreclă pentru aaa.bbb.ccc” :

$ gazdă admin1.piter-press.ru

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

Ns.piter-press.ru A 195.239.142.33

$ gazdă admin1.piter-press.ru.

Admin1.piter-press.ru este o poreclă pentru ns.piter-press.ru

Ns.piter-press.ru are adresa 195.239.142.33

Trebuie remarcat faptul că, după numele de gazdă din comanda gazdă, puteți specifica numele serverului pe care doriți să îl sondați. Dacă numele serverului nu este specificat (ca în exemplele noastre), atunci este interogat unul dintre serverele DNS pentru această zonă.

Dacă gazda primește ca intrare nu un nume de gazdă, ci o adresă IP, atunci conversia inversă este efectuată --- în FQDN.

$host 195.239.142.33

Nume: ns.piter-press.ru

Adresa: 195.239.142.33

$host 195.239.142.33

33.142.239.195.IN-ADDR.ARPA indicator pentru nume de domeniu ns.piter-press.ru

De data aceasta, în cazul Linux, sunt furnizate informații text obișnuite (deși, s-ar părea, de ce să nu afișați o înregistrare DNS de tip PTR?). FreeBSD acționează mai logic --- adresa IP este convertită în numele său de gazdă corespunzător în zona IN-ADDR.ARPA, pentru care informațiile sunt afișate --- din nou, folosind limba engleză.

Substituție de domeniu local

O altă diferență importantă între versiunile Linux și FreeBSD ale gazdei este că FreeBSD, dacă numele de gazdă nu se termină cu un punct, încearcă să înlocuiască un domeniu local cu acesta, ceea ce Linux nu face (aceasta poate fi o eroare, deoarece pagina de manual afirmă altfel):

$ nume de gazdă -d

$nslookup vai.spb.ru

Server: frei.home

Adresa: 192.168.1.5

Nume: woe.spb.ru

Adresa: 193.125.200.14

$ gazdă vai

Vai nu există (răspuns cu autoritate)

După cum putem vedea, spb.ru este un domeniu local, host woe.spb.ru există, dar comanda host woe nu produce rezultatul dorit. Trebuie remarcat faptul că a avea linia de căutare spb.ru (sau domeniul spb.ru) în fișierul /etc/resolv.conf ar rezolva problema. În FreeBSD, comportamentul gazdei este diferit:

$ gazdă alv

Alv.home are adresa 192.168.1.1

$ gazdă alv.

Gazda nu a fost găsită

Domeniul local a fost înlocuit doar în primul caz, deoarece numele nu se termină cu punct. Căutarea și/sau liniile de domeniu din rezolv.conf nu sunt necesare.

Detalii: opțiunea -v

O opțiune utilă este -v (verboză). Atât în ​​Linux, cât și în FreeBSD, efectul său este aproape același: afișează informații suplimentare despre zonă.

$ gazdă -v www.spb.ru

Întrebați despre www.spb.ru pentru tipurile de înregistrare A

Încercând www.spb.ru...

Interogare finalizată, 1 răspuns, stare: fără eroare

Www.spb.ru 2134 IN A 195.190.101.3

Informații despre autoritate:

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

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

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

Informații suplimentare:

Ns.nevalink.ru 54275 IN A 195.190.100.28

Ns1.gldn.net 10978 ÎN A 194.67.2.108

Ns2.gldn.net 10972 IN A 195.218.218.8

$ gazdă -v www.spb.ru.

Rcode = 0 (Succes), ancount=1

Următorul răspuns nu este autorizat:

Următorul răspuns nu este verificat ca fiind autentic de către server:

Www.spb.ru 2053 IN A 195.190.101.3

Pentru răspunsuri autorizate, vezi:

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

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

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

Informații suplimentare:

Ns.nevalink.ru 51480 IN A 195.190.100.28

Ns1.gldn.net 10348 ÎN A 194.67.2.108

Ns2.gldn.net 10342 IN A 195.218.218.8

Câmpul numeric care apare în răspunsul gazdei necesită o explicație. După ce ați sunat gazdă de mai multe ori, veți observa că valoarea acesteia este în continuă scădere, ceea ce nu este surprinzător, deoarece acest câmp conține TTL --- durata de viață a intrării în zonă.

Pe Linux, puteți utiliza opțiunea -vv pentru a afișa informații despre progresul recuperării înregistrărilor DNS.

Selectarea tipurilor de înregistrare: Opțiuni -a și -t

Încă doi parametri importanți pentru comanda gazdă sunt -a și -t . Opțiunea -a înseamnă -t ANY pe Linux și -v -t orice pe FreeBSD, așa că să ne uităm la semnificația opțiunii -t.

Această setare este folosită pentru a specifica tipul de înregistrări DNS care vă interesează. Tipurile de înregistrare acceptate sunt A, NS, MD, MF, CNAME, SOA, MB, MG, MR, NULL, WKS, PTR, HINFO, INFO, MX, UINFO, UID, GID, UNSPEC. Vă rugăm să rețineți că în Linux tipul de înregistrare poate fi specificat în orice caz, dar în FreeBSD poate fi specificat doar cu litere mici (a, ns, cname etc.). Dacă parametrul -t nu este specificat, atunci Linux caută implicit înregistrări de tip A, dacă parametrul -l este specificat (vezi mai jos) --- atunci tastați A, NS, PTR. FreeBSD, când parametrul -t nu este specificat, caută înregistrări de tipurile A și MX când este specificat parametrul -l, caută și PTR și NS; Versiunea Linux a gazdei acceptă și tipul de înregistrare MAILB, adică orice tip de la MB, MR, MG sau MINFO. În loc să specificați opțiunea -t MAILB, puteți specifica opțiunea -m; în acest caz, înregistrările de tipurile MR și MG vor fi, de asemenea, extinse recursiv la MB.

Listarea zonei: parametrul -l Folosind comanda gazdă cu parametrul -l, puteți lista întreaga zonă. Pentru a specifica tipurile de înregistrări care vă interesează, utilizați opțiunile -a și -t. Rețineți că o listă de zonă este generată prin efectuarea unei cereri de transfer de zonă AXFR și extragerea informațiilor necesare din ceea ce este primit. Aceasta înseamnă că opțiunea -l creează încărcare suplimentară pe rețea și serverele DNS, așa că ar trebui să o utilizați cât mai puțin posibil. În plus, mulți administratori de sistem își configurează serverele DNS în așa fel încât să nu dea zona oricui, refuzând să proceseze cererea AXFR (în timp ce versiunea FreeBSD a gazdei nici măcar nu se va deranja să vă explice clar ce s-a întâmplat). ):

$ gazdă -l slashdot.org

Interogare de înregistrare AXFR Slashdot.org refuzată de ns2.andover.net

Interogare de înregistrare AXFR Slashdot.org refuzată de ns3.andover.net

Interogare de înregistrare AXFR Slashdot.org refuzată de ns1.andover.net

Listarea zonei: parametrul -l Folosind comanda gazdă cu parametrul -l, puteți lista întreaga zonă. Pentru a specifica tipurile de înregistrări care vă interesează, utilizați opțiunile -a și -t. Rețineți că o listă de zonă este generată prin efectuarea unei cereri de transfer de zonă AXFR și extragerea informațiilor necesare din ceea ce este primit. Aceasta înseamnă că opțiunea -l creează încărcare suplimentară pe rețea și serverele DNS, așa că ar trebui să o utilizați cât mai puțin posibil. În plus, mulți administratori de sistem își configurează serverele DNS în așa fel încât să nu dea zona oricui, refuzând să proceseze cererea AXFR (în timp ce versiunea FreeBSD a gazdei nici măcar nu se va deranja să vă explice clar ce s-a întâmplat). ):

Niciun server de nume pentru slashdot.org nu a răspuns

Serverul a eșuat: interogarea a fost refuzată

Pe Linux, puteți crea o copie completă a zonei, potrivită pentru alimentarea bind, cu comanda gazdă -Z -a -l (și scrieți-o într-un fișier adăugând -f nume de fișier).

Alți parametri
Comanda gazdă are o opțiune pentru a preveni acest lucru: opțiunea -r dezactivează interogările recursive: este interogat doar serverul DNS implicit. Această opțiune funcționează aproape identic atât sub Linux, cât și sub FreeBSD, dar rezultatul comenzii atunci când intrarea nu este găsită este ușor diferită:

$ gazdă -r www.spb.ru

Www.spb.ru Un record nu este prezent

$ gazdă -r www.spb.ru

După cum puteți vedea, FreeBSD pur și simplu nu scoate nimic.

Comanda gazdă, în principiu, poate fi folosită nu numai pe Internet. Parametrul -c ne permite să specificăm clasa de înregistrări care ne interesează. Sunt acceptate clasele de înregistrare IN, CHAOS, HS, HESIOD (IN este utilizat în mod implicit). Clasele INTERNET, CS, CSNET, CH sunt de asemenea acceptate sub Linux. Pentru a specifica toate clasele, puteți folosi cuvântul cheie ORICE (sub Linux puteți folosi și simbolul *, nu uitați să-l scăpați din shell).

Pentru a scoate informații de depanare, utilizați parametrul -d (sub Linux poate fi duplicat --- -dd --- pentru a crește cantitatea de informații de depanare).

În versiunea FreeBSD, cheia gazdă -s este folosită pentru a lucra cu DNSSEC (versiunea Linux nu funcționează cu DNSSEC, cheia -s este folosită pentru a specifica timpul de expirare a serverului DNS în secunde).

Lista zonelor: caracteristici suplimentare ale versiunii Linux

Opțiunile descrise în această secțiune sunt specifice versiunii Linux a gazdei.

Listări recursive: parametrul -L Parametrul -L specifică nivelul de recursivitate la afișarea unei liste de zone. De exemplu, comanda:

$ gazdă -l -a -L 1 unele.zonă

Va enumera zona some.zone, precum și toate zonele sale delegate.
Creșterea nivelului de recursivitate crește profunzimea de scanare a zonelor delegate. Tot ceea ce s-a spus despre indezirabilitatea utilizării opțiunii -l este și mai important atunci când se folosește combinația -L -l.

Statistici: parametrul -S Specificarea parametrului -S la preluarea unei liste de zone afișează informații statistice despre numărul de înregistrări de diferite tipuri găsite, numărul de gazde de diferite tipuri, numărul de zone delegate etc.:

$ gazdă -l -a -S freshmeat.net

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



Folosind servere DNS specifice: opțiunile -p și -P

Parametrul -p specifică utilizarea numai a serverului DNS primar la obținerea unei liste de zone. Numele serverului DNS primar este determinat folosind înregistrarea SOA a zonei în cauză.
Opțiunea -P vă permite să specificați o listă de domenii preferate (separate prin virgule). Va fi folosit serverul DNS care are cel mai mare număr de potriviri ale componentelor de nume cu unul dintre domeniile specificate. Utilizarea acestor parametri este ilustrată în următorul exemplu:

$ host -vv -p -l piter.com

Se încearcă serverul 195.239.142.33 (ns.piter.com)...

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

Găsirea serverelor de nume pentru piter.com...

Interogare finalizată, 2 răspunsuri, stare: fără eroare

Următorul răspuns nu este autorizat:

Piter.com 3308 IN NS ns.piter.com

Piter.com 3308 IN NS helix.piter.com

Informații suplimentare:

Ns.piter.com 85293 IN A 195.239.142.33

Hellix.piter.com 3308 ÎN A 193.125.199.13

S-a găsit o adresă pentru ns.piter.com

S-a găsit o adresă pentru hellix.piter.com

Se încearcă serverul 193.125.199.13 (helix.piter.com)...

Omite zone: parametrul -N

Parametrul -N vă permite să specificați o listă de zone (separate prin virgule) despre care nu sunt necesare informații. Este de obicei folosit împreună cu opțiunea -L.

Linux: sintaxă extinsă Specificând opțiunea -x, puteți utiliza așa-numita sintaxă de comandă de gazdă extinsă, transmițându-i mai mult de un nume de gazdă. Deoarece fiecare nume în acest caz este tratat ca numele unei gazde despre care trebuie să fie preluată informațiile, parametrul -X este utilizat pentru a specifica serverul DNS de interogat. Dacă este specificată opțiunea -X, atunci -x este implicită.

Sintaxa extinsă vă permite să rulați gazdă fără nume de gazdă, trecându-le ulterior la intrarea standard a programului. O linie poate conține mai multe nume de gazdă, dar dacă pe linie apare un caracter # sau , restul liniei este ignorată.

Linux: moduri speciale

Unul dintre modurile speciale suportate de utilitarul gazdă este modul de transfer de zonă, activat de opțiunea -l. Versiunea Linux a utilitarului are mai multe moduri speciale, toate dintre care, cu excepția unuia, sunt variații ale modului -l.

Variații ale modului de transfer de zonă

Opțiunea -C este similară cu opțiunea -l, dar provoacă verificări diferite pentru zonă, verificând în special dacă fiecare dintre serverele DNS enumerate în înregistrările NS pentru zonă este de fapt capabil să ofere un răspuns autorizat la o întrebare despre zona. Se efectuează și alte verificări de valabilitate a zonei.

Opțiunea -H este, de asemenea, similară cu opțiunea -l, determinând un transfer de zonă, deși nu imprimă informații despre intrări. În schimb, se numără numărul de înregistrări A din zonă. Se acordă o atenție deosebită (vezi omul 1 gazdă) pentru a se asigura că sunt luate în considerare doar gazdele „adevărate”. Combinarea parametrilor -H -S vă permite să obțineți statistici detaliate de zonă:

$ gazdă -H -S freshmeat.net

S-au găsit 34 de înregistrări A în freshmeat.net

S-au găsit 4 înregistrări NS în freshmeat.net

S-au găsit 9 înregistrări CNAME în freshmeat.net

S-au găsit 2 înregistrări SOA în freshmeat.net

S-au găsit 4 înregistrări MX în freshmeat.net

S-au găsit 32 de gazde în freshmeat.net

S-au găsit 9 gazde duplicat în freshmeat.net

S-au găsit 12 gazde extrazone în freshmeat.net

S-a găsit 1 gazdă gateway în freshmeat.net

S-au găsit 0 zone delegate în freshmeat.net

Parametrii -G, -D și -E afișează numele gazdelor gateway, gazdelor duplicate și, respectiv, gazdelor extrazone. În acest caz, un gateway este înțeles ca o gazdă care are mai multe adrese IP, o gazdă duplicată este înțeleasă ca o gazdă cu exact o adresă IP, care corespunde, de asemenea, la mai multe nume (eventual din zone diferite --- asta poate însemna o eroare în zonă). O gazdă din afara zonei pentru zona some.zone înseamnă o gazdă cu formularul host.something.some.zone, unde ceva.some.zone nu este o zonă delegată.

Modul de verificare a adresei

Ultimul mod al versiunii Linux a utilitarului gazdă pe care nu l-am examinat este modul de verificare a adresei, inițiat de parametrul -A. În acest caz, se efectuează următoarele acțiuni:

* Dacă un nume de gazdă a fost specificat ca argument, atunci adresa de la care este determinat numele de gazdă este determinată și verificată pentru a vedea dacă se potrivește cu numele original.

* Dacă a fost specificată o adresă IP ca argument, se determină numele de gazdă corespunzător și apoi se verifică dacă adresa IP sursă se află în lista de adrese IP pentru numele de gazdă găsit.

* Dacă parametrul este specificat împreună cu parametrul -l, atunci acțiunile descrise sunt efectuate pentru fiecare înregistrare A din zonă.

Alexei Vyskubov,

O altă metodă de rezoluție a numelor este utilizarea unei baze de date locale de nume de gazdă, așa cum se făcea în primele zile ale Internetului. Fișierul /etc/hosts conține o listă de nume de gazdă cu adrese IP corespunzătoare. Lista 4.3 arată un exemplu de fișier /etc/hosts pentru un client Linux. Ar trebui să conțină numele mașinii și adresa IP, precum și adresa IP de loopback 127.0.0.1 în scopuri de service. În plus, dacă există gazde la distanță la care serverul dumneavoastră Linux se conectează periodic, este de asemenea recomandabil să indicați adresele lor IP în fișierul /etc/hosts. Acum, de fiecare dată când accesați aceste gazde, serverul Linux va avea deja adresele lor IP; astfel, nu este nevoie să efectuați interogări DNS. În plus, acest lucru face ca stabilirea unei conexiuni să fie mult mai rapidă.

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 Lista 4.3.

Exemplu de fișier /etc/hosts

Prima și a doua linie indică adresele IP pentru serverul Linux local. Rândurile 3–5 furnizează adresele IP pentru mașinile cel mai frecvent accesate din rețeaua dumneavoastră. Datorită acestui fapt, accesul la acestea de pe un server bazat pe Linux este mai rapid, în comparație cu utilizarea sistemului DNS.

numele localhost

Toate computerele Linux acceptă numele localhost. Acest nume corespunde întotdeauna adresei IP 127.0.0.1, care este atribuită unui dispozitiv special de rețea loopback. Acest nume și adresă permit proceselor interne să comunice cu alte procese din același sistem folosind protocoale de rețea. Multe programe sunt chiar configurate să folosească localhost. Schimbarea acestui nume sau a adresei IP corespunzătoare poate afecta funcționarea acestor programe.

Fișier de rezoluție DNS

Fișierul /etc/host.conf definește metodele și ordinea rezoluției numelor pentru sistemul de operare Linux. Lista 4.4 arată un exemplu de fișier /etc/host.conf. 1 comandă gazde, legați 2 multi-on

Lista 4.4.

Exemplu de fișier /etc/host.conf

Pentru a ajuta administratorul de sistem, au fost scrise multe utilitare pentru sistemul de operare Linux, concepute pentru a facilita DNS să găsească informații despre gazde și rețele de la distanță. Pentru sistemele UNIX, Internet Software Consortium a creat pachetul software Berkeley Internet Name Domain (BIND), care includea trei dintre cele mai utile, din punctul de vedere al autorului, și utilități larg utilizate: host, nslookup și dig. Aceste programe sunt distribuite împreună cu software-ul inclus în majoritatea distribuțiilor Linux. Pe Red Hat și Mandrake Linux, aceste programe sunt furnizate ca pachete RPM.

La rezolvarea eventualelor probleme asociate cu funcționarea e-mailului pe Internet, aceste utilități sunt foarte utile. Adesea, expeditorul face greșeli în adresa destinatarului de e-mail și e-mailurile nu sunt acceptate. Desigur, el va fi absolut sigur că a folosit adresa corectă și va pune vina pentru mesajele returnate pe tine. Cu toate acestea, după o mică comunicare cu DNS-ul, puteți trage concluzii clare despre corectitudinea sau eroarea adresei de e-mail.

utilitar gazdă

Programul gazdă realizează o rezoluție simplă de nume folosind DNS. Formatul comenzii gazdă este următorul:

gazdă [-l] [-v] [-w] [-r] [-d] [-t tip interogare] [-a] gazdă

În mod implicit, comanda gazdă încearcă să obțină adresa IP pentru numele specificat ca gazdă folosind serverul DNS definit în fișierul /etc/resolv.conf. Dacă serverul este specificat pe linia de comandă, atunci în mod implicit comanda gazdă îl va folosi ca server DNS. Adăugând parametri suplimentari pe linia de comandă, puteți modifica comportamentul comenzii gazdă. Toți acești parametri sunt enumerați în tabel. 4.5.

Tabelul 4.5.
opțiuni de comandă gazdă Parametru
Descriere -l
Afișează informații complete despre domeniu -v
Folosește formatul verbos la ieșirea rezultatelor -w
Determină comanda gazdă să aștepte un răspuns -r
Dezactivează modul recursiv -d
Activează modul de depanare -t tip de interogare
Definește tipul cererii -o

Opțiunea -l poate fi folosită pentru a găsi informații despre toate gazdele dintr-un domeniu. Foarte des, parametrul -t este folosit împreună cu acesta pentru a filtra informațiile după tip (de exemplu, -t MX returnează numai înregistrări MX pentru domeniu). Din păcate, din motive de securitate, este dificilă utilizarea opțiunii -l în zilele noastre, deoarece majoritatea serverelor DNS refuză să furnizeze informații despre gazdă din bazele lor de date. Dacă informațiile sunt solicitate de la un server DNS la distanță sau ocupat (sau printr-o conexiune de viteză redusă), atunci poate fi utilizat parametrul -w. Cu ajutorul său, programul gazdă este forțat să aștepte un răspuns la cerere. Timpul de așteptare implicit este de aproximativ un minut.

Una dintre cele mai utile opțiuni este -r . Acesta indică serverului DNS să returneze numai informațiile conținute în baza de date locală. În acest caz, serverul DNS nu contactează alte servere DNS pentru informații.

Acest lucru este destul de util pentru a determina dacă serverul dvs. DNS memorează în cache răspunsurile DNS corect. Mai întâi, încercați să specificați opțiunea -r. Dacă nu există informații despre numele de gazdă, atunci nu va fi primit niciun răspuns de la serverul DNS local. Apoi lansați comanda fără opțiunea -r. Un răspuns normal ar trebui să fie primit aici, deoarece serverul DNS local are permisiunea de a primi date de la alte servere DNS. Apoi, încercați din nou comanda gazdă cu opțiunea -r. Acum informațiile obținute ar trebui să se potrivească exact cu datele obținute ca urmare a încercării anterioare. Aceasta înseamnă că serverul DNS de data aceasta a preluat informații din cache care au fost relevante pentru încercarea anterioară. Dacă nu sunt primite informații, atunci serverul DNS local nu a memorat în cache răspunsul anterior. Apoi ar trebui să observați o încetinire semnificativă a primirii unui răspuns la o solicitare, deoarece se face prin rețea și nu este luat din cache.

În mod implicit, comanda gazdă va încerca să-și scoată rezultatul într-un format care poate fi citit de om. De exemplu, așa cum se arată în Lista 4.5. Dacă este specificată opțiunea -v, rezultatul arată ca înregistrările DNS originale. Acest lucru poate fi util la depanarea sistemului DNS.

1 $host www.linux.org 2 www.linux.org are adresa 198.182.196.56 3 www.linux.org poșta este gestionată (pri=2O) de router.invlogic.com 4 www.linux.org poșta este gestionată (pri =30) de către border-ai.invlogic.com 5 www.linux.org poșta este gestionată (pri=10) de mail.linux.org 6 $ Lista 4.5.

Linia 1 arată formatul de bază al comenzii gazdă - pur și simplu adăugați numele gazdei despre care doriți informații. Liniile 2–5 reprezintă rezultatul comenzii. Linia 2 arată că serverul DNS a fost capabil să rezolve numele gazdei date la adresa sa IP. În continuare, rândurile 3-5 arată trei computere care pot accepta e-mail pentru o anumită gazdă conform înregistrărilor MX. Rețineți că comanda gazdă chiar arată ponderile (sau prioritățile) pentru fiecare server de e-mail. Dacă e-mailul a fost trimis unui utilizator pe gazda specificată, atunci serverul cu prioritate 10 (mail.linux.org) îl va livra mai întâi. Dacă comanda gazdă nu funcționează, puteți trimite o solicitare printr-un alt server DNS specificând adresa acestuia după adresa gazdei pe linia de comandă. Acest lucru este destul de eficient dacă credeți că serverul DNS local nu se comportă destul de corect.

Vreau să vă spun despre un mod oarecum nestandard prin care puteți deschide site-uri într-un browser folosind nume scurte. De exemplu, în loc să tastați „yandex.ru” în browser, puteți introduce pur și simplu o literă „y”. Fișierul /etc/hosts ne va ajuta în acest sens.

Fișierul /etc/hosts

Fișierul /etc/hosts specifică corespondența dintre adresa IP și numele gazdei (nume gazdă, domeniu), precum și aliasurile acestora (numite și sinonime, aliasuri). Când accesați o adresă în rețea, de exemplu, http://yandex.ru, pentru a accesa site-ul, sistemul trebuie mai întâi să convertească adresa site-ului în adresa IP corespunzătoare pentru aceasta, sistemul solicită adresa IP de la server DNS. Dacă fișierul /etc/hosts conține o corespondență între yandex.ru și o adresă IP, atunci sistemul va folosi exact această adresă IP. Și deoarece putem specifica și un alias în fișierul /etc/hosts, prin care o anumită adresă IP va fi accesibilă, putem specifica, de exemplu, alias-ul „y” pentru yandex.ru. În consecință, atunci când solicitați „y” în browser, sistemul va citi adresa IP din fișierul /etc/hosts și va deschide site-ul web yandex.ru. Adică /etc/hosts este un fel de server DNS local.

Cum să aflați adresa IP a unui site

Acum trebuie să determinăm adresele IP ale site-urilor pe care dorim să le adăugăm la /etc/hosts. Este de remarcat faptul că nu toate site-urile au o adresă IP dedicată separată și este imposibil să le accesezi doar prin adresa IP. Dar aproape toate site-urile și portalurile mari au propria lor adresă IP dedicată. O modalitate ușoară de a afla adresa IP a unui site este să utilizați comanda ping:

Ping site-address.ru

De exemplu, să facem:

ping yandex.ru

Procesul ping va fi afișat pe ecran (pentru a întrerupe, apăsați Ctrl+C). Deci, vom obține rezultatul comenzii ping astfel:

PING yandex.ru (87.250.250.11) 56(84) octeți de date. 64 de octeți de la yandex.ru (87.250.250.11): icmp_seq=1 ttl=57 time=3.57 ms ...

Aici puteți vedea că yandex.ru corespunde adresei IP 87.250.250.11. Facem același lucru pentru alte site-uri.

Editarea fișierului /etc/hosts

Trebuie să editați fișierul /etc/hosts cu atenție pentru a nu strica nimic, deoarece acesta este un fișier de sistem și este important să nu-i încălcați sintaxa. Deschideți fișierul pentru editare, pentru a face acest lucru, rulați pe linia de comandă:

Sudo gedit /etc/hosts

Conținutul fișierului arată cam așa:

127.0.0.1 localhost::1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # Următoarele linii sunt de dorit pentru gazde cu IPv6::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet...

Sintaxa pentru fișierul /etc/hosts este foarte simplă:

Adresă IP nume gazdă [aliasuri, ...]

Să adăugăm noi linii în fișier pentru diferite site-uri:

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

Salvați și închideți fișierul. Am scris corespondențe între adresele IP, numele site-urilor și aliasurile acestora. Acum accesați browserul și introduceți pur și simplu „g” în bara de adrese, site-ul web google.ru ar trebui să se deschidă. Pentru a deschide mail.ru, introduceți pur și simplu „m”, pentru rbc.ru - pur și simplu „r”, yandex.ru - „y”.

Întrebare. Cum pot adăuga un utilizator la un grup în Linux?

Răspuns. Puteți folosi comenzile useradd sau usermod pentru a adăuga un utilizator la un grup. Comanda useradd creează un utilizator nou sau actualizează informații pentru unul existent. Comanda usermod modifică un utilizator existent. Toate informațiile despre utilizatori și grupuri sunt stocate în fișierele /etc/passwd, /etc/shadow și /etc/group.

Exemplu de utilizare Useradd - Adăugarea unui utilizator nou la un grup secundar

Folosim comanda useradd pentru a adăuga un utilizator nou la un grup existent. Dacă grupul nu există, creați-l. Sintaxă:

Useradd -G (nume-grup) nume de utilizator

Să creăm utilizatorul vivek și să-l adăugăm la grupul de dezvoltatori. Conectați-vă ca root și asigurați-vă că există grupul de dezvoltatori:

# dezvoltatori grep /etc/group

Dezvoltatori:x:1124:

Dacă nu există niciun grup, utilizați comanda groupadd pentru a crea un nou grup de dezvoltatori:

# groupadd dezvoltatori

Apoi adăugați utilizatorul vivek la grupul de dezvoltatori:

# useradd -G developers vivek

Setați parola pentru utilizatorul Vivek:

Asigurați-vă că utilizatorul este adăugat la grupul de dezvoltatori:

# id vivek Ieșire:

Uid=1122(vivek) gid=1125(vivek) grupuri=1125(vivek),1124(dezvoltatori)

Opțiunea -G vă permite să adăugați un grup unui utilizator. Grupurile pot fi listate separate prin virgule. De exemplu, să adăugăm utilizatorul Jerry la grupuri

administratori, ftp, www și dezvoltatori introducând:

# useradd -G admins,ftp,www,dezvoltatori Jerry

Exemplu de utilizare useradd - Adăugarea unui nou utilizator la grupul principal

Pentru a adăuga utilizatorul Tony la grupul de dezvoltatori, utilizați următoarea comandă:

# useradd -g dezvoltatori Tony

uid=1123(tony) gid=1124(dezvoltatori) grupuri=1124(dezvoltatori)

Opțiunea -g vă permite să adăugați un utilizator la grupul principal. Grupul trebuie să existe.

Exemplu de utilizare usermod - Adăugarea unui utilizator existent la un grup existent

Adăugați utilizatorul existent Tony la grupul ftp secundar:

# usermod -a -G ftp tony

Schimbați grupul principal al utilizatorului existent Tony în www:

# usermod -g www tony

gardian

Pentru al doilea turn am comandat un eseu pe site-ul Studinform. Este păcat, desigur, dar nu ai absolut timp să o faci singur. Comanda a fost finalizată foarte rapid și eficient. Vă recomand!

Acum ma gandesc ce anvelope sa montez pentru masina mea. M-am gândit mult la anvelopele cu crampoane. Conform recenziilor, din câte am citit, diferența de distanță de frânare dintre cele mai bune anvelope cu crampoane și cele mai bune modele fără crampoane a fost de 10 metri! Ceva la care sa te gandesti...

Versiunea de gazdă.

Descriere

În sintaxa enumerată mai jos, nume este numele de domeniu care trebuie căutat. Numele poate fi, de asemenea, o adresă IPv4 cu zecimală punctată sau o adresă IPv6 delimitată de două puncte, caz în care gazdă va efectua în mod implicit o căutare inversă pentru adresa respectivă. The server este un argument opțional care este fie numele, fie adresa IP a serverului de nume pe care gazda ar trebui să-l interogheze în loc de serverul sau serverele enumerate în /etc/resolv.conf.

Sintaxă

gazdă [-aCdlnrsTwv] [-c clasă] [-N ndots] [-R număr] [-t tip] [-W așteaptă] [-m pavilion] [-4] [-6] {nume} [server]

Opțiuni

The -o (toate) este echivalentă cu setarea -v opțiune și întreabă gazdă pentru a face o interogare de tip ANY.

Când cel -C este folosită opțiunea, gazdă va încerca să afișeze înregistrările SOA pentru numele zonei de la toate serverele de nume autorizate listate pentru acea zonă. Lista serverelor de nume este definită de înregistrările NS care sunt găsite pentru zonă.

-c clasă

The -c instrucțiuni de opțiune gazdă a face o DNS interogarea clasei clasă. Acesta poate fi folosit pentru a căuta înregistrările de resurse ale clasei Hesiod sau Chaosnet. Clasa implicită este ÎN(Internet).

Ieșirea detaliată este generată de gazdă când -d sau -v este folosită opțiunea. Cele două opțiuni sunt echivalente. Au fost furnizate pentru compatibilitate inversă. În versiunile anterioare, -d opțiunea a pornit urmele de depanare și -v ieșire verbosă activată.

Modul Listă este selectat de -l opţiune. Acest lucru face ca gazda să efectueze un transfer de zonă pentru numele zonei. Transferați zona imprimând înregistrările NS, PTR și adrese (A/AAAA). Dacă este combinat cu -o toate înregistrările vor fi tipărite.

The -i opțiunea specifică că căutările inverse ale adreselor IPv6 ar trebui să utilizeze domeniul IP6.INT așa cum este definit în RFC1886. Implicit este utilizarea IP6.ARPA.

-N ndots

The -N opțiunea setează numărul de puncte care trebuie să fie în nume pentru ca acesta să fie considerat absolut. Valoarea implicită este cea definită folosind ndots declarație în /etc/resolv.conf, sau 1 daca nu ndots declarația este prezentă. Numele cu mai puține puncte sunt interpretate ca nume relative și vor fi căutate în domeniile enumerate în directiva de căutare sau domeniu în /etc/resolv.conf.

-R număr

The -s opțiunea spune gazdă să nu trimită interogarea către următorul server de nume dacă orice server răspunde cu un răspuns SERVFAIL, care este inversul comportamentului normal de rezolvare a stubului.

-m pavilion

The -m poate fi folosit pentru a seta înregistrarea, utilizarea și urmărirea steagurilor de depanare a utilizării memoriei.

Exemple

gazdă 204.228.150.3

Această comandă efectuează o căutare inversă a adresei IP 204.228.150.3 , ceea ce are ca rezultat rezultatul:

3.150.228.204.in-addr.arpa indicator pentru nume de domeniu www.site.

Comenzi aferente

sapa- Utilitar de căutare DNS.
nslookup— Interogați un server de nume pentru informații despre o gazdă la distanță.
ping— Trimiteți pachete ICMP ECHO_REQUEST către gazdele rețelei.