Linux E X P R E S

Facebook

Domácí počítačová síť - 3

sit.png

Naposledy jsme si ukázali, jak mezi sebou poměrně rychle a levně propojit dva počítače. Stejným způsobem by se samozřejmě dalo propojit i několik dalších stanic. To by ovšem nebylo příliš ekonomické, a proto si dnes musíme říct něco o kouzelné krabičce jménem switch.


Jak už všichni víme z prvního dílu seriálu, switch je zařízení, které je schopno přepínat mezi několika stanicemi. Pokud ho někdy v budoucnu půjdete kupovat, budou vás nejvíce zajímat dva parametry. První z nich je počet portů – tj. kolik počítačů do něj lze maximálně připojit. Druhým z nich je přenosová rychlost. Standardně se switch vyrábí s počtem portů 4, 8, 16, 24, 32 , 64 a 128. Přenosové rychlosti pak jsou 10 Mbit/s, 100 Mbit/s a 1000 Mbit/s. Dále pro vás mohou být zajímavé parametry jako spotřeba elektrické energie, velikost či typ montáže. Odborníci pak jistě ocení „nadstandardní“ vybavení, a to jak ze stránky hardwarové (sériová konzole a různé rozšiřující moduly), tak i softwarové (podpora vlan, snmp, spanning tree, QoS). Pokud si v obchodě vy a ani prodavač(ka) opravdu nebudete vědět rady, zkuste sáhnout po některém ze switchů označených jako SOHO.

SOHO je z anglického Small Office/Home Office (malá kancelář/ domácí kancelář). V informatice tak označujeme zařízení pro sítě do deseti uživatelů.

Jestliže se vám na stole jeden switch „povaluje“, můžeme se dát do zapojování. Nejprve si opět vyrobíme patřičné kabely. Pro propojení počítače (či například síťové tiskárny) se switchem je zapotřebí přímý kabel. Potěšit můžu ty, kteří na svém switchi naleznou nápis „MDI/MDI-X“. Označuje se takto switch, kterému je zcela jedno, zda-li se do něj připojíte kabelem přímým či kříženým.

MDI-X – je z anglického Medium dependent interface crossover – jedná se o zařízení, které vyžaduje ke své činnosti (k propojení) křížový kabel.

Zapněte počítače a nabootujte Linux. Od všech PC natáhněte kabely až ke switchi. Ten zapojte do zásuvky. Valná většina switchů dává po zapnutí do elektrické sítě jakousi signalizaci, že jsou funkční. Obvykle rozsvítí všechny kontrolní diody, případně udělají jiný světelný efekt. Po několika vteřinách začněte připojovat jednotlivé stanice. Konektory můžete zapojovat v libovolném pořadí do kterékoliv zdířky. Jedinou výjimkou je zdířka Up-link, která slouží k propojení switche s dalším switchem (tato zdířka bývá jen na některých zařízeních). Pokud je celkový počet portů na vašem switchi lichý, pak se jedná právě o „UP-Link“. Správné zastrčení kabelu a funkční spojení (na hardwarové úrovni) bývá opět světelně signalizováno. Pro bližší informace si pozorně přečtěte manuál k vašemu zařízení.

V okamžiku, kdy jsou všechna zařízení úspěšně propojená, začneme nastavovat IP adresy. Od minula umíme přiřadit IP adresy na jednotlivá rozhraní pomocí příkazu ifconfig. Dnes si ukážeme, jak stejnou operaci provést pomocí mladšího brášky ifconfigu – programu ip.

Na prvním počítači bude IP adresa 192.168.1.1, na druhém 192.168.1.2 a na třetím 192.168.1.3. Protože používáme masku 255.255.255.0, můžeme tímto způsobem pokračovat až do adresy 192.168.1.254. Adresa 192.168.1.255 je pak broadcastem celé sítě. Zřejmě proto, aby administrátoři nemuseli neustále opisovat dlouhé masky, vymysleli si zkrácený zápis IP adres. Adresa 192.168.1.1 s maskou 255.255.255.0 se pak zapíše jednoduše jako 192.168.1.1/24, kde „/24“ je prefix, který nám označuje velikost daného subnetu. Z IP adresy a prefixu jsme pak schopni dopočítat další potřebné údaje jako je „network“ či „broadcast“. Podrobněji o IP adresách si však povíme v některém z následujících dílů.

Broadcast je poslední adresa v daném segmentu sítě. Při poslání paketu na tuto adresu se tento rozešle všem uzlům v dotyčném segmentu sítě. Broadcast adresa se používá například pro zjištění MAC adres cílového počítače pomocí ARP. cs.wikipedia.org/wiki/Broadcast

