Mikrotik, Mangle a intervlan routing

Mikrotik, Mangle a intervlan routing
« kdy: 19. 09. 2017, 09:43:36 »
Zdravím.
Mám v labu následující jednoduchou topologii. Předem děkuji za podněty začátečníkovi.

WAN1 ISP1 (172.16.1.150)
-> LAN 192.168.88.0/24
-> VLAN40 192.168.40.0/24

WAN ISP2 (192.168.8.2)
-> VLAN30 192.168.30.0/24

Potřebuji, aby na WAN1 šlo vše z LAN a VLAN40.
Potřebuji, aby na WAN2 šlo vše z VLAN30.
Udělám to pomocí Mangle, kde označím traffic z příslušných subnetů:

/ip firewall mangle
add action=mark-routing chain=prerouting new-routing-mark=znacka-pro-ISP1 \
    passthrough=yes src-address=192.168.88.0/24
add action=mark-routing chain=prerouting new-routing-mark=znacka-pro-ISP1 \
    passthrough=yes src-address=192.168.40.0/24
add action=mark-routing chain=prerouting in-interface=bridge-vlan30 \
    new-routing-mark=znacka-pro-ISP2

Vytvořím k tomu příslušné brány a hezky to funguje.

Otázka:
Když založím více VLAN, router automaticky mezi nimi začne routovat a já si zakazuji, co kam nemá jít. Mangle mi toto zruší. Z VLAN40 si pingnu na bránu, funguje mi internet, ale zruší se mi intervlan routing. A já potřebuji, aby LAN a VLAN40 byla vzájemně dostupná, aby se navzájem viděly i budoucí VLAN50, VLAN60 apod.

[admin@MikroTik] /ip route> print
Flags: X - disabled, A - active, D - dynamic,
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 A S  0.0.0.0/0                                 172.16.1.1                1
 1 A S  0.0.0.0/0                                 192.168.8.1              1
 2 A S  0.0.0.0/0                                 172.16.1.1                2
 3 ADC  172.16.1.0/24       172.16.1.150   ether1-ISP1          0
 4 ADC  192.168.8.0/24     192.168.8.2     ether2-ISP2-LTE     0
 5 ADC  192.168.30.0/24   192.168.30.1    bridge-vlan30        0
 6 ADC  192.168.40.0/2     192.168.40.1    bridge-vlan40        0
 7 ADC  192.168.88.0/24   192.168.88.1    bridge1                 0


M.

Re:Mikrotik, Mangle a intervlan routing
« Odpověď #1 kdy: 19. 09. 2017, 10:26:12 »
Pokud je cílem, aby vlan30 spolu s LTE zůstala oddělena od mezi sebou fungujícího zbytku, tak bych zvážil použití VRF. Pomocí toho rozdělím router na víc nezávislých routerů, mezi kterými se neroutuje (pokud si takový routing explicitně nevynutím pomocí leaked rout). Pozor jen, že IPv6 nemá u ROSu aktuálně podporu pro VRF, takže je to nyní IPv4 only.
/ip route vrf
add routing-mark=router2 interfaces=ether2-ISP2-LTE,bridge-vlan30
/ip route
add dst-address=0.0.0.0/0 gateway=172.16.1.1
add dst-address=0.0.0.0/0 gateway=192.168.8.2 vrf-interface=ether2-ISP2-LTE routing-mark=router2
/ip route rule
add action=lookup-only-in-table src-address=192.168.8.2 table=router2
add action=lookup-only-in-table src-address=192.168.30.1 table=router2
/ip address
add ... se nastaví normálně.

Toto vyčlení interfejsy ether2-ISP2-LTE a bridge-vlan30 do samostatného virtuálního routeru router2. Všechny ostaní interfejsy zůstávájí v defalt routeru a routuje se mezi nima. Tot dovuoluje i věci, že používám stejné IP adresy v různých virtuálních routerech a vše funguje jak má (např na vlan30 i vlan40 by byl segment 192.168.1.0/24).
Žádné další mangle a routing/firewall pravidla k tomu netřeba.
Rozdělení na Tři routery viz zde: https://ispforum.cz/viewtopic.php?f=5&t=20898&p=196298#p196298

