GNU/Linux >> Znalost Linux >  >> Linux

Naučte se základy sítí, které musí znát každý správce systému

Jednou z nejdůležitějších domén správce systému je síť.

I když pochopení všeho, co je třeba vědět o sítích, je velké téma, je toho hodně, co se můžete naučit ze síťového stacku vašeho vlastního skromného počítače s Linuxem.

Osvojení základních síťových příkazů vám může pomoci pochopit, jak zařízení ví, ke které síti se má připojit, jak najít sdílenou tiskárnu nebo sdílenou složku – nebo největší síť ze všech, internet.

Tento článek popisuje základy správy sítě pomocí open source.

[ Mohlo by se vám také líbit čtení: 5 příkazů pro odstraňování problémů se sítí Linux ]

Co je to síť?

V oblasti výpočetní techniky je síť souborem dvou nebo více počítačů, které mohou komunikovat.

Aby síť usnadnila komunikaci mezi zařízeními, musí být stroje v síti schopny se navzájem najít.

Systémy, které to umožňují, jsou TCP a IP.

Transmission Control Protocol (TCP)

Komunikace vyžaduje prostředek pro přenos zpráv mezi nimi a počítače komunikují pomocí digitálních signálů přenášených ethernetovými kabely nebo rádiovými vlnami nebo mikrovlnami.

Specifikace jsou formálně definovány jako protokol TCP.

Internetový protokol (IP)

Počítače v síti se identifikují samy sebe a navzájem pomocí adres IP, například 10.0.0.1 nebo 192.168.0.8.

Ty jsou také obecně mapovány na názvy hostitelů, jako je laptop a desktop nebo darkstar nebo penguin nebo jakýkoli název, který každému stroji dáte.

Specifikace pro toto jsou formálně definovány jako IP protokol.

Minimální síť

Nejjednodušší možná síť je síť s jedním uzlem.

Může se to zdát jako podvádění, ale ve skutečnosti je to platná síť v tom smyslu, že počítač potřebuje vědět, jak se oslovit.

Každý počítač se považuje za localhost uzel s pouze interní IP adresou 127.0.0.1.

Můžete to ověřit pomocí ping příkaz:

$ ping -c 1 localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.031 ms

localhost označení je definováno v /etc/hosts soubor:

$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Mít interní IP adresu je důležité, protože důležité služby, jako je tiskový server CUPS a systém správy serveru Cockpit, poskytují rozhraní přes připojení TCP/IP. Chcete-li k nim přistupovat z počítače, na kterém běží, můžete použít localhost plus číslo portu (například localhost:631 nebo 127.0.0.1:631 ) ve webovém prohlížeči.

Vytvoření základní sítě

Zatímco síť s jedním uzlem je pro některé úkoly užitečná, síť obvykle odkazuje na více než jeden počítač.

Linux a TCP/IP stack udělají spoustu práce, aby zjednodušily práci v síti, ale když automatická nastavení nestačí k tomu, aby vám zajistila nastavení, které vaše organizace potřebuje, je na vás jako na správci systému, abyste pochopili, jak vytvářet konfigurace sítě.

Začněte jednoduše a zkuste vytvořit síť se dvěma počítači.

Chcete-li odstranit automatická nastavení, abyste si mohli zvyknout na budování sítě sami, zkuste použít speciálně zapojený ethernetový kabel nazývaný křížený kabel .

Křížený kabel propojuje vysílané signály přicházející z jednoho počítače s příslušnými přijímači na jiném počítači.

Vzhledem k tomu, že mezi počítači není žádný router, musí být veškerá správa sítě prováděna ručně na každém počítači, což je dobré úvodní cvičení pro základy práce v síti.

Použitím kříženého kabelu k propojení dvou počítačů se zbavíte jakéhokoli externího síťového řadiče, který vám nabídne vedení, takže ani jeden počítač nic nevytváří ani nepřipojuje k síti.

V tomto jednoduchém nastavení jste nejvyšší síťovou autoritou.