Starý zápis tedy vypadal takto:

root@tux:~# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
Pomocí programu IP pak bude ale zápis vypadat následovně:
root@tux:~# ip addr add 192.168.1.1/24 brd + dev eth0

Address Resolution Protocol (ARP) se v počítačových sítích s IP protokolem používá k získání ethernetové (MAC) adresy sousedního stroje z jeho IP adresy. Používá se v situaci, kdy je třeba odeslat IP datagram na adresu ležící ve stejné podsíti jako odesílatel. Data se tedy mají poslat přímo adresátovi, u něhož však odesílatel zná pouze IP adresu. Pro odeslání prostřednictvím např. ethernetu ale potřebuje znát cílovou ethernetovou adresu. cs.wikipedia.org/wiki/Address_Resolution_Protocol

Jestliže jste se při nastavování IP adres spletli, můžete adresu vymazat příkazem ip addr del 192.168.1.1/24 dev eth0 . Vypsat aktuální IP adresy na rozhraní se vám podaří po zadání ip addr show eth0 . Stejně tak jako má ifconfig parametr up, je potřeba říct programu IP, aby linku zaktivoval. Pro aktivaci napište do konzole příkaz ip link set eth0 up . Analogicky linku shodíme příkazem ip link set eth0 down . Pokud jste „hračičky“, můžete si linku dokonce pojmenovat za pomocí příkazu ip link set eth0 name nove_jmeno . (Tečky na konci výpisů nejsou jejich součástí, pozn. red.)

Jak jste si sami mohli všimnout, práce s programem ip je výrazně rychlejší a také přehlednější (a snáze se implementuje do skriptů). Opravdu nedoporučuji v praxi mixovat oba dva příkazy. Důvodů proč to nedělat, je několik. Nejzávažnějším je například fakt, že program ifconfig nezobrazí některá nastavení vykonaná pomocí příkazů ip. Pokud vám to distribuce umožní, používejte jen program ip a na starší ifconfig zapomeňte.

Stejným způsobem nastavte IP adresy i na dalších počítačích a otestujte spojení pomocí příkazu ping. Pokud se vše podařilo, rozrostla se vaše síť, ale také okruh problémů, které můžou vzniknout. Nejčastějším problémem bývá zadání stejné adresy do dvou různých počítačů. V tomto okamžiku se oba postižení klienti začnou chovat velmi podivně. Dochází k rozličným problémům - od částečné nefunkčnosti služeb až po úplný výpadek připojení. Zde nám klasický ping nepomůže. Když začneme pingat, většinou nám jeden z počítačů odpoví, a tak nic nepoznáme. Naštěstí máme řešení, jak takové zbloudilé IP adresy najít.

Když jsme si povídali o ifconfigu, zmínil jsem se také o MAC adrese zařízení. Ta je pro každou síťovou kartu unikátní. Pokud si při instalaci nové sítě opíšeme MAC adresy všech PC, budeme moc zjistit, které počítače mají stejnou IP adresu. K tomu, abychom „záškodníky“ našli, nám poslouží příkaz arping, který vysílá ARP requesty na okolní počítače. Do shellu zadáme pouze arping a IP adresu počítače. V případě, že je vše v pořádku, odpoví nám program jednou IP adresou a jednou MAC adresou.

root@tux:~# arping 192.168.1.100 -c 2
ARPING 192.168.1.100 from 192.168.1.1 eth0
Unicast reply from 192.168.1.100 [00:0C:42:06:6E:1D]  0.785ms
Unicast reply from 192.168.1.100 [00:0C:42:06:6E:1D]  0.773ms
Sent 2 probes (1 broadcast(s))
Received 2 response(s)
root@tux:~#

Jestliže ale existuje více počítačů s tou samou IP adresou, uvidíme následující:

root@tux:~# arping 192.168.1.18 -c2
ARPING 192.168.1.18 from 192.168.1.1 eth0
Unicast reply from 192.168.1.18 [00:0C:42:06:6E:1D]  0.782ms
Unicast reply from 192.168.1.18 [00:0B:82:08:CA:6B]  2.501ms
Unicast reply from 192.168.1.18 [00:0B:82:08:CA:6B]  1.806ms
Sent 2 probes (1 broadcast(s))
Received 3 response(s)
root@tux:~#

Ze něco není v pořádku, plyne z posledních řádků, kdy nám arping napsal, že vyslal dva dotazy, ale odpovědi dostal tři. To znamená, že dvě zařízení mají stejnou IP. Pokud si prozkoumáme MAC adresy ve výpisu, zjistíme, že nám odpověděla navíc i jedna „špatná“ MAC adresa.

