Sieť

Sieť pozostáva z dvoch alebo viacerých zariadení, ako napríklad počítače, tlačiarne a ďalšie a súvisiace zariadenia, ktoré sú prepojené buď fyzickou kabelážou alebo bezdrôtovým prepojením, kvôli zdieľaniu a distribúcii informácií medzi jednotlivými pripojenými zariadeniami.

Táto časť obsahuje všeobecné a špecifické informácie týkajúce sa sietí, vrátane prehľadu sieťových konceptov a podrobnej diskusie o populárnych sieťových protokoloch.

Sieťové nastavenia

Ubuntu sa dodáva s množstvom grafických nástrojov, ktoré konfigurujú sieťové zariadenia. Tento dokument je určený pre správcov servera a zameriava sa na správu siete cez príkazový riadok.

Ethernetové rozhrania

Ethernetové rozhrania systém rozlišuje podľa dohodnutého označovania ethX, kde X predstavuje číselnú hodnotu. Prvé ethernetové rozhranie sa zvyčajne označuje eth0, druhé eth1 a ďalšie by mali mať nasledujúcu hodnotu v poradí.

Rozpoznanie ethernetových rozhraní

Na rýchle rozpoznanie všetkých dostupný ethernetových rozhraní môžeme použiť príkaz ifconfig.

ifconfig -a | grep eth
eth0      Link encap:Ethernet  HWaddr 00:15:c5:4a:16:5a

Ďalšou aplikáciou, ktorá nám môže pomôcť rozpoznať všetky dostupné sieťové rozhrania, je lshw. V nasledujúcom príklade príkaz lshw zobrazil jedno ethernetové rozhranie s logickým názvom eth0 spolu s informáciami o zbernici, podrobnosťami o ovládači a všetkých podporovaných funkciách.

sudo lshw -class network
 *-network
       description: Ethernet interface
       product: BCM4401-B0 100Base-TX
       vendor: Broadcom Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: eth0
       version: 02
       serial: 00:15:c5:4a:16:5a
       size: 10MB/s
       capacity: 100MB/s
       width: 32 bits
       clock: 33MHz
       capabilities: (snipped for brevity)
       configuration: (snipped for brevity)
       resources: irq:17 memory:ef9fe000-ef9fffff

Logické názvy ethernetových rozhraní

Názvy logických rozhraní sú nastavené v súbore /etc/udev/rules.d/70-persistent-net.rules. Keď chceme určiť, ktoré zariadenie dostane určitý logický názov, nájdeme zodpovedajúce rozhranie podľa fyzickej MAC adresy a upravíme hodnotu NAME=ethX na požadované logické meno. Aby sa zmeny prejavili, reštartujeme systém.

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:c5:4a:16:5a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:c5:4a:16:5b", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Nastavenia ethernetového rozhrania

ethtool je program, ktroý zobrazuje zmeny v nastaveniach ethernetovej karty ako napríklad automatické zladenie (auto-negotiation), rýchlosť portu, duplexný režim a zapnutie cez sieť (Wake-on-LAN). Program v predvolenom stave nie je nainštalovaný, ale dá sa doinštalovať z úložísk.

sudo apt-get install ethtool

V nasledujúcej ukážke môžeme vidieť, ako si môžeme na ethernetovom rozhraní pozrieť podporované funkcie a nakonfigurované nastavenia.

sudo ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Current message level: 0x000000ff (255)
Link detected: yes

Zmeny, ktoré vykonáme pomocou príkazu ethtool sú dočasné a po reštarte počítača sa stratia. Ak chceme zmeny zachovať, stačí ak do konfiguračného súboru rozhraní /etc/network/interfaces pridáme požadovaný príkaz ethtool za príkaz pre-up.

Nasledujúci príklad hovorí, ako môžeme rozhranie identifikované ako eth0 trvalo nastaviť tak, aby rýchlosť jeho portu bola 1000Mb/s a aby pracovalo v režime full duplex.

auto eth0
iface eth0 inet static
pre-up /usr/sbin/ethtool -s eth0 speed 1000 duplex full
[Note]

Aj keď sme v predchádzajúcom príklade použili rozhranie staticky nastavené rozhranie, tento príkaz funguje aj s inak nastaveným rozhraním, ako napríklad DHCP. Príklad iba demonštruje správne umiestnenie príkazu pre-up vzhľadom na zvyšok konfigurácie rozhrania.

Nastavenie IP adries

Nasledujúca časť opisuje proces konfigurácie IP adresy a predvolenej brány v systéme, čo sú nastavenia potrebné na komunikáciu s lokálnou sieťou a Internetom.