Chcete-li vytvořit síť, musíte nejprve každému počítači přiřadit IP adresu.

Blok vyhrazený pro adresy IP, které si sami přiřadíte, je 169.254.x.x.

Zobrazení síťových rozhraní v systému Linux

K vytvoření sítě potřebujete síťová rozhraní.

Ethernetový port je obvykle označen výrazem eth plus číslo začínající 0 , ale některá zařízení jsou hlášena s jinými výrazy.

Rozhraní na počítači můžete objevit pomocí ip příkaz:

$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 ...
    link/loopback 00:00:00:00:00:00 brd ...
    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
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> ...
    link/ether dc:a6:32:be:a3:e1 brd ...
3: wlan0: <BROADCAST,MULTICAST> ...
    link/ether dc:a6:32:be:a3:e2 brd ...

V tomto případě eth0 se ukáže jako správný název rozhraní.

Uvidíte však en0 nebo enp0s1 nebo podobné v některých případech, takže je důležité vždy před použitím ověřit název zařízení.

Přiřaďte statickou IP adresu v systému Linux

Normálně je IP adresa přidělována dynamicky z vyhrazeného serveru DHCP nebo routeru se zabudovaným serverem DHCP.

Úkolem serveru DHCP je vysílat nabídky adres přes svou síť.

Když se počítač připojí k síti, požádá o adresu.

Server DHCP mu přiřadí jedničku a zaregistruje, kterému zařízení v síti, identifikovanému pomocí adresy MAC (media access control), byla přiřazena která adresa.

Počítače tak vědí, jak se navzájem najít v síti.

V případě této jednoduché sítě však neexistuje žádný DHCP server, který by rozdával IP adresy nebo registroval zařízení, takže si musíte IP adresu vytvořit sami.

Chcete-li počítači přiřadit IP adresu, použijte ip příkaz:

$ sudo ip address add 169.254.0.1 dev eth0

A znovu na druhém počítači, tentokrát zvýšením IP adresy o 1:

$ sudo ip address add 169.254.0.2 dev eth0

Nyní má každý počítač dopravní prostředek (křížený kabel) a způsob, jak jej nalézt v síti (jedinečnou IP adresu).

Problém je v tom, že ani jeden počítač neví, že je členem sítě.

Nastavení síťové trasy v systému Linux

Normálně externí router definuje cesty, kterými se síťový provoz musí ubírat, aby se dostal z bodu A do bodu B.

Říká se tomu směrovací tabulka a je to v podstatě „mapa města“ vaší sítě.

Pro jednoduchou síť, kterou jste vytvořili, zatím neexistuje žádná směrovací tabulka.

Můžete to ověřit pomocí route příkaz na jednom nebo obou počítačích:

$ route
Kernel IP routing table
Destination | Gateway | Genmask | Flags|Metric|Ref | Use | Iface
$ 

Případně můžete použít ip příkaz:

$ ip route
$ 

V každém případě neexistuje žádný smysluplný výstup, protože aktuálně není definována žádná trasa.

Trasu však můžete přidat pomocí ip příkaz:

$ sudo ip route \
add 169.254.0.0/24 \
dev eth0 \
proto static

Tento příkaz přidá trasu do rozsahu adres začínajícího od 169.254.0.0 a končícího na 169.254.0.255 přes eth0 rozhraní.

Nastaví směrovací protokol na static k označení, že trasu jste vytvořili vy, správce, jako záměrné přepsání jakéhokoli dynamického směrování.

Ověřte svou směrovací tabulku pomocí route příkaz:

$ route
Kernel IP routing table
Destination | Gateway | Genmask       | ... | Iface
link-local  | 0.0.0.0 | 255.255.255.0 | ... | eth0

Nebo použijte ip příkaz pro jiný pohled:

$ ip route
169.254.0.0/24 dev eth0 proto static scope link 

Zavolejte na svého souseda

Vaše síť nyní obsahuje:

  • Dopravní prostředek
  • Prostředek oslovování
  • Síťová trasa