Pokud seznam s MAC adresami nemáte, možná vám pomůže alespoň on-line vyhledávač výrobců podle MAC adres. Já jsem do vyhledávače zadal MAC adresy 00:0C:42:06:6E:1D a 00:0B:82:08:CA:6B. Obdržel jsem obratem odpověď, že první MAC adresa by měla patřit výrobci Routerboard.com a druhá Grandstream Networks. Přestože vyhledávání není 100% a někdy nemusí vypovídat skutečné údaje, mně okamžitě došlo, kde je problém. Ve firmě máme pouze jedno zařízení, které běží na platformě Routerboard, a pouze jediné zařízení, které má síťovou kartu od Grandstream Networks (což je VoIP telefon). V tu chvíli jsem pochopil, že jsem se musel překliknout v zadávání IP adres, když jsem přidával další IP telefon pro nového kolegu.

Pokud se ve vás právě pohnulo svědomí, poradím vám malý trik, jak rychle sesbírat MAC adresy z vaší sítě. Budeme k tomu potřebovat program nmap. Jedná se o velice výkonný síťový skener. Pro sesbírání MAC adres použijte příkaz nmap -sP 192.168.1.0/24 a výsledek bude následující:

root@tux:~# nmap -sP 192.168.1.0/24
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2006-12-03 21:05 CET
Host 192.168.1.2 appears to be up.
MAC Address: 00:E0:4D:07:F9:A1 (Internet Initiative Japan)
Host 192.168.1.18 appears to be up.
MAC Address: 00:0B:82:08:CA:6B (Grandstream Networks)
Host 192.168.1.100 appears to be up.
MAC Address: 00:0C:42:06:6E:1D (Routerboard.com)
Host 192.168.1.110 appears to be up.
MAC Address: 00:17:5C:3F:B0:B3 (Sharp)
Host 192.168.1.188 appears to be up.
MAC Address: 00:0C:42:04:FD:B1 (Routerboard.com)
Host 192.168.1.253 appears to be up.
MAC Address: 00:16:76:22:16:C2 (Intel)
Nmap finished: 256 IP addresses (7 hosts up) scanned in 6.997 seconds
root@tux:~#

Vzhledem k tomu, že většina domácích sítí je postavena systémem „co šuplík dal“, objevují se tu a tam i problémy s nastavením (většinou postaršího hardwaru). Některé síťové karty a huby nejsou schopny určit, jakou rychlostí mají komunikovat. Správné nastavení lze v tomto případě provést pomocí dvou různých příkazů. Prvním z nich je ethtool. Nastavení zařízení eth0 pro plný duplex na 100Mbit by vypadalo následovně:

ethtool -s eth0 duplex full speed 100
Stejného efektu můžeme dosáhnou zadáním
mii-tool -F 100baseT-FD eth0

U některých historických kombo karet (karty které obsahují několik typů síťových rozhraní) je potřeba určit, přes který konektor data potečou. Většinou je na výběr ze tří rozhraní. Pro konektor TP napíšeme

ethtool -s eth0 port tp duplex full speed 100
analogicky to platí pro port AUI a BNC:
ethtool -s eth0 port aui duplex full speed 100
ethtool -s eth0 port bnc duplex full speed 100

Zadáme- li do konzole ethtool s název síťového rozhraní, dostaneme velice hezky sesumarizované veškeré informace týkající se síťového hardwaru (a možných voleb při konfiguraci).

root@tux:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes:   10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000007 (7)
Link detected: yes
root@tux:~#

Při spuštění mii-tool s názvem rozhraní dostaneme (velice stručně) nastavenou maximální rychlost rozhraní a stav linky. Stav linky je zde obdobou LED diody na switchi. Někdy je to velice užitečná funkce, neboť můžeme zjistit poruchu na kabelu či rychle otestovat, který kabel patří ke kterému rozhraní.

root@tux:~# mii-tool
eth0: negotiated 100baseTx-FD, link ok
eth1: negotiated 100baseTx-FD, link ok
eth2: negotiated 100baseTx-FD, link ok
root@tux:~#

Dnes jsme si vyjmenovali asi nejdůležitější nástroje každého správce sítě. Přestože jich není mnoho, je důležité je znát a umět používat. V opačném případě nebudete schopni udělat základní diagnostiku sítě a odstranit závadu. V příštím díle se můžete těšit na povídání o konzolových nástrojích dig, host a nslookup. Začneme se také podrobněji věnovat IP adresám a adresaci vůbec.

Diskuze (1) Nahoru