Dočasné nastavenie IP adresy

Na dočasnú konfiguráciu siete, môžeme použiť bežné príkazy ako ip, ifconfig a route, ktoré sa nachádzajú vo väčšine operačných systémov GNU/Linux. Tieto príkazy umožňujú konfigurovať nastavenia, ktoré sa prejavia okamžite, avšak nepretrvajú navždy a po reštartovaní počítača sa stratia.

Keď chceme IP adresu nastaviť iba dočasne, môžeme použiť príkaz ifconfig nasledujúcim spôsobom. Zmeníme iba IP adresu a masku podsiete aby súhlasila s požiadavkami siete.

sudo ifconfig eth0 10.0.0.100 netmask 255.255.255.0

Aby sme preverili správnosť nastavenia IP adresy na eth0, môžeme opäť použiť príkaz ifconfig nasledujúcim spôsobom.

ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:15:c5:4a:16:5a
inet addr:10.0.0.100 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::215:c5ff:fe4a:165a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:466475604 errors:0 dropped:0 overruns:0 frame:0
TX packets:403172654 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2574778386 (2.5 GB) TX bytes:1618367329 (1.6 GB)
Interrupt:16

Keď chceme zmeniť predvolenú bránu, použijeme príkaz route nasledujúcim spôsobom. Upravíme adresu predvolenej brány tak, aby súhlasila s požiadavkami siete.

sudo route add default gw 10.0.0.1 eth0

Aby sme overili nastavenie predvolenej brány, opäť použijeme príkaz route nasledujúcim spôsobom.

route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0

Ak kvôli dočasnému nastaveniu siete potrebujeme zmeniť aj DNS servery, môžeme IP adresy DNS serverov pridať do súboru /etc/resolv.conf. Nasledujúci príklad zobrazuje, ako môžeme do súboru /etc/resolv.conf zadať adresy dvoch DNS serverov, kroté si môžeme zmeniť na adresy serverov potrebných pre našu sieť. Detailnejší popis nastavení DNS klienta sa nachádza v nasledujúcej časti.

nameserver 8.8.8.8
nameserver 8.8.4.4

Ak už naďalej nepotrebujeme túto konfiguráciu a chceme ju z rozhrania odstrániť, môžeme použiť príkaz ip s voľbou flush tak, ako sme to uviedli nižšie.

ip addr flush eth0
[Note]

Odstránenie IP konfigurácie pomocou príkazu ip nezmaže obsah súboru /etc/resolv.conf. Záznamy v tomto súbore musíte odstrániť alebo zmeniť ručne.

Pridelenie dynamickej IP adresy (DHCP klient)

Keď chceme nastaviť server tak, aby využil DHCP na dynamické nastavenie adresy, pridáme dhcp za príkaz intet na príslušnom rozhraní v súbore /etc/network/interfaces. Nasledujúci príklad predpokladá, že prvé ethernetové rozhranie sa volá eth0.

auto eth0
iface eth0 inet dhcp

Po pridaní predchádzajúcej konfigurácie rozhrania, môžeme ručne zapnúť rozhranie pomocou príkazu ifup, ktorý inicializuje DHCP proces prostredníctvom príkazu dhclient.

sudo ifup eth0

Ak chceme rozhranie ručne vypnúť, použijeme príkaz ifdown, ktorý následne inicializuje uvoľňovací DHCP proces a vypne rozhranie.

sudo ifdown eth0

Pridelenie statickej IP adresy

Keď chceme nastaviť v našom systéme statickú IP adresu, pridáme za príkaz inet zápis static na príslušnom rozhraní v súbore /etc/network/interfaces. Nasledujúcim príkazom nastavíme naše prvé ethernetové rozhranie s názvom eth0. Adresu, sieťovú masku a bránu zmeníme na hodnoty, ktoré potrebujeme v našej sieti.

auto eth0
iface eth0 inet static
address 10.0.0.100
netmask 255.255.255.0
gateway 10.0.0.1

Po pridaní predchádzajúcej konfigurácie môžeme rozhranie ručne zapnúť pomocou príkazu ifup.

sudo ifup eth0

Keď chceme rozhranie ručne vypnúť, použijeme príkaz ifdown.

sudo ifdown eth0

Rozhranie spätnej väzby - Loopback

Rozhranie spätnej väzby sa v systéme volá lo a v predvolenom stave má pridelenú IP adresu 127.0.0.1. Môžeme si ho prezrieť pomocou príkazu ifconfig.

