howto:network:mikrotik:routing
                Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Následující verze | Předchozí verze | ||
| howto:network:mikrotik:routing [2015/06/24 10:33] – upraveno mimo DokuWiki 127.0.0.1 | howto:network:mikrotik:routing [2017/12/29 18:48] (aktuální) – [Záložní konektivita (2 ISP v jednom routeru) - (verze 3)] gandalf | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| ====== Routování na Mikrotiku ====== | ====== Routování na Mikrotiku ====== | ||
| - | ===== 2 ISP v jednom routeru ===== | + | ===== 2 ISP v jednom routeru | 
| Nastavení ukazuje, jak nastavit Mikrotik s dvěma připojení k Internetu. Uvedený příklad posílá různé LAN sítě přes konkretní linku poskytovatele \\ | Nastavení ukazuje, jak nastavit Mikrotik s dvěma připojení k Internetu. Uvedený příklad posílá různé LAN sítě přes konkretní linku poskytovatele \\ | ||
| Řádek 24: | Řádek 24: | ||
| add action=src-nat chain=srcnat out-interface=ether2 action=masquerade | add action=src-nat chain=srcnat out-interface=ether2 action=masquerade | ||
| </ | </ | ||
| + | |||
| + | ===== Záložní konektivita (2 ISP v jednom routeru) - (verze 2) ===== | ||
| + | |||
| + | Tento návod je popisuje i situaci, kdy záložní konektivitu poskytuje nějaký router, který sám provádí NAT, přiděluje DHCP, apod. | ||
| + | |||
| + | |||
| + | |||
| + | **I. Příprava záložního rozhraní** | ||
| + | |||
| + | V případě ethernetu je port např. ether5 je v nastavení switche potřeba vyřadit ze switche - nastaví se u něj master port: None | ||
| + | V případě USB donglu by mělo v Mikrotiku existovat rozhraní např. ppp1 | ||
| + | |||
| + | **II. přes SSH (i ve winboxu) se zadají tato pravidla:** | ||
| + | |||
| + | <code bash> | ||
| + | [admin@odien] /ip> /ip route | ||
| + | [admin@odien] /ip route> add dst-address=8.8.8.8 gateway=ether1-gateway scope=10 | ||
| + | [admin@odien] /ip route> add dst-address=8.8.4.4 gateway=ether5 scope=10 | ||
| + | [admin@odien] /ip route> add distance=1 gateway=8.8.8.8 routing-mark=ISP1 check-gateway=ping | ||
| + | [admin@odien] /ip route> add distance=2 gateway=8.8.4.4 routing-mark=ISP1 check-gateway=ping | ||
| + | [admin@odien] /ip route> add distance=1 gateway=8.8.4.4 routing-mark=ISP2 check-gateway=ping | ||
| + | [admin@odien] /ip route> add distance=2 gateway=8.8.8.8 routing-mark=ISP2 check-gateway=ping | ||
| + | </ | ||
| + | |||
| + | **III. navíc, např. přes klikací rozhraní: | ||
| + | |||
| + | - na záložním interfacu (ether5 resp. ppp1) se musí pustit DHCP client s vyšší default distance přidaných router, než na ether1-gateway (např. jsem dal 10) | ||
| + | - na záložním interfacu (ether5 resp. ppp1) se musí ve Firewall sekce NAT zapnout stejný IP Masquerading jako předím na ether1-gateway | ||
| + | |||
| + | ===== Záložní konektivita (2 ISP v jednom routeru) - (verze 3) ===== | ||
| + | |||
| + | * bez kontroly default gw a se skriptem - resi poradi bran. | ||
| + | * ether1 - primarni ISP | ||
| + | * ether5 - sekundarni zalozni ISP | ||
| + | * pro testovani funkcni primarni linky se pouziva sekundarni google dns (8.8.4.4), ktere je dostupne JEN pres primarni konektivitu | ||
| + | * predpoklada se, ze je na kazdem WAN interface pouze jedna ip adresa | ||
| + | |||
| + | |||
| + | |||
| + | < | ||
| + | /ip address add address=10.11.23.10/ | ||
| + | /ip address add address=172.16.23.20/ | ||
| + | /ip route add distance=1 gateway=10.11.23.1 | ||
| + | /ip route add distance=10 gateway=192.168.8.1 | ||
| + | /ip route add distance=1 dst-address=8.8.4.4/ | ||
| + | /ip firewall nat add action=masquerade chain=srcnat comment=" | ||
| + | /ip firewall nat add action=masquerade chain=srcnat comment=" | ||
| + | </ | ||
| + | |||
| + | Po priprave tohoto nastaveni je potreba vlozit tento skript do scheduleru: | ||
| + | system > scheduler, skript vlozte sem a nastavte, aby se vykonaval treba kazdych 10 sekund | ||
| + | |||
| + | < | ||
| + | # Please fill the WAN interface names | ||
| + | :local InterfaceISP1 ether1 | ||
| + | :local InterfaceISP2 ether5 | ||
| + | |||
| + | # Please fill the ping check host - currently: secondary dns google | ||
| + | :local PingTarget 8.8.4.4 | ||
| + | |||
| + | # Please fill how many ping failures are allowed before fail-over happends | ||
| + | :local FailTreshold 3 | ||
| + | |||
| + | # Editing the script after this point may break it | ||
| + | # -------------- stop editing here -------------- | ||
| + | |||
| + | # Declare the global variables | ||
| + | :global PingFailCountISP1 | ||
| + | :global PingFailCountISP2 | ||
| + | |||
| + | # This inicializes the PingFailCount variables, in case this is the 1st time the script has ran | ||
| + | :if ([:typeof $PingFailCountISP1] = " | ||
| + | :if ([:typeof $PingFailCountISP2] = " | ||
| + | |||
| + | # This variable will be used to keep results of individual ping attempts | ||
| + | :local PingResult | ||
| + | |||
| + | |||
| + | |||
| + | # Check ISP1 | ||
| + | :set PingResult [ping $PingTarget count=1 interface=$InterfaceISP1] | ||
| + | :put $PingResult | ||
| + | |||
| + | :if ($PingResult = 0) do={ | ||
| + | :if ($PingFailCountISP1 < ($FailTreshold+2)) do={ | ||
| + | :set PingFailCountISP1 ($PingFailCountISP1 + 1) | ||
| + | |||
| + | :if ($PingFailCountISP1 = $FailTreshold) do={ | ||
| + | :log warning "ISP1 has a problem en route to $PingTarget - increasing distance of routes." | ||
| + | /ip route set 0 distance=10 | ||
| + | /ip route set 1 distance=1 | ||
| + | /ip firewall connection {remove [find]} | ||
| + | :log warning "isp 2 ACTIVE." | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | :if ($PingResult = 1) do={ | ||
| + | :if ($PingFailCountISP1 > 0) do={ | ||
| + | :set PingFailCountISP1 ($PingFailCountISP1 - 1) | ||
| + | |||
| + | :if ($PingFailCountISP1 = ($FailTreshold -1)) do={ | ||
| + | :log warning "ISP1 can reach $PingTarget again - bringing back original distance of routes." | ||
| + | /ip route set 0 distance=1 | ||
| + | /ip route set 1 distance=10 | ||
| + | /ip firewall connection {remove [find]} | ||
| + | :log warning " | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | V pripade nedostupnosti 8.8.4.4 se provede prohozeni priorit u vychozi brany tak aby se uprednostinila zalozni konektivita a nasledne se vymaze connection tabulka (jinak se zmena neprojevi pro jiz navazana spojeni !!!) | ||
| + | V pripade, ze primarni konektivita opet naskoci, provede to stejne v obracenem poradi. | ||
| + | |||
| + | |||
| + | * //prevzato a upraveno pro vlastni potrebu z [[https:// | ||
| + | |||
| ===== VPN v Mikrotiku ===== | ===== VPN v Mikrotiku ===== | ||
howto/network/mikrotik/routing.1435134784.txt.gz · Poslední úprava: 2015/06/24 10:33 autor: 127.0.0.1
                
                