4.4 Lekcija 1
Sertifikat: |
Linux Essentials |
---|---|
Verzija: |
1.6 |
Tema: |
4 Linux operativni sistem |
Cilj: |
4.4 Vaš računar na mreži |
Lekcija: |
1 od 1 |
Uvod
U današnjem svijetu, računarski uređaji bilo koje vrste razmjenjuju informacije putem mreža. U samom srcu koncepta kompjuterskih mreža su fizičke veze između uređaja i njegovih kolega(a). Ove veze se zovu linkovi (eng.links), i one su najosnovnija veza između dva različita uređaja. Veze se mogu uspostaviti putem različitih medija, kao što su bakarni kablovi, optička vlakna, radio talasi ili laseri.
Svaki link je povezan sa interfejsom uređaja. Svaki uređaj može imati više interfejsa i na taj način biti povezan na više linkova. Preko ovih linkova kompjuteri mogu formirati mrežu; mala zajednica uređaja koji se mogu direktno povezati jedni s drugima. Brojni su primjeri takvih mreža u svijetu. Da bi mogli komunicirati izvan opsega mrežnog sloja veze, uređaji koriste rutere. Zamislite mrežni sloj veze kao ostrva povezana ruterima koji povezuju ostrva — baš kao mostovi kojima informacije moraju da putuju da bi došle do uređaja koji je dio udaljenog ostrva.
Ovaj model vodi do nekoliko različitih slojeva umrežavanja:
- Sloj veze
-
Rukuje komunikacijom između direktno povezanih uređaja.
- Mrežni sloj
-
Rukuje rutiranjem izvan pojedinačnih mreža i jedinstveno adresiranje uređaja izvan mreže jednog sloja veze.
- Aplikacijski sloj
-
Omogućava da se pojedinačni programi međusobno povežu.
Kada su prvi put izumljene, kompjuterske mreže su koristile iste metode komunikacije kao i telefoni po tome što su bile komutirane. To znači da je između dva čvora morala biti formirana posvećena i direktna veza da bi mogli komunicirati. Ova metoda je dobro funkcionirala, međutim, zahtijevala je sav prostor na datoj vezi za komunikaciju samo dva hosta.
Na kraju su kompjuterske mreže prešle na nešto što se zove packet switching ili komutacija paketa. U ovoj metodi podaci se grupišu sa zaglavljem, koje sadrži informacije o tome odakle informacije dolaze i kamo idu. Informacije o stvarnom sadržaju sadržane su u ovom okviru i šalju se preko veze primaocu navedenom u zaglavlju okvira. Ovo omogućava da više uređaja dijele jednu vezu i komuniciraju gotovo istovremeno.
Umrežavanje sloja veze
Zadatak svakog paketa je da prenosi informacije od izvora do odredišta preko veze ili linka koji povezuje oba uređaja. Ovim uređajima je potreban način da se međusobno identifikuju. Ovo je svrha adresnog sloja veze_. U eternet mreži, Media Access Control Addresses (MAC) se koristi za identifikaciju pojedinačnih uređaja. MAC adresa se sastoji od 48 bita. Oni nisu nužno globalno jedinstveni i ne mogu se koristiti za obraćanje kolegama izvan trenutne veze. Stoga se ove adrese ne mogu koristiti za usmjeravanje paketa na druge veze. Primalac paketa provjerava da li odredišna adresa odgovara njegovom sopstvenom sloju veze i, ako jeste, obrađuje paket. U suprotnom se paket ispušta. Izuzetak od ovog pravila su broadcast packets ili emitovani paketi(to je paket koji se šalje svima u datoj lokalnoj mreži) koji se uvijek prihvaćaju.
Komanda ip link show
prikazuje listu svih dostupnih mrežnih interfejsa i njihovih adresa sloja veze, kao i neke druge informacije o maksimalnoj veličini paketa:
$ ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 00:0c:29:33:3b:25 brd ff:ff:ff:ff:ff:ff
Gornji izlaz pokazuje kako uređaj ima dva interfejsa, lo
i ens33
. lo
je loopback device odnosno loopback uređaj koji ima MAC adresu 00:00:00:00:00:00
dok je ens33
ethernet interfejs koji ima MAC adresu 00:0c:29:33:3b:25
.
IPv4 umrežavanje
Da biste posjetili web stranice kao što su Google ili Twitter, provjerili e-poštu ili omogućili preduzećima da se međusobno povežu, paketi moraju biti u mogućnosti da putuju od jednog mrežnog sloja veze do drugog. Često su ove mreže povezane samo indirektno, sa nekoliko srednjih linkova mrežnog sloja veze, koje paketi moraju preći, da bi došli do svog stvarnog odredišta.
Adrese sloja veze mrežnog interfejsa ne mogu se koristiti izvan tog specifičnog mrežnog sloja veze. Pošto ova adresa nema značaja za uređaje u drugim mrežnim slojevima veze, potreban je oblik globalno jedinstvenih adresa kako bi se implementiralo rutiranje. Ovu šemu adresiranja, zajedno sa cjelokupnim konceptom rutiranja, implementira Internet Protocol (IP).
Note
|
Protokol je skup procedura za obavljanje nečega tako da su sve strane koje slijede protokol međusobno kompatibilne. Protokol se može posmatrati kao definicija standarda. U računarstvu, internet protokol je standard kojim su se svi složili tako da različiti uređaji različitih proizvođača mogu međusobno komunicirati. |
IPv4 adrese
IP adrese, poput MAC adresa, su način da se naznači odakle dolazi paket podataka i kuda ide. IPv4 je bio originalni protokol. IPv4 adrese su široke 32 bita što daje teoretski maksimalan broj od 4,294,967,296 adresa. Međutim, broj tih adresa koje uređaji mogu da koriste je mnogo manji jer su neki opsezi rezervisani za posebne slučajeve upotrebe kao što su adrese emitovanja (koje se koriste za dostizanje svih učesnika određene mreže), multicast adrese (slično adresama emitovanja, ali uređaj mora biti podešen kao radio) ili one rezervirane za privatnu upotrebu.
U njihovom ljudskom čitljivom formatu IPv4 adrese su označene kao četiri cifre razdvojene tačkom. Svaka cifra može biti u rasponu od 0
do 255
. Na primjer, uzmite sljedeću IP adresu:
192.168.0.1
Tehnički, svaka od ovih cifara predstavlja osam pojedinačnih bitova. Stoga bi se ova adresa mogla napisati i ovako:
11000000.10101000.00000000.00000001
U praksi se koristi decimalni zapis kao što je gore prikazano. Međutim, bitna reprezentacija je još uvijek važna za razumijevanje podmreže.
IPv4 podmreža
Kako bi se podržalo rutiranje, IP adrese se mogu podijeliti na dva dijela: dio mreže i host. Mrežni dio identificira mrežu na kojoj je uređaj i koristi se za usmjeravanje paketa na tu mrežu. Dio hosta se koristi za specifičnu identifikaciju datog uređaja na mreži i za predaju paketa njegovom specifičnom primaocu kada stigne do mrežnog sloja veze.
IP adrese se mogu razbiti u podmrežu i dijelove hosta u bilo kojem trenutku. Takozvana subnet mask ili podmrežna maska definira gdje se ovo razdvajanje događa. Hajde da ponovo razmotrimo binarni prikaz IP adrese iz prethodnog primjera:
11000000.10101000.00000000.00000001
Sada za ovu IP adresu, podmrežna maska postavlja svaki bit koji pripada mrežnom dijelu na 1
i svaki bit koji pripada host dijelu na 0
:
11111111.11111111.11111111.00000000
U praksi mrežna maska je napisana u decimalnom zapisu:
255.255.255.0
To znači da se ova mreža kreće od 192.168.0.0
do 192.168.0.255
. Imajte na umu da prva tri broja, koja imaju sve bitove postavljene u mrežnoj maski, ostaju nepromijenjena u IP adresama.
Konačno, postoji alternativna notacija za podmrežnu masku, koja se naziva Classless Inter-Domain Routing (CIDR). Ova notacija samo pokazuje koliko je bitova postavljeno u podmrežnoj maski i dodaje ovaj broj IP adresi. U primjeru, 24 od 32 bita je postavljeno na 1
u podmrežnoj maski. Ovo se može izraziti u CIDR notaciji kao 192.168.0.1/24
Privatne IPv4 adrese
Kao što je već spomenuto, određeni dijelovi IPv4 adresnog prostora rezervirani su za posebne slučajeve upotrebe. Jedan od ovih slučajeva upotrebe su privatne adrese. Sljedeće podmreže su rezervirane za privatno adresiranje:
-
10.0.0.0/8
-
172.16.0.0/12
-
192.168.0.0/16
Adrese iz ovih podmreža može koristiti bilo ko. Međutim, ove podmreže se ne mogu usmjeriti na javni internet jer ih potencijalno koriste brojne mreže u isto vrijeme.
Danas većina mreža koristi ove interne adrese. Oni omogućavaju internu komunikaciju bez potrebe za dodjeljivanjem eksterne adrese. Većina internetskih veza danas dolazi samo sa jednom eksternom IPv4 adresom. Ruteri mapiraju sve interne adrese na tu jednu eksternu IP adresu kada prosljeđuju pakete na internet. Ovo se zove Network Address Translation (NAT) odnosno prevođenje mrežne adrese. Poseban slučaj NAT-a u kojem ruter mapira interne adrese na jednu eksternu IP adresu ponekad se naziva masquerading odnosno maskiranje. Ovo omogućava bilo kom uređaju na unutarnjoj mreži da uspostavi nove veze sa bilo kojom globalnom IP adresom na internetu.
Note
|
Sa maskiranjem, interni uređaji se ne mogu referencirati s interneta jer nemaju globalno važeću adresu. Međutim, ovo nije sigurnosna funkcija. Čak i kada se koristi maskiranje, zaštitni zid (eng.firewall) je i dalje potreban. |
Konfiguracija IPv4 adrese
Postoje dva glavna načina za konfigurisanje IPv4 adresa na računaru. Ili dodjeljujući adrese ručno ili korištenjem Dynamic Host Configuration Protocol (DHCP-a) za automatsku konfiguraciju.
Prilikom upotrebe DHCP-a, centralni server kontroliše koje adrese se daju kojim uređajima. Server takođe može obezbjediti uređaje drugim informacijama o mreži kao što su IP adrese DNS servera, IP adresa podrazumjevanog rutera ili, u slučaju komplikovanijih podešavanja, da pokrene operativni sistem sa mreže. DHCP je podrazumjevano omogućen na mnogim sistemima, stoga ćete vjerovatno već imati IP adresu kada ste povezani na mrežu.
IP adrese se također mogu ručno dodati u interfejs pomoću komande ip addr add
. Ovdje dodajemo adresu 192.168.0.5
interfejsu ens33
. Mreža koristi mrežnu masku 255.255.255.0
koja je jednaka /24
u CIDR notaciji:
$ sudo ip addr add 192.168.0.5/255.255.255.0 dev ens33
Sada možemo provjeriti da li je adresa dodana pomoću komande ip addr show
:
$ ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 25: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:33:3b:25 brd ff:ff:ff:ff:ff:ff inet 192.168.0.5/24 192.168.0.255 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::010c:29ff:fe33:3b25/64 scope link noprefixroute valid_lft forever preferred_lft forever
Gornji izlaz prikazuje i lo
interfejs i ens33
interfejs sa adresom dodjeljenom gornjom komandom.
Za provjeru dostupnosti uređaja, može se koristiti komanda ping
. Šalje posebnu vrstu poruke koja se zove echo request u kojoj pošiljalac traži od primaoca odgovor. Ako se veza između dva uređaja može uspješno uspostaviti, primalac će poslati eho odgovor, čime se potvrđuje veza:
$ ping -c 3 192.168.0.1 PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data. 64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=2.16 ms 64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=1.85 ms 64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=3.41 ms --- 192.168.0.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 5ms rtt min/avg/max/mdev = 1.849/2.473/3.410/0.674 ms
Parametar -c 3
zaustavlja ping
nakon slanja tri eho zahtjeva. Inače, ping
nastavlja da radi zauvjek i mora se zaustaviti pritiskom na Ctrl+C.
IPv4 usmjeravanje
Usmjeravanje je proces u kojem paket stiže od izvorne mreže do odredišne mreže. Svaki uređaj održava tabelu usmjeravanja koja sadrži informacije o tome do koje IP mreže se može direktno doći preko priključenja uređaja na mrežni sloj veze i do koje IP mreže se može doći prosljeđivanjem paketa na ruter. Konačno, default route ili zadana ruta, definira ruter koji prima sve pakete koji se ne podudaraju ni sa jednom drugom rutom.
Prilikom uspostavljanja veze, uređaj traži odredišnu IP adresu u svojoj tabeli usmjeravanja. Ako se unos podudara sa adresom, paket se ili šalje u odgovarajući mrežni sloj veze ili prosljeđuje ruteru naznačenom u tabeli usmjeravanja.
I sami ruteri održavaju tabele usmjeravanja. Prilikom primanja paketa, ruter također traži adresu odredišta u svojoj tabeli usmjeravanja i šalje paket sljedećem ruteru. Ovo se ponavlja sve dok paket ne stigne na ruter odredišne mreže. Svaki ruter uključen u ovo putovanje naziva se hop. Ovaj posljednji ruter pronalazi direktno povezanu vezu za ciljnu ili odredišnu adresu u svojoj tabeli usmjeravanja i šalje pakete na svoj ciljni interfejs.
Većina kućnih mreža ima samo jedan izlaz, jedinstveni ruter koji dolazi od internet service provider (ISP) odnosno provajdera internetskih usluga. U ovom slučaju uređaj samo prosljeđuje sve pakete koji nisu za internu mrežu direktno na kućni ruter koji će ih zatim poslati ruteru provajdera radi daljeg prosljeđivanja. Ovo je primjer zadane rute.
Komanda ip route show
će prikazati listu trenutne tabele preusmjeravanja za IPv4:
$ ip route show 127.0.0.0/8 via 127.0.0.1 dev lo0 192.168.0.0/24 dev ens33 scope link
Da biste dodali zadanu rutu, sve što je potrebno je interna adresa rutera koji će biti zadani gateway. Ako, na primjer, ruter ima adresu 192.168.0.1
, onda ga sljedeća komanda postavlja kao zadanu rutu:
$ sudo ip route add default via 192.168.0.1
Da biste se uvjerili, izvršite ip route show
ponovo:
$ ip route show default via 192.168.0.1 dev ens33 127.0.0.0/8 via 127.0.0.1 dev lo0 192.168.0.0/24 dev ens33 scope link
IPv6 umrežavanje
IPv6 je dizajniran da se nosi sa nedostacima IPv4, uglavnom nedostatkom adresa jer se sve više uređaja stavljalo na mrežu. Međutim, IPv6 takođe uključuje i druge karakteristike kao što su novi protokoli za automatsku konfiguraciju mreže. Umjesto 32 bita po adresi IPv6 koristi 128. Ovo omogućava približno 2128 adresa. Međutim, poput IPv4, broj globalno jedinstvenih upotrebljivih adresa je mnogo manji zbog toga što su dijelovi alokacije rezervirani za druge namjene. Ovaj veliki broj adresa znači da postoji više nego dovoljno javnih adresa za svaki uređaj koji je trenutno povezan na internet i za mnoge druge koje dolaze, čime se smanjuje potreba za maskiranjem i problemi kao što su kašnjenje tokom prevođenja i nemogućnost direktnog povezivanja na maskirane uređaje.
IPv6 adrese
Dole zapisane adrese koriste 8 grupa od 4 heksadecimalne cifre od kojih je svaka odvojena dvotočkom:
2001:0db8:0000:abcd:0000:0000:0000:7334
Note
|
Heksadecimalne cifre se kreću od |
Da bi se olakšalo, vodeće nule iz svake grupe mogu se ukloniti kada se zapisuju, međutim svaka grupa mora sadržavati barem jednu cifru:
2001:db8:0:abcd:0:0:0:7334
Tamo gdje više grupa koje sadrže samo nule slijede direktno jedna iza druge, one mogu biti u potpunosti zamijenjene '::':
2001:db8:0:abcd::7334
Međutim, to se može dogoditi samo jednom na svakoj adresi.
IPv6 prefiks
Prva 64 bita IPv6 adrese poznata su kao routing prefix ili prefiks preusmjeravanja. Prefiks koriste ruteri da odrede kojoj mreži pripada uređaj i prema tome na koju putanju se podaci trebaju poslati. Podmreže se uvijek dešavaju unutar prefiksa. ISP-ovi obično dijele /48 ili /58 prefikse svojim klijentima, ostavljajući im 16 ili 8 bita za svoje interne podmreže.
Postoje tri glavna tipa prefiksa u IPv6:
- Globalna jedinstvena adresa
-
Pri čemu se prefiks dodjeljuje iz blokova rezerviranih za globalne adrese. Ove adrese važe na cijelom internetu.
- Jedinstvena lokalna adresa
-
Ne može se usmjeriti na internet. Oni se, međutim, mogu usmjeravati interno unutar organizacije. Ove adrese se koriste unutar mreže kako bi se osiguralo da uređaji i dalje imaju adresu čak i kada nema internetske veze. Oni su ekvivalentni rasponima privatnih adresa od IPv4. Prvih 8 bitova su uvijek
fc
ilifd
, nakon čega slijedi 40 nasumično generiranih bitova. - Lokalna adresa linka
-
Važe samo na određenom linku. Svaki mrežni interfejs koji podržava IPv6 ima jednu takvu adresu, počevši od
fe80
. Ove adrese interno koristi IPv6 za traženje dodatnih adresa koristeći automatsku konfiguraciju i za pronalaženje drugih računara na mreži koristeći Neighbor Discovery protokol.
IPv6 identifikator interfejsa
Dok prefiks određuje u kojoj mreži se uređaj nalazi, identifikator interfejsa se koristi za nabrajanje uređaja unutar mreže. Posljednja 64 bita u IPv6 adresi čine identifikator interfejsa, baš kao i posljednji bitovi IPv4 adrese.
Kada se IPv6 adresa dodijeli ručno, identifikator interfejsa se postavlja kao dio adrese. Kada se koristi automatska konfiguracija adrese, identifikator interfejsa se bira nasumično ili se izvodi iz adresnog sloja veze uređaja. Ovo čini da se varijacija adresnog sloja veze pojavljuje unutar IPv6 adrese.
IPv6 konfiguracija adrese
Kao i IPv4, IPv6 adresa se može dodijeliti ručno ili automatski. Međutim, IPv6 ima dvije različite vrste automatizirane konfiguracije, DHCPv6 i Stateless Address Autoconfiguration (SLAAC) ili autokonfiguracija adrese bez stanja.
SLAAC je lakša od dvije automatizirane metode i ugrađena je direktno u IPv6 standard. Poruke koriste novi Neighbor Discovery Protocol ili protokol traženja susjeda koji omogućava uređajima da pronađu jedni druge i traže informacije u vezi sa mrežom. Ove informacije šalju ruteri i mogu sadržavati IPv6 prefikse koje uređaji mogu koristiti kombinirajući ih sa identifikatorom interfejsa po svom izboru, sve dok se rezultirajuća adresa još ne koristi. Uređaji ne daju povratne informacije ruteru o stvarnim adresama koje su kreirali.
DHCPv6, s druge strane, je ažurirani DHCP napravljen da radi s promjenama IPv6. Omogućava finiju kontrolu nad informacijama koje se dijele klijentima, kao što je omogućavanje da se ista adresa preda istom klijentu svaki put i slanje više opcija klijentu od SLAAC-a. Sa DHCPv6, klijenti moraju dobiti eksplicitnu saglasnost DHCP servera da bi koristili adresu.
Metoda za ručno dodjeljivanje IPv6 adrese interfejsu je ista kao kod IPv4:
$ sudo ip addr add 2001:db8:0:abcd:0:0:0:7334/64 dev ens33
Za provjeru da li je dodjela uspješna koristi se ista komanda ip addr show
:
$ ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 25: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:33:3b:25 brd ff:ff:ff:ff:ff:ff inet 192.168.0.5/24 192.168.0.255 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::010c:29ff:fe33:3b25/64 scope link noprefixroute valid_lft forever preferred_lft forever inet6 2001:db8:0:abcd::7334/64 scope global valid_lft forever preferred_lft forever
Ovdje također vidimo lokalnu adresu linka fe80::010c:29ff:fe33:3b25/64
.
Poput IPv4, komanda ping
se također može koristiti za potvrdu dostupnosti uređaja putem IPv6:
$ ping 2001:db8:0:abcd::1 PING 2001:db8:0:abcd::1(2001:db8:0:abcd::1) 56 data bytes 64 bytes from 2001:db8:0:abcd::1: icmp_seq=1 ttl=64 time=0.030 ms 64 bytes from 2001:db8:0:abcd::1: icmp_seq=2 ttl=64 time=0.040 ms 64 bytes from 2001:db8:0:abcd::1: icmp_seq=3 ttl=64 time=0.072 ms --- 2001:db8:0:abcd::1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 43ms rtt min/avg/max/mdev = 0.030/0.047/0.072/0.018 ms
Note
|
Na nekim Linux sistemima, |
Za provjeru lokalne adrese linka ponovo koristite ping
. Ali pošto svi interfejsi koriste prefiks fe80::/64
, potrebno je navesti ispravan interfejs zajedno sa adresom:
$ ping6 -c 1 fe80::010c:29ff:fe33:3b25%ens33 PING fe80::010c:29ff:fe33:3b25(fe80::010c:29ff:fe33:3b25) 56 data bytes 64 bytes from fe80::010c:29ff:fe33:3b25%ens33: icmp_seq=1 ttl=64 time=0.049 ms --- fe80::010c:29ff:fe33:3b25 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.049/0.049/0.049/0.000 ms
DNS
IP adrese je teško zapamtiti i nemaju baš visok faktor hladnoće ako pokušavate plasirati uslugu ili proizvod. Ovo je mjesto gdje Domain Name System ili sistem imena domena stupa u igru. U svom najjednostavnijem obliku DNS je distribuirani telefonski imenik koji preslikava prijateljski pamtljiva imena domena kao što je example.com
u IP adrese. Kada, na primjer, korisnik dođe do web stranice, on unosi DNS ime hosta kao dio URL-a. Web pretraživač zatim šalje DNS ime na bilo koji DNS resolver koji je konfigurisan. Taj DNS resolver će zauzvrat saznati adresu koja je u korelaciji s domenom. Resolver tada odgovara sa tom adresom i web pretraživač pokušava doći do web servera na toj IP adresi.
Resolveri koje Linux koristi za traženje DNS podataka konfigurirani su u konfiguracijskoj datoteci /etc/resolv.conf
:
$ cat /etc/resolv.conf search lpi nameserver 192.168.0.1
Kada resolver izvrši traženje imena, prvo provjerava datoteku /etc/hosts
da vidi da li sadrži adresu za traženo ime. Ako to učini, vraća tu adresu i ne kontaktira DNS. Ovo omogućava mrežnim administratorima da obezbjede razlučivanje imena bez potrebe da se trude da konfigurišu kompletan DNS server. Svaki red u toj datoteci sadrži jednu IP adresu praćenu jednim ili više imena:
127.0.0.1 localhost.localdomain localhost ::1 localhost.localdomain localhost 192.168.0.10 server 2001:db8:0:abcd::f server
Da izvršite traženje u DNS-u, koristite komandu host
:
$ host learning.lpi.org learning.lpi.org has address 208.94.166.198
Detaljnije informacije mogu se dobiti pomoću komande dig
:
$ dig learning.lpi.org ; <<>> DiG 9.14.3 <<>> learning.lpi.org ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21525 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 2ac55879b1adef30a93013705d3306d2128571347df8eadf (bad) ;; QUESTION SECTION: ;learning.lpi.org. IN A ;; ANSWER SECTION: learning.lpi.org. 550 IN A 208.94.166.198 ;; Query time: 3 msec ;; SERVER: 192.168.0.1#53(192.168.0.1) ;; WHEN: Sat Jul 20 14:20:21 EST 2019 ;; MSG SIZE rcvd: 89
Ovdje također vidimo nazive tipova DNS zapisa, u ovom slučaju A
za IPv4.
Soketi
Soket je komunikacijska krajnja tačka za dva programa koji razgovaraju jedan s drugim. Ako je soket povezan preko mreže, programi mogu raditi na različitim uređajima, kao što su web pretraživač koji radi na laptopu korisnika i web server koji radi u podatkovnom centru kompanije.
Postoje tri tipa soketa:
- Unix soketi
-
Povezuje procese koji se izvršavaju na istom uređaju.
- UDP (User Datagram Protocol) soketi
-
Povezuju aplikacije koristeći protokol koji je brz, ali nije otporan.
- TCP (Transmission Control Protocol) soketi
-
Koji su pouzdaniji od UDP soketa i, na primjer, potvrđuju prijem podataka.
Unix soketi mogu povezati samo aplikacije koje rade na istom uređaju. TCP i UDP soketi se međutim mogu povezati preko mreže. TCP omogućava tok podataka koji uvijek stiže tačnim redoslijedom kojim je poslan. UDP je više pali i zaboravi; paket je poslan, ali njegova isporuka na drugom kraju nije zagarantovana. UDP-u, međutim, nedostaju dodatni troškovi TCP-a, što ga čini savršenim za aplikacije sa malim kašnjenjem kao što su online video igre.
I TCP i UDP koriste portove za adresiranje više soketa na istoj IP adresi. Dok je izvorni port za vezu obično nasumičan, ciljni portovi su standardizirani za određenu uslugu. HTTP je, na primjer, obično smješten na portu 80, HTTPS se pokreće na portu 443. SSH, protokol za sigurnu prijavu na udaljeni Linux sistem, sluša na portu 22.
Komanda ss
dozvoljava administratoru da istraži sve sokete na Linux računaru. Prikazuje sve od izvorne adrese, odredišne adrese i tipa. Jedna od njegovih najboljih karakteristika je upotreba filtera tako da korisnik može pratiti sokete u bilo kojem stanju veze koje želi. ss
se može pokrenuti sa skupom opcija kao i izrazom filtera za ograničavanje prikazanih informacija.
Kada se izvrši bez ikakvih opcija, komanda prikazuje listu svih uspostavljenih soketa. Upotreba opcije -p
uključuje informacije o procesu koji koristi svaki soket. Opcija –s
prikazuje sažetak soketa. Postoji mnogo više dostupnih opcija za ovaj alat, ali posljednji skup glavnih su -4
i -6
za sužavanje IP protokola na IPv4 ili IPv6 respektivno, -t
i -u
omogućavaju administratoru da odabere TCP ili UDP sokete i -l
da prikaže samo soket koji sluša nove veze.
Sljedeća komanda, na primjer, navodi sve TCP sokete koji se trenutno koriste:
$ ss -t State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 192.168.0.5:49412 192.168.0.1:https ESTAB 0 0 192.168.0.5:37616 192.168.0.1:https ESTAB 0 0 192.168.0.5:40114 192.168.0.1:https ESTAB 0 0 192.168.0.5:54948 192.168.0.1:imap ...
Vođene vježbe
-
Od mrežnog inženjera se traži da dodijeli dvije IP adrese
ens33
interfejsu hosta, jednu IPv4 adresu (192.168.10.10/24
) i jednu IPv6 adresu (2001:0:0:abcd:0:8a2e: 0370:7334/64
). Koje komande moraju unijeti da bi to postigli? -
Koje adrese na donjoj listi su privatne?
192.168.10.1
120.56.78.35
172.16.57.47
10.100.49.162
200.120.42.6
-
Koji unos je potrebno dodati u datoteku hostova za dodjelu
192.168.0.15
naexample.com
? -
Koji efekat će imati sljedeća komanda?
sudo ip -6 route add default via 2001:db8:0:abcd::1
Istraživačke vježbe
-
Imenujte tip DNS zapisa koji se koristi za opsluživanje sljedećih zahtjeva:
-
Tekstualne informacije
-
Pretraga rezervisane IP adrese
-
Domena koja nema sopstvenu adresu i oslanja se na drugu domenu za ove informacije
-
Mail Server
-
-
Linux ima funkciju koja se zove premošćavanje, šta radi i kako je korisna?
-
Koju opciju treba dostaviti komandi
ss
da bi vidjeli sve uspostavljene UDP sokete? -
Koja komanda prikazuje sažetak svih soketa koji rade na Linux uređaju?
-
Sljedeći izlaz je generiran komandom iz prethodne vježbe. Koliko je TCP i UDP soketa aktivno?
Total: 978 (kernel 0) TCP: 4 (estab 0, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0 Transport Total IP IPv6 * 0 - - RAW 1 0 1 UDP 7 5 2 TCP 4 3 1 INET 12 8 4 FRAG 0 0 0
Sažetak
Ova tema pokriva umrežavanje vašeg Linux računara. Prvo smo naučili o različitim nivoima umrežavanja:
-
Sloj veze koji direktno povezuje uređaje.
-
Mrežni sloj koji obezbeđuje usmjeravanje između mreža i globalnog adresnog prostora.
-
Sloj aplikacije gdje se aplikacije povezuju jedna s drugom.
Vidjeli smo kako se IPv4 i IPv6 koriste za adresiranje pojedinačnih računara i kako TCP i UDP nabrajaju sokete koje koriste aplikacije za međusobno povezivanje. Također smo naučili kako se DNS koristi za razrješavanje imena u IP adrese.
Komande korištene u vježbama:
dig
-
Upitajte DNS informacije i pružite opširne informacije o DNS upitima i odgovorima.
host
-
Upitajte DNS informacije i pružite sažeti izlaz.
ip
-
Konfigurirajte umrežavanje na Linuxu, uključujući mrežne interfejse, adrese i usmjeravanje.
ping
-
Testirajte konekciju na udaljeni uređaj.
ss
-
Prikažite informacije o soketima.
Odgovor na vođene vježbe
-
Od mrežnog inženjera se traži da dodijeli dvije IP adrese
ens33
interfejsu hosta, jednu IPv4 adresu (192.168.10.10/24
) i jednu IPv6 adresu (2001:0:0:abcd:0:8a2e: 0370:7334/64
). Koje komande moraju unijeti da bi to postigli?sudo ip addr add 192.168.10.10/24 dev ens33 sudo ip addr add 2001:0:0:abcd:0:8a2e:0370:7334/64 dev ens33
-
Koje adrese na donjoj listi su privatne?
192.168.10.1
X
120.56.78.35
172.16.57.47
X
10.100.49.162
X
200.120.42.6
-
Koji unos je potrebno dodati u datoteku hostova za dodjelu
192.168.0.15
naexample.com
?192.168.0.15 example.com
-
Koji efekat će imati sljedeća komanda?
sudo ip -6 route add default via 2001:db8:0:abcd::1
To bi dodalo zadanu rutu u tabelu koja šalje sav IPv6 saobraćaj na ruter sa internom adresom od
2001:db8:0:abcd::1
.
Odgovor na istraživačke vježbe
-
Imenujte tip DNS zapisa koji se koristi za opsluživanje sljedećih zahtjeva:
-
Tekstualne informacije
TXT
-
Pretraga rezervisane IP adrese
PTR
-
Domena koja nema sopstvenu adresu i oslanja se na drugu domenu za ove informacije
CNAME
-
Mail server
MX
-
-
Linux ima funkciju koja se zove premošćavanje, šta radi i kako je korisna?
Most povezuje više mrežnih interfejsa. Svi interfejsi povezani na most mogu komunicirati kao da su povezani na isti mrežni sloj veze: Svi uređaji koriste IP adrese iz iste podmreže i ne zahtijevaju ruter da bi se međusobno povezali.
-
Koju opciju treba dostaviti komandi
ss
da bi vidjeli sve uspostavljene UDP sokete?Opcija
-u
prikazuje sve uspostavljene UDP sokete. -
Koja komanda prikazuje sažetak svih soketa koji rade na Linux uređaju?
Komanda
ss -s
prikazuje sažetak svih soketa.
Sljedeći izlaz je generiran komandom iz prethodne vježbe. Koliko je TCP i UDP soketa aktivno?
+
Total: 978 (kernel 0) TCP: 4 (estab 0, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0 Transport Total IP IPv6 * 0 - - RAW 1 0 1 UDP 7 5 2 TCP 4 3 1 INET 12 8 4 FRAG 0 0 0
+ 11 TCP i UDP soketa je aktivno.