ifconfig lo

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2718 errors:0 dropped:0 overruns:0 frame:0
TX packets:2718 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:183308 (183.3 KB) TX bytes:183308 (183.3 KB)

V predvolenom stave sú v súbore /etc/network/interfaces dva riadky, ktoré rozhranie spätnej väzby automaticky nastavia. Odporúča sa, aby sme tieto riadky ponechali, pokiaľ nemáme konkrétny dôvod toto nastavenie zmeniť. Spomínané dva riadky sa nachádzajú v nasledujúcom príklade.

auto lo
iface lo inet loopback

Preklad názvov

Preklad názvov týkajúci sa internetových sietí je proces priradenia číselných IP adries k menným adresám hostiteľských staníc, aby bolo pre človeka jednoduchšie určiť sieťový zdroj. Nasledujúca časť hovorí o tom, ako správne nakonfigurovať systém tak, aby prekladal adresy pomocou systému DNS a statických záznamov o hostiteľských staniciach.

Konfigurácia DNS klienta

Keď chceme nakonfigurovať systém tak, aby na preklad adries použil systém DNS, pridáme IP adresy DNS serverov vhodných pre našu sieť, do súboru /etc/resolv.conf. Môžeme tiež voliteľne za príkaz search pridať DNS príponu, ktorá sa bude automaticky pridávať ku skráteným názvom staníc našej siete.

Nasledujúci príklad predstavuje typickú konfiguráciu v súbore /etc/resolv.conf pre server v doméne "nieco.sk", ktorý používa na preklad adries dva verejné DNS servery.

search nieco.sk
nameserver 8.8.8.8
nameserver 8.8.4.4

Voľba search sa dá použiť aj pre viacero domén, ktoré sa budú postupne pridávať k DNS požiadavkám v tom poradí, v akom sú zadané. Napríklad môže mať naša doména niekoľko poddomén - hlavná doména bude nieco.sk, a dve poddomény budú predaj.nieco.sk a vyvoj.nieco.sk.

Pri viacerých doménach naša konfiguráciu môžeme zapísať nasledujúcim spôsobom.

search nieco.sk predaj.nieco.sk vyvoj.nieco.sk
nameserver 8.8.8.8
nameserver 8.8.4.4

Ak sa pokúsime cez sieť osloviť hostiteľskú stanicu s názvom server1, systém DNS požiadavku bude automaticky doplňovať na tzv. Fully Qualified Domain Name (FQDN) - úplnú doménovú adresu v nasledujúcom poradí:

  1. server1.nieco.sk

  2. server1.predaj.nieco.sk

  3. server1.vyvoj.nieco.sk

Ak DNS server nenájde ani jednu z týchto adries, na DNS požiadavku odpovie chybovým hlásením.

Statické záznamy o hostiteľských staniciach

Statické záznamy o hostiteľských staniciach sú je lokálne uložený zoznam priradení menných adries k číselným IP adresám, ktorý je uložený v súbore /etc/hosts. Záznamy v súbore hosts majú v predvolenom stave prednosť pred DNS. To znamená, že ak sa systém pokúša preložiť mennú adresu a nájde záznam v súbore /etc/hosts, nebude sa ďalej pokúšať nájsť záznam v systéme DNS. V niektorých prípadoch (najmä ak nie je nutné pripojenie na Internet) sa servery, ktoré komunikujú s obmedzeným počtom staníc, zvyčajne nastavujú pomocou statických záznamov a nie pomocou DNS.

V nasledujúcom príklade súboru hosts je niekoľko adries lokálnych serverov, pre ktoré sú v súbore definované jednoduché názvy spolu s aliasmi a ich úplnými doménovými adresami (FQDN).

127.0.0.1	localhost
127.0.1.1 ubuntu-server
10.0.0.11 server1 vpn server1.nieco.sk
10.0.0.12 server2 mail server2.nieco.sk
10.0.0.13 server3 www server3.nieco.sk
10.0.0.14 server4 file server4.nieco.sk
[Note]

Všimnite si, že v predchádzajúcom príklade má každý server alias aj príslušnú doménovú adresu FQDN. Server1 má priradený aj názov vpn, server2 sa dá adresovať pomocou názvu mail, server3 ako www a server4 ako file.

Konfigurácia prepínania služieb pre preklad názvov