Re:Mikrotik, Mangle a intervlan routing
« Odpověď #2 kdy: 19. 09. 2017, 11:14:47 »
Pokud je cílem, aby vlan30 spolu s LTE zůstala oddělena od mezi sebou fungujícího zbytku, tak bych zvážil použití VRF.

Také toto řešení doporučuji. Jen ještě doplním, že pokud samotný Mikrotik má své služby poskytovat i v rámci VRF (např. DNS dotazy, nebo sám přistupovat na internet skrz VRF), je nutné ještě doplnit příslušné lookupy na routovací tabulku VRF.

Re:Mikrotik, Mangle a intervlan routing
« Odpověď #3 kdy: 19. 09. 2017, 11:44:34 »
Děkuji za reakci. Omlouvám se, ale napsal jsem to špatně.
Topologie předpokládá 2 mailservery s 2 veřejnými IP = 2 WANy. Zároveň se oba mailservery musí vidět.

WAN1 (172.16.1.150) má portforwarding na mailserver1 do LAN (192.168.88.0) a opačně mailserver1 musí odpovídat skrz WAN1
WAN2 (192.168.8.2) má portforwarding na mailserver2 do VLAN30 (192.168.30.0) a opačně mailserver2 musí odpovídat skrz WAN2
Výše uvedené mi zařídí Mangle.

Potřebuji, aby LAN 192.168.88.0 routoval do VLAN30 192.168.30.0. To mi Mangle zruší.

Je to asi jednoduché, ale já neumím nastavit, aby
LAN 192.168.88.0 odcházela skrz WAN1 (skrz WAN1 by mělo v budoucnu odcházet více VLAN)
VLAN30 192.168.30.0 odcházela skrz WAN2

Děkuji za podněty.

M.

Re:Mikrotik, Mangle a intervlan routing
« Odpověď #4 kdy: 19. 09. 2017, 12:07:31 »
Protože to máte blbě. Navíc ta konfigurace, pokud umře odchozí spojení přes WAN1, tak přestne fungovat i WAN2 do doby, než bude WAN1 funkční.
Aspoň k té části, kudy co posílat, tak:
/ip route rule
add action=lookup-only-in-table table=main dst-address=192.168.88.0/24
add action=lookup-only-in-table table=main dst-address=192.168.8.0/24
add action=lookup-only-in-table table=main dst-address=192.168.30.0/24
add action=lookup-only-in-table table=main dst-address=192.168.40.0/24
add action=lookup-only-in-table table=main dst-address=172.16.1.0/24
#...podobně vyjmenovat všechny lokálně přímo připojené segmenty
add action=lookup-only-in-table table=ISP1 src-address=192.168.88.0/24
add action=lookup-only-in-table table=ISP1 src-address=192.168.30.0/24
add action=lookup-only-in-table table=ISP1 src-address=172.16.1.150/32
add action=lookup-only-in-table table=ISP2 src-address=192.168.40.0/24
add action=lookup-only-in-table table=ISP2 src-address=192.168.8.2/32
# ... vyjmenuji segmenty, kudy mají jít ven

/ip route
add distance=1 gateway=172.16.1.1 pref-src=172.16.1.150 routing-mark=ISP1
add distance=5 routing-mark=ISP1 type=unreachable
add ping distance=1 gateway=192.168.8.1 pref-src=192.168.8.2 routing-mark=ISP2
add distance=5 routing-mark=ISP2 type=unreachable
add check-gateway=ping distance=1 gateway=172.16.1.1 pref-src=172.16.1.150
add check-gateway=ping distance=5 gateway=192.168.8.1 pref-src=192.168.8.2
add distance=10 type=unreachable

Mangle na toto netřeba...


Re:Mikrotik, Mangle a intervlan routing
« Odpověď #5 kdy: 19. 09. 2017, 15:22:37 »
Ano. To je přesně ono. Policy Routing. Našel jsem k tomu i example na Mikrotiku https://wiki.mikrotik.com/wiki/Testwiki/IP_routing

Musel jsem z toho vyjmout pref-src=172.16.1.150 a pref-src=192.168.8.2, protože s tím mi to nechodí směrem ven, ale to je jen detail.

Pane M., napište mi prosím na act.of.god@seznam.cz, vymyslím pro Vás nějakou odměnu/benefit.