SPOJE.NET

Technická dokumentace

Uživatelské nástroje

Nástroje pro tento web


howto:network:mikrotik:routing

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
howto:network:mikrotik:routing [2015/06/24 10:33] – upraveno mimo DokuWiki 127.0.0.1howto: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 - (verze 1) =====
  
 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
 </code> </code>
 +
 +===== 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
 +</code>
 +
 +**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
 +
 +
 +
 +<code>
 +/ip address add address=10.11.23.10/24 comment=primarni-isp interface=ether1 network=10.11.23.0
 +/ip address add address=172.16.23.20/24 comment=zalozni-isp interface=ether5 network=172.16.23.0
 +/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/32 gateway=10.11.23.1
 +/ip firewall nat add action=masquerade chain=srcnat comment="primarni-isp: masquerade" out-interface=ether1
 +/ip firewall nat add action=masquerade chain=srcnat comment="sekundarni-isp: masquerade" out-interface=ether5
 +</code>
 +
 +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
 +
 +<code>
 +# 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] = "nothing") do={:set PingFailCountISP1 0}
 +:if ([:typeof $PingFailCountISP2] = "nothing") do={:set PingFailCountISP2 0}
 +
 +# 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 "spoje-net ACTIVE, disable backup isp."
 + }
 + }
 +}
 +</code>
 +
 +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://wiki.mikrotik.com/wiki/Failover_Scripting]]//
 +
  
 ===== 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