Poradie v akom si systém vyberá spôsob, akým preloží mennú adresu hostiteľskej stanice na číselnú IP adresu, je určený pomocou Name Service Switch (NSS) v konfiguračnom súbore /etc/nsswitch.conf. Tak ako sme to už, spomenuli v predchádzajúcej časti, statické záznamy definované v súbore /etc/hosts majú zvyčajne prednosť pred DNS. Nasledujúci príklad predstavuje poradie v súbore /etc/nsswitch.conf v akom sa budú hľadať menné adresy.

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
  • files najskôr sa systém pokúsi nájsť adresu v súbore /etc/hosts.

  • mdns4_minimal pokúsi sa preložiť meno pomocou Multicast DNS.

  • [NOTFOUND=return] znamená, že každá odpoveď procesu mdns4_minimal o nenájdení záznamu sa vyhodnotí ako neautorizovaná aby sa systém nepokúšal ďalej pátrať po odpovedi.

  • dns reprezentuje pravú unicast požiadavku DNS.

  • mdns4 reprezentuje požiadavku Multicast DNS.

Keď chceme zmeniť poradie spomínaných spôsobov prekladu názvov, stačí jednoducho zameniť reťazce za slovom hosts: podľa toho, ako nám to vyhovuje. Napríklad ak chceme použiť pravý Unicast DNS skôr ako Multicast DNS, zmeníme poradie reťazcov v súbore /etc/nsswitch.conf nasledujúcim spôsobom.

hosts:          files dns [NOTFOUND=return] mdns4_minimal mdns4

Premostenie

Premostenie (Bridging) viacerých rozhraní patrí k pokročilej konfigurácii, ale je v mnohých prípadoch veľmi užitočné. Jedno z využití je premostenie viacerých sieťových rozhraní a následné použitie firewallu na filtrovanie dvoch sieťových segmentov. Iné využitie je použitie premostenia v systémoch s jedným rozhraním, aby virtuálne počítače mali priamy prístup do siete. Nasledujúci príklad predvedie práve tento druhý spôsob využitia.

Pred tým, ako budeme môcť nastaviť premostenie, je potrebné nainštalovať balík bridge-utils. Ak ho chceme nainštalovať, zadáme:

sudo apt-get install bridge-utils

Potom nastavíme premosťujúce rozhranie (br0) v súbore /etc/network/interfaces:

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
[Note]

Ďalej zadajte príslušné hodnoty vášho fyzického rozhrania (eth0) a siete.

Teraz reštartujte sieť a aktivujte premosťujúce rozhranie:

sudo /etc/init.d/networking restart

Nové premostené rozhranie je teraz aktivované a funkčné. Nástroj brctl nám poskytne užitočné informácie o stave premostenia, umožňuje riadiť, ktoré rozhrania budú súčasťou premostenia, atď. Viac informácií získame po zadaní príkazu man brctl.

Zdroje

Sieťový protokol TCP/IP

Transmission Control Protocol and Internet Protocol (TCP/IP) je štandardná sada protokolov (dohovorov o komunikácii), ktorá bola vyvinutá koncom sedemdesiatych rokov armádnou agentúrou Defense Advanced Research Projects Agency (DARPA) ako prostriedok na komunikáciu medzi rôznymi typmi počítačov a počítačových sietí. TCP / IP je hnacou silou Internetu, a preto je najpopulárnejším súborom sieťových protokolov na Zemi.

Úvod do TCP/IP

Dve súčasti protokolu TCP/IP sa zaoberajú rôznymi aspektami počítačových sietí. Internet Protocol -"IP" je protokol, ktorý sa nezaoberá pripojením, ale iba smerovaním sieťových paketov pomocou IP Datagramov a packety považuje za základnú jednotkou sieťovej informácie. IP Datagram obsahuje hlavičku, za ktorou nasleduje správa. Transmission Control Protocol - "TCP" umožňuje sieťovým hostiteľom (zariadeniam v sieti, ktoré majú svoju sieťovú adresu) nadviazať spojenie, ktoré sa použije na výmenu dát. TCP tiež zaručuje, že dáta budú doručené a že do cieľa prídu v rovnakom tvare, v akom boli odoslané.

Konfigurácia TCP/IP

Konfigurácia TCP/IP protokolu pozostáva z niekoľkých prvkov, ktoré sa nastavujú v príslušných konfiguračných súboroch alebo nasadením riešenia, akým je napríklad DHCP server (protokol na dynamickú konfiguráciu staníc), ktorý môže byť nakonfigurovaný tak, aby správnu konfiguráciu TCP/IP poskytoval sieťovým klientom automaticky. Tieto konfiguračné hodnoty musia byť správne nastavené, aby systém Ubuntu mohol vykonávať sieťové operácie.