S těmito součástmi může každý počítač oslovit hostitele za hranicemi localhost .

Vyzkoušejte to pomocí ping .

Například z počítače s přiřazenou adresou 169.254.0.1:

$ ping -c1 169.254.0.2
64 bytes from 169.254.0.2: icmp_seq=1 ttl=64 time=0.233 ms

--- 169.254.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.244/0.244/0.244/0.000 ms

Můžete také zobrazit sousedy, se kterými jste komunikovali:

$ ip neighbour
169.254.0.2 dev eth0 lladdr e8:6a:64:ac:ef:7c STALE

Síťový přepínač

I když je skvělý pro překvapivě rychlé přenosy souborů, pro dvouuzlové pevné sítě není mnoho dalších potřeb.

To je místo, kde se hardware jako síť přepíná přichází.

Přepínač umožňuje připojit k němu několik ethernetových kabelů a distribuuje zprávy z počítače, které je odesílají do zamýšleného cíle, identifikovaného podle jeho IP adresy.

V mnoha moderních univerzálních sítích není fyzický přepínač pro fyzické kabely praktický ani žádoucí, takže se místo něj používá přístupový bod WiFi, ale platí stejné principy.

Router

Místní sítě v praxi propojují mnoho zařízení a jejich počet roste s tím, jak se stále více zařízení stává síťovým.

Když připojíte síť k internetu (síť vzájemně propojených sítí), toto číslo se řádově zvýší.

Je nepraktické konfigurovat síť ručně. Každodenní úkoly jsou tedy přiřazeny konkrétním uzlům v síti a každý počítač spouští démona, který naplňuje síťová nastavení přijatá od autoritativních serverů v síti.

Každá úloha je obvykle přiřazena samostatnému vyhrazenému serveru ve velké síti, aby bylo zajištěno soustředění a odolnost.

Mezi tyto úkoly patří:

  • Server DHCP pro přidělování a sledování IP adres zařízením připojujícím se k síti
  • Server DNS pro převod registrovaných názvů domén, jako je redhat.com, na adresy IP, jako je 209.132.183.105
  • Brána firewall k ochraně vaší sítě před nežádoucím příchozím nebo zakázaným odchozím provozem
  • Směrovač pro efektivní směrování provozu v síti, slouží jako brána do jiných sítí (jako je Internet) a provádí překlad síťových adres (NAT) 

Díky projektům s otevřeným zdrojovým kódem, jako je VyOS, můžete dokonce provozovat svůj vlastní router s otevřeným zdrojovým kódem postavený z běžného hardwaru.

[ Cheat sheet zdarma:Získejte seznam linuxových nástrojů a příkazů pro správu serverů a sítí. ] 

Zabalit

Čím více síťových schémat ve své laboratoři implementujete, tím lépe porozumíte všem problémům, které mohou nastat v reálném světě.

Někdy se problémy týkají jednotlivých počítačů a zařízení; jindy je to hardware a infrastruktura a jindy zase neoptimální design.

Procvičte si nastavení různých topografií sítě, ať už s virtuálními stroji nebo skutečným hardwarem (nebo obojím), a seznamte se s open source nástroji obchodu.

Networking je velké téma, ale sítě jsou všude.

Investujte do toho, abyste se to naučili hned, a ať tak či onak, dříve než později se to vyplatí.


Linux
  1. Naučte se základy toho, jak funguje přesměrování I/O (vstup/výstup) v systému Linux

  2. 3 dovednosti, které by měl přinést každý správce systému Linux

  3. 6 Možnosti příkazu OpenSSL, které by měl znát každý správce systému

  1. 7 síťových příkazů Linuxu, které by měl znát každý správce systému

  2. Najít počítač v síti LAN?

  3. Základy YAML musí znát každý inženýr DevOps

  1. Rozebírání příkazu free:Co potřebuje vědět správce systému Linux

  2. Povolujete protokol X ve vaší síti?

  3. 17 Linuxových příkazů by měl znát každý správce systému