Routing probíhá na 3. vrstvě OSI modelu (network layer = síťová vrstva).
klikneme na ip /routes a zobrazí se nám Route List.
Dst. Address znamená cílová adresa, gateway je destination next router (cílový router, kam to bude posílat, když se matchne pravidlo v Dst. address).
Všimněte si možnosti check gateway, kde to každých 10 vteřin kontroluje pomocí ICMP echo request (pingem) nebo ARP requestem opačnou stranu.
„Přesnější“ routování
Pokud existuje 2 a více route (cest/tras) mířících na stejnou adresu, použije se ta více přesná. Pro příklad:
pokud budou 2 routy:
dst: 192.168.10.0/24, gateway (brána): 10.0.0.1
dst: 192.168.10.128/25, gateway (brána): 10.0.2.1
a přijde na router packet, který míří na 192.168.10.140, tak bude použita brána 10.0.2.1 k odeslání packetu dál.
Default Gateway
Default gateway, neboli defaultní brána (já defaultní nepřekládám, promiňte), je taková brána, kam se posílá všechen provoz (trafic), který se nematchne (neshoduje) s žádnou konkrétní trasou (routou). A když se s žádnou trasou (routou) neshodne (nematchne), tak to pošle směrem default gateway.
Default gateway pro router se nastaví automaticky skrze DHCP-clienta, nemusíme ji tedy v případě, že si router získá na WAN interface adresu sám, vůbec defaultní routu nastavovat. Lze to však změnit skrze IP / DHCP client / 2x poklikáme na ether1 gateway který je tam z defaultu a v kolonce Add Default Router: kde je standardně yes, můžeme nastavit no a routeru pak budeme muset dodat statickou routu ručně.
Dynamic routes
Jak jsme si mohli všimnout v Route Listu nalevo od Dst. Address je S, DAC nebo jiné tagy. DAC se v routovací tabulce objeví automaticky bez přičinění uživatele. DAC routy pocházejí z konfigurace, které jsme si naházeli do IP /Addresses. Dynamické routování skrze protokoly OSPF a RIP čekejte v aktualizaci tohoto článku dole.
DAC a další zkratky znamenají:
Route Flags
A – active
C – connected
D – dynamic
S – static
a jejich kombinace.
Default gateway je statická routa.
Static Routing
Pokud máte 2 routery se sousedem. Tak řešení tzv. „na prasáka“ je, že si každý nastavíte na adresu WAN rozhraní kolegy default routu 0.0.0.0/0 a bude to fungovat. (ikdyž tam může vzniknout routing storm, kde si routery přeposílají mezi sebou tentýž packet jako horký brambor tak dlouho, dokud nevyprší TTL).
řešení je tedy v tomto případě následující:
sousedova ip adresa vnitřní LAN sítě: 192.168.20.0/24
moje IP adresa vnitřní LAN sítě: 192.168.10.0/24
adresa sítě mezi routery a mezi jejich WAN rozhraními: 192.168.1.0/24.
můj router adresy rozhraní:
ether1: 192.168.1.100 na WAN
bridge-local: 192.168.10.1
soused:
ether1: 192.168.1.102 na WAN
bridge-local: 192.168.20.1
default routa ode mě k sousedovi:
192.168.20.0/24 přes 192.168.1.102
defaultní routa od souseda ke mě:
192.168.10.0/24 přes 192.168.1.100
Static routing
Jednoduchý k nakonfigurování v malých sítích
Je to tupé řešení, které se těžce škáluje
ruční konfigurace je potřeba kdykoliv se objeví nová síť, kterou je potřeba „uroutovat“.
Dynamic Routing – OSPF
Máme 2 routery. Levý a pravý, pravý je připojen k internetu. Mezi nimi postavíme OSPF dynamic routing:
Levá síť: 192.168.10.0/24,počítač v síti 192.168.10.10, ether3 routeru 192.168.10.1
Pravá síť: 192.168.20.0/24, počítač v síti 192.168.20.10, ether2 routeru 192.168.20.1
Prostřední síť, po které pojede OSPF protokol: 192.168.0.0/24, levý router ether1 192.168.0.2, pravý router ether2 192.168.0.1
Síť do internetu z pravého routeru ven: ether1 192.168.1.101, síť 192.168.1.0/24, brána 192.168.1.1.
Viz obrázek:
Teď jak to nastavit. Začněme levým routerem.
Zakažme všechna pravidla ve firewallu skrze IP/firewall/
V záložce NAT musíte mít funkční a povolený src-nat!!!
(V mém případě, když jsem měl vše nastavené správně a měl jsem povolený Firewall, tak mi nechodily mezi routery OSPF packety). Pokud nebudete mít povolený src-nat na routeru, který není připojen do internetu, tak to katastrofa nebude, ale pokud nebudete mít funkční src-nat na routeru, který je připojen do internetu, tak nepingnete dál, než na WAN ether1 rozhraní pravého routeru, který je připojen do internetu.
U adresujeme rozhraní levého routeru a předkládám ještě ve screenshotu i to, jak vypadá můj bridge-local:
Dáme routing/OSPF/ záložka networks a začnem tam sypat přímo připojené sítě (tedy v případě levého routeru 192.168.0.0/24 a 192.168.10.0/24):
Záložka routing/OSPF / Interfaces by měla vypadat takto:
Jdeme na Pravý router, jehož konfiguraci dopíšu.
Pravý router OSPF
Jako v případě levého routeru, uadresujeme všechna rozhraní ip adresami přes IP / addresses
ether1 192.168.1.101/24
ether2 192.168.0.1/24
ether3 192.168.20.1/24
Potom přes Interfaces/2x klikneme na ether2-master-local a ověříme, že v kolonce Master Port je none.
Stejně tak 2x klikneme na ether3-slave -local rozhraní a nastavíme Master Port na: none
Dále klikneme na ip/routes/ přidáme statickou defaultní routu (trasu) 0.0.0.0/0, gateway 192.168.1.1 a dáme OK.
Zakážeme všechna Firewall pravidla:
Ověříme, že je povolený src-nat (jinak by klienti ve vnitřních sítích kromě hlavního routeru nepingli směrem do internetu – konkrétně by pingnuli 192.168.1.101 ale už by nepingnuli 192.168.1.1):
Klikneme na routing/OSPF/záložka Networks:
A přidáme tam přímo připojené sítě k pravému routeru (můžeme vést diskusi pod článkem, jestli má smysl tam cpát tu síť 192.168.1.0) tedy konkrétně:
192.168.0.0/24
192.168.1.0/24
192.168.20.0/24
Pár vteřin počkáme a routery by si měly vyměnit mezi sebou LSA informaci:
V routing/OSPF/ záložka Instances si ještě pohlídáme, aby se nám přeposílala z hlavního pravého routeru i defaultní routa:
Dříve či později již musíte pingnout. Pohlídejte si zakázané firewally (pro účely testování) na obou mikroticích (ospf posílá zprávy balené do portu tcp 89), pohlídejte si povolené src-naty, kvůli jejich případné absenci byste pingali jen v místní síti, ale už nikoliv do internetu, pokud Vám něco nebude fungovat, ověřte si správnou adresaci na rozhraních, správné porty, jestli vaše interfacy nejsou slave nějakého jiného portu či jestli nejsou v bridgi.
Dynamic Routing – RIP
Přejděme na PRAVÝ hlavní router. Kliknutím na routing/ospf/záložka instances a kliknutím na červený křízek zakážeme OSPF (při jeho opětovném povolení by začal OSPF fungovat, takže nepřijdete o žádnou konfiguraci).
Klikněte na routing/rip/v záložce interfaces klikneme na modré tlačítko PLUS.
Interface nastavíme na rozhraní, které spojuje pravý router s tím levým, protože z bezpečnostních důvodů nechceme posílat routovací informace jinam.
Klikneme na tlačítko RIP settings v routing/RIP/Interfaces/ a zde vybereme možnost Distribute Default: if installed, Redistribute Static Routes, Redistribute Connected routes. Stejně tak můžeme dát klidně redistribute OSPF routes, ale to možná někdy jindy.
(bez tohohle nastavení by se viděli jen klienti ve vnitřní síti mezi sebou, ale nikdo by se nedostal do internetu)
Na záložce Networks znovu přidáme všechny přímo připojené sítě k pravému routeru, tedy:
192.168.0.0/24
192.168.20.0/24
můžeme klidně i 192.168.1.0/24 (odebrat ji můžeme vždycky a navíc když jsem ji v OSPF zakázal, všude jsem se stejně dostal).
Nesmíme ještě zapomenout přidat souseda v Routing/RIP/záložka Neighbor/ a jeho ip adresu sousedního rozhraní, tedy 192.168.0.2.
Přejděme k levému routeru
Levý router RIP
Na levém routeru klikneme na routing/rip/ v záložce interfaces klikneme na plus (+) kde přidáme ether1-gateway
Přidáme přímo připojené sítě k levému routeru, konkrétně:
192.168.0.0/24
192.168.10.0/24
Klikneme na routing/rip/záložka neighbor (soused) a na levém routeru přidáme IP adresu pravého souseda, tedy 192.168.0.1.
Potom už jen pingáme a zkoušíme.
A voila! Máme hotovo! K debugu prozradím následující věci. Pokud už vidíte, jak si routery vyměňují zprávy mezi sebou (v ip /routes vidíte DAr), tak už to začíná fungovat. Když pingáte jen na svůj router ale ne na sousedův, zkontrolujte ip souseda (neighbor), Vámi přidané sítě a pokud máte hlavní router, který rozposílá defaultní routu, jeslti jste si zaškrtli povolení tam kde je tlačítko RIP settings i možnost posílat defaultní routu sousedům. Když nepingnete do internetu ale pingnete jen všude kde Vám běží routovací protokol, tak bude chyba právě v redistribuci (přeposílání) defaultní routy.