Bežnými konfiguračnými prvkami TCP/IP sú tieto:

  • IP adresa IP adresa je jedinečný identifikačný reťazec vyjadrený štyrmi dekadickými číslami v rozsahu 0 až 255 oddelených bodkami, z ktorých každé číslo reprezentuje 8 bitov adresy s celkovou dĺžkou 32 bitov. Tento formát sa nazýva dotted quad notation.
  • Sieťová maska Maska podsiete (alebo jednoducho sieťová maska) je lokálna bitová maska určujúca, ktorá časť IP adresy prislúcha sieti a ktorá časť IP adresy patrí podsieti. Napríklad sieť triedy C má štandardnú sieťovú masku 255.255.255.0, ktorá zamaskuje prvé tri bajty (24 bitov) IP adresy a zostávajúci bajt (8 bitov) IP adresy umožňuje prideliť klientom v podsieti.
  • Adresa siete Adresa siete je reprezentovaná bajtami IP adresy, ktoré prislúchajú sieti. Napríklad stanica 12.128.1.2 v sieti triedy A používa adresu siete 12.0.0.0, pričom číslo 12 reprezentované prvým bajtom IP adresy prislúcha sieti a nuly reprezentované zvyšnými troma bajtami prislúchajú hodnotám potenciálnych staníc. Klient inej siete používajúci privátnu IP adresu 192.168.1.100 používa sieťovú adresu 192.168.1.0, ktorá je určená prvými troma bajtami 192.168.1, pretože ide o sieť tried C a nulu pre potencionálnych staníc siete.
  • Broadcast adresa Broadcast adresa je IP adresa, ktorá umožňuje poslať dáta naraz všetkým klientom siete v danej podsieti. Štandardná všeobecná broadcast adresa pre IP siete je 255.255.255.255, táto broadcast adresa sa však samozrejme nedá použiť na odoslanie broadcast správy každému klientovi v sieti Internet, pretože to smerovač nedovolí. Vhodnejšia broadcast adresa je nastavená tak, aby zodpovedala konkrétnej podsieti. Napríklad v privátnej sieti triedy C s adresou 192.168.1.0 bude brodacat adresa 192.168.1.255. Broadcast správy sú väčšinou vytvárané sieťovými protokolmi ako napríklad Address Resolution Protocol (ARP) a Routing Information Protocol (RIP).
  • Adresa brány Adresa brány je IP adresa, cez ktorú sa dá pripojiť do určitej siete alebo ku klientovi siete. Ak jedna stanica chce komunikovať s inou stanicou, ktorá nie je umiestnená v rovnakej sieti, potom je potrebné použiť bránu. V mnohých prípadoch je adresa brány zároveň adresou smerovača, ktorý prepúšťa komunikáciu do iných sietí - napríklad do Internetu. Adresa brány musí byť nastavená správne, inak sa váš systém nebude schopný pripojiť na žiadne stanice okrem tých, ktoré sú v rovnakej sieti.
  • DNS adresa DNS adresy predstavújú IP adresy systémov Domain Name Service (DNS), ktoré prekladajú menné adresy staníc na IP adresy. Existujú tri úrovne DNS adries, ktoré môžu byť zadané v tomto poradí: primárny DNS server, sekundárny DNS server a terciárny DNS server. Aby bol váš systém schopný získavať IP adresy prislúchajúce menným adresám staníc, musíte zadať správne adresy DNS serverov, ktoré ste oprávnený používať vo Vašom nastavení TCP/IP. V mnohých prípadoch vám tieto adresy poskytne Váš dodávateľ sieťových služieb, ale existujú tiež verejne prístupné DNS servery, ako napríklad servery Level3 (Verizon) IP adresami od 4.2.2.1 po 4.2.2.6.
    [Tip]

    IP adresa, sieťová maska, adresa siete, broadcast adresa a adresa brány sú nastavené v konfiguračnom súbore /etc/network/interfaces. DNS adresy sú väčšinou nastavené pomocou direktív nameserver v súbore /etc/resolv.conf. Viac informácií sa dozviete na stránkach systémového manuálu pre interfaces a resolv.conf zadaním nasledujúcich príkazov do príkazového riadka:

    Pre zobrazenie systémového manuálu pre interfaces použijeme nasledujúci príkaz:

    man interfaces

    Pre zobrazenie systémového manuálu pre resolv.conf použijeme nasledujúci príkaz:

    man resolv.conf

IP smerovanie

IP smerovanie alebo tiež IP routing predstavuje spôsob určenia alebo nájdenia cesty v sieti TCP/IP, po ktorej sa budú posielať dáta. Smerovanie používa na posielanie dátových paketov od odosielateľa k príjemcovi smerovacie tabuľky. Odoslanie pritom často prebieha cez mnoho medzičlánkov, ktorým hovoríme smerovače alebo tiež routre. Existujú dva hlavné spôsoby smerovania: statické smerovanie a dynamické smerovanie.

Statické smerovanie spočíva v manuálnom pridávaní IP trás do smerovacej tabuľky. Najčastejšie sa to vykonáva pomocou príkazu route. Statické smerovanie má oproti dynamickému smerovaniu mnoho výhod, ako napríklad jednoduchú implementáciu v malých sieťach, predvídateľnosť (smerovacia tabuľka sa určí vopred a preto je cesta rovnaká pri každom jej použití) a nízka záťaž ostatných smerovačov a sieťových prepojení vďaka tomu, že sa nepoužíva protokol dynamického smerovania. Statické smerovanie má však aj svoje nevýhody. Statické smerovanie je obmedzené na malé siete a nie je dobre prispôsobiteľné. Statické smerovanie sa tiež nedokáže prispôsobiť výpadkom pripojení kvôli nemennej povahe smerovania.

Dynamické smerovanie sa používa vo veľkých sieťach s viacerými možnými spôsobmi pripojenia od zdroja k cieľu, pričom využíva špeciálne protokoly smerovania, ako napríklad Router Information Protocol (RIP), ktorý automatický robí zmeny v smerovacej tabuľke, aby umožnil dynamické smerovanie. Dynamické smerovanie má niekoľko výhod oproti statickému smerovaniu, akými sú napríklad vynikajúca prispôsobiteľnosť a schopnosť prispôsobiť sa výpadkom pripojenia v sieti. Taktiež nevyžaduje toľko ručného nastavovania smerovacích tabuliek, pretože smerovače sa navzájom informujú o svojej prítomnosti a dostupných trasách. Táto vlastnosť tiež vylučuje chyby spôsobené ľudským faktorom. Dynamické smerovanie nie je dokonalé, pretože má aj určité nevýhody akými sú vyššia zložitosť a záťaž pri komunikácii smerovačov, čo následne pocítia koncoví používatelia zníženou šírkou prenosového pásma.

TCP a UDP

TCP je protokol, poskytujúci korekciu chýb a garanciu doručenia dát, čo je známe ako riadenie toku alebo flow control. Riadenie toku určuje, kedy je potrebné prerušiť tok dát a vyžiadať o znovuzaslanie dátových paketov kvôli problémom, akými sú napríklad tzv. kolízie, a tak zabezpečiť správne doručenie údajov. TCP sa využíva najmä na výmenu dôležitých informácii, akými sú napríklad databázové transakcie.

UDP protokol (User Datagram Protocol) je naopak protokolom, ktorý sa len zrieka zaoberá prenosom dôležitých dát, pretože nepoužíva riadenie toku ani žiadnu ďalšiu metódu, aby zabezpečil spoľahlivý prenos dát. UDP sa najčastejšie používa všade tam, kde strata zopár paketov nie je žiadna katastrofa, ako napríklad pri tzv. audio a video streamingu, pri ktorom je neporovnateľne rýchlejší ako TCP, pretože sa nezaoberá opravou chýb a riadením toku.

ICMP

ICMP protokol  (Internet Control Messaging Protocol) je rozšírením IP protokolu podľa definície Request For Comments (RFC) číslo 792 a umožňuje riadenie obsahu paketov, chýbových a informačných správ. Prokol ICMP je využívaný takými sieťovými aplikáciami, akou je napríklad nástroj ping, ktrorý vie overiť dostupnosť stanice. Príkladmi niektorých chybových hlásení užitočných pre obe komunikujúce strany, ktoré posiela ICMP, sú hlásenia Destination Unreachable (cieľ nedostupný) a Time Exceeded (vypršal čas na spojenie).

Démoni

Daemons alebo démoni sú špeciálne systémové aplikácie, ktoré sú zvyčajne spustené v pozadí a čakajú na požiadavky o služby, ktoré poskytujú z iných aplikácií. Mnoho démonov je sieťovo zameraných. Aj v Ubuntu je na pozadí spustených veľa démonov, ktoré poskytujú sieťovo zamerané služby. Medzi nich patria aj démoni: Hyper Text Transport Protocol Daemon (httpd), ktorý poskytuje služby webového servera, Secure SHell Daemon (sshd), ktorý poskytuje rozhranie pre vzialenú správu a funkcie na prenos súborov a Internet Message Access Protocol Daemon (imapd), ktorý poskytuje e-mailové služby.

Zdroje

Protokol dynamickej konfigurácie staníc DHCP

Dynamic Host Configuration Protocol (DHCP) je sieťová služba, ktorá umožňuje, aby klientom siete boli automaticky pridelené nastavenia zo servera, miesto ručného nastavovania každej stanice samostatne. Počítače, ktoré sú nastavené ako DHCP klienti nepotrebujú žiadne ďalšie nastavenia. Získajú ich od DHCP servera a tieto nastavenia sú neviditeľné pre bežného používateľa.

Najčastejšími nastaveniami, ktoré poskytuje DHCP server DHCP klientom sú:

  • IP adresa a sieťová maska 
  • DNS
  • WINS

Avšak DHCP server môže poskytovať aj nastavenia, akými sú:

  • Názov hostiteľa
  • Názov domény
  • Predvolená brána
  • Časový server
  • Tlačový server

Výhodou použitia DHCP je to, že mení nastavenia v celej sieti. Ak chceme napríklad zmeniť DNS server, stačí ho zmeniť iba na DHCP serveri a všetci klienti siete zmenia nastavenie hneď po tom, ako sa ich DHCP klient spojí s DHCP serverom. Ďalšou výhodou je tiež ľahšie začlenenie nového počítača do siete, pretože nepotrebujeme zisťovať, ktorá IP adresa je voľná. Vylúči sa tiež riziko priradenia rovnakej IP adresy dvom počítačom.

DHCP server môže byť nastavený dvoma spôsobmi:

MAC adresa

Táto metóda použitia DHCP vyžaduje zadefinovanie všetkých fyzických adries sieťových kariet pripojených do siete, pomocou ktorých sa budú klienti identifikovať a následne im bude poskytnuté nemenné nastavenie vždy, keď pošlú požiadavku DHCP serveru.

Rozsah adries

Táto metóda vyžaduje zadefinovanie rozsahu IP adries, z ktorého budú dynamicky poskytované DNS klientom systémom "kto prv príde, ten skôr melie". Keď sa DHCP klient zo siete odpojí na určitý čas, jeho konfigurácia sa zruší a adresa bude vrátená späť do zoznamu voľných adries, aby mohla byť pridelená inému DHCP klientovi.

Ubuntu sa dodáva s DHCP serverom aj klientom. Serverom je dhcpd (dynamic host configuration protocol daemon). Klient, ktorý je súčasťou Ubuntu, je dhclient a mal by byť nainštalovaný na každom počítači, ktorý chceme automaticky nakonfigurovať. Oba programy sa dajú jednoducho nainštalovať a sú nastavené tak, aby sa spúšťali pri zavádzaní systému.

Inštalácia

Ak chceme dhcpd nainštalovať, zadáme do príkazového riadka nasledujúci príkaz:

sudo apt-get install dhcp3-server

Konfiguráciu DHCP servera môžeme podľa potrieb zmeniť v konfiguračnom súbore  /etc/dhcp3/dhcpd.conf.

Bude tiež potrebné v súbore /etc/default/dhcp3-server určiť, na ktorom rozhraní bude dhcpd načúvať. Predvolené je rozhranie eth0.

POZNÁMKA: výstupy dhcpd sa zaznamenávajú v syslogu. V ňom môžeme nájsť diagnostické správy.

Konfigurácia

Chybová správa na konci inštalácie môže byť trochu mätúca, ale nasledujúce kroky nám pomôžu službu nakonfigurovať:

Najčastejšie sa DHCP server nastavuje tak, aby IP adresy prideľoval náhodne. Toto môžeme urobiť pomocou takýchto nastavení:

# Príklad /etc/dhcpd.conf
# (sem pridajte váš komentár)
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mojadomena.nieco";

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
range 192.168.1.150 192.168.1.200;
}

Toto nastavenie spôsobí, že DHCP server bude poskytovať klientom IP adresy z rozsahu 192.168.1.10-192.168.1.100 alebo 192.168.1.150-192.168.1.200. IP adresa bude zapožičaná na dobu 600 sekúnd, ak klient nepožiada o iné časové obmedzenie. Maximálna (povolená) doba zapožičania je 7200 sekúnd. Server tiež "poradí" klientovi, že by mal použiť masku siete 255.255.255.0, broadcast adresu 192.168.1.255, bránu/smerovač 192.168.1.254 a DNS servery 192.168.1.1 a 192.168.1.2.

Ak potrebujeme nastaviť WINS server pre klientov Windows, je potrebné zapísať aj riadok netbios-name-servers, napríklad takto:

option netbios-name-servers 192.168.1.1; 

Konfiguračné nastavenia Dhcpd sme prevzali z DHCP mini-HOWTO.

Zdroje

Synchronizácia času pomocou NTP

Táto stránka hovorí o tom, ako na počítači udržať presný čas. Presný čas je pri serveroch dôležitý, ale na bežných počítačoch na ňom až tak nezáleží.

NTP je súčasťou TCP/IP protokolu a slúži na synchronizáciu času cez sieť. V princípe si klient vyžiada od servera a použije ho na nastavenie svojich hodín.

Za týmto jednoduchým opisom sa však nachádza dosť komplikovaný systém: Existuje niekoľko úrovní NTP serverov, pričom NTP servery prvej úrovne sú pripojené k atómovým hodinám (často prostredníctvom GPS) a servery na úrovniach dva a tri slúžia na rozloženie záťaže a spracovávajú požiadavky prichádzajúce z celého Internetu. Tiež softvér na strane klienta je o niečo zložitejší, ako sa na prvý pohľad javí - je tu problém oneskorenia komunikácie a nastavenia času tak, aby sa to neprejavilo na chode ostatných procesov, ktoré sú na serveri spustené. Všetky tieto komplikované veci sú však našťastie skryté pred naším zrakom!

Ubuntu umožňuje automaticky nastavovať čas dvoma spôsobmi: pomocou ntpdate a ntpd.

ntpdate

Ubuntu je štandardne dodávané s ntpdate, ktoré spustí jednorázovo pri zavádzaní systému a nastaví čas podľa prednastaveného NTP servera. Keďže medzi jednotlivými reštartami servera sa môžu hodiny stať veľmi nepresnými, je dôležité upraviť čas aj počas behu servera. Najjednoduchším spôsobom, akým sa to dá urobiť, je naplánovať denné spúšťanie ntpdate pomocou plánovača cron. Otvoríme náš obľúbený editor s právami root (pri spustení použijeme sudo) a vytvoríme súbor /etc/cron.daily/ntpdate s nasledujúcim obsahom:

ntpdate ntp.ubuntu.com

Súbor /etc/cron.daily/ntpdate musíme nastaviť ako spustiteľný:

sudo chmod 755 /etc/cron.daily/ntpdate

ntpd

ntpdate je trochu obmedzený nástroj - môže nastavovať čas iba raz za deň a vykonať jednu veľkú korekciu. Démon ntpd je oveľa presnejší. Vypočíta, o koľko sa hodiny oneskorujú/predbiehajú a nepretržite ich opravuje, takže nenastane žiadny veľký posun, ktorý by mohol viesť k nekonzistencii záznamov. Je to síce za cenu malého zníženia výkonu procesora a kapacity pamäte, ale pri moderných serveroch je to zanedbateľné.

Nástroj ntpd nainštalujeme pomocou príkazu:

sudo apt-get install ntp

Zmena časových serverov

V oboch uvedených prípadoch systém použije predvolený NTP server ntp.ubuntu.com. To je OK, ale môžeme používať viacero serverov a zvýšiť tak presnosť a odolnosť. Môžeme použiť servery, ktoré sú geograficky blízke a máme k nim rýchlejšie pripojenie. Ak chceme servery zmeniť, pre ntpdate to môžeme urobiť v súbore /etc/cron.daily/ntpdate napríklad takto:

ntpdate ntp.ubuntu.com pool.ntp.org 

Pre ntpd to zase môžeme urobiť v súbore /etc/ntp.conf napríklad takto:

server ntp.ubuntu.com
server pool.ntp.org

Všimnime si adresu pool.ntp.org použitú v príkladoch. Je to naozaj veľmi dobrý nápad, pri ktorom DNS server systémom Round-Robin (ide Pešek okolo) vráti adresu NTP servera zo zoznamu dostupných NTP serverov, a tak rozdeľuje záťaž medzi všetky servery. Ešte lepším riešením je použiť zoznam len určitého regiónu - napríklad, ak sa nachádzame na Slovensku, môžete použiť sk.pool.ntp.org miesto pool.ntp.org . Viac informácii sa dozvieme na stránke http://www.pool.ntp.org/.

Môžeme tiež pomocou Google skúsiť nájsť NTP servery v našom regióne a pridať ich do našej konfigurácie. Ak chceme otestovať, či server funguje, stačí zadať sudo ntpdate meno.ntp.servera a sledovať, čo sa bude diať.

Podobné stránky