Well, indeed you CAN with Mikrotik. There are also tutorials integrating MT-Devices into SLACK or TELEGRAM and you may be able to command them from there (regardless the security aspect).As an outsider to the networking world, I would have thought that there were heaps of similar devices or some other re-known, wide use alternate solution that I was not able to find, like some sort of managed switch that could be easily commanded on http to bring ports up or down.
MikroTik-Devices have a great CLI - indeed it is very easy to adapt. Scripting is no problem, too.From what I understand Mikrotik routers seem like not having a command line (SwOS), and maybe (but I have to study more) using a router (RouterOS) as a switch is possible, still I have no idea if it is possible through some "magic" script/setup to obtain what I need/want.
Your main problems seem:The problem I have does not seem to me so much niche, I wonder if other people in similar condition have found a better solution.
The three gateways with same IP could be - as said - marginal, in the sense that even if I change them to different IP's (once) the result seems to me not as robust/failproof as I would like it to be.
Thank you very much.
Whatever you choose - good luck.
Yep, I gave read (and re-read, and re-re-read) that paragraph, but it still sounds to me (with all due respect to the Author, anav. whom surely posted it in good faith and as an attempt to help fellow board members) largely similar to Vogon's Poetry.Start at para I..... feel your pain. viewtopic.php?t=182373
which makes little sense (to me), if there are nine routes with target-scope=14, there should be also nine with target-scope=13 and nine with target-scope=12, shouldn't they?Then the rest of the routes are required, six with target scope of 13, and the last six with target scope of 12.
I haven't any, I am still studying if the whole thing is doable and - if it is - if it is worth the hassle.Do you mind sharing your Mikrotik router configuration ?
Thinking aloud, if I take a Mikrotik Router with more than 5 interfaces, let's say a RB2011, is there anything preventing me from creating an external loopback between two interfaces (With a short RJ45 cat5e cable)?Then I could use two RB750GR3's as follows ...
The question is:
is there a way (some magic or protocol or whatever) that would allow me to do all this in a "same" single router? (even if that would mean using a "better" router, with more ports or some other advanced characteristics)?
[admin@Router0_VRF] > /export
# 2023-11-24 16:43:46 by RouterOS 7.11.2
# software id =
#
/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no
set [ find default-name=ether2 ] disable-running-check=no
set [ find default-name=ether3 ] disable-running-check=no
set [ find default-name=ether4 ] disable-running-check=no
set [ find default-name=ether5 ] disable-running-check=no
set [ find default-name=ether6 ] disable-running-check=no
set [ find default-name=ether7 ] disable-running-check=no
set [ find default-name=ether8 ] disable-running-check=no
/disk
set slot1 slot=slot1 type=hardware
set slot2 slot=slot2 type=hardware
set slot3 slot=slot3 type=hardware
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip vrf
add interfaces=ether1 name=vrf1
add interfaces=ether2 name=vrf2
/port
set 0 name=serial0
/interface list member
add interface=ether1 list=WAN
add interface=ether2 list=WAN
add interface=ether3 list=WAN
add interface=ether4 list=LAN
add interface=ether5 list=LAN
/ip address
add address=192.168.1.254/24 interface=ether1 network=192.168.1.0
add address=192.168.1.254/24 interface=ether2 network=192.168.1.0
add address=10.1.1.1/30 interface=ether4 network=10.1.1.0
/ip firewall nat
add action=src-nat chain=srcnat src-address=192.168.2.0/24 to-addresses=\
192.168.1.254
/ip route
add distance=1 dst-address=0.0.0.0/0 gateway=192.168.1.1@vrf1 routing-table=\
main
add distance=2 dst-address=0.0.0.0/0 gateway=192.168.1.1@vrf2 routing-table=\
main
add dst-address=192.168.2.0/24 gateway=10.1.1.2 routing-table=vrf1
add dst-address=192.168.2.0/24 gateway=10.1.1.2 routing-table=vrf2
/system identity
set name=Router0_VRF
/system note
set show-at-login=no
[admin@Inter_Router_1] > /export
# 2023-11-24 16:30:28 by RouterOS 7.11.2
# software id =
#
/interface bridge
add name=bridge1
/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no
set [ find default-name=ether2 ] disable-running-check=no
set [ find default-name=ether3 ] disable-running-check=no
set [ find default-name=ether4 ] disable-running-check=no
set [ find default-name=ether5 ] disable-running-check=no
set [ find default-name=ether6 ] disable-running-check=no
set [ find default-name=ether7 ] disable-running-check=no
set [ find default-name=ether8 ] disable-running-check=no
/disk
set slot1 slot=slot1 type=hardware
set slot2 slot=slot2 type=hardware
set slot3 slot=slot3 type=hardware
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/port
set 0 name=serial0
/ip address
add address=10.1.1.2/30 interface=ether1 network=10.1.1.0
add address=192.168.1.1/24 interface=ether2 network=192.168.1.0
/ip firewall nat
add action=netmap chain=srcnat src-address=192.168.1.0/24 to-addresses=\
192.168.2.0/24
add action=netmap chain=dstnat dst-address=192.168.2.0/24 to-addresses=\
192.168.1.0/24
/ip route
add gateway=10.1.1.1
/system identity
set name=Inter_Router_1
/system note
set show-at-login=no
#reproducible from blank CHR
/ip vrf
add interfaces=ether2 name=vrf2
add interfaces=ether1 name=vrf1
/ip address
add address=192.168.1.254 interface=ether1 network=192.168.1.1
add address=192.168.1.254 interface=ether2 network=192.168.1.1
add address=10.0.0.1/30 interface=ether4 network=10.0.0.0
/ip firewall nat
add action=src-nat chain=srcnat out-interface=ether1 to-addresses=\
192.168.1.254
add action=src-nat chain=srcnat out-interface=ether2 to-addresses=\
192.168.1.254
/ip route
add distance=1 dst-address=0.0.0.0/0 gateway=192.168.1.1@vrf1 routing-table=\
main
add distance=2 dst-address=0.0.0.0/0 gateway=192.168.1.1@vrf2 routing-table=\
main
add dst-address=192.168.1.0/24 gateway=10.0.0.2 routing-table=\
vrf2
add dst-address=10.0.0.0/30 gateway=10.0.0.2 routing-table=vrf1
add dst-address=10.0.0.0/30 gateway=10.0.0.2 routing-table=vrf2
add dst-address=192.168.1.0/24 gateway=10.0.0.2 routing-table=\
vrf1
add dst-address=192.168.1.0/24 gateway=10.0.0.2 routing-table=main
/system identity
set name=Router0_VRF
#reproducible from blank CHR
/ip address
add address=10.0.0.2/30 interface=ether1 network=10.0.0.0
add address=192.168.1.1/24 interface=ether2 network=192.168.1.0
/ip route
add gateway=10.0.0.1
/system identity
set name=Router1
#reproducible from blank CHR
/ip vrf
add interfaces=ether2 name=vrf2
add interfaces=ether1 name=vrf1
/ip address
add address=192.168.1.254 interface=ether1 network=192.168.1.1
add address=192.168.1.254 interface=ether2 network=192.168.1.1
add address=192.168.1.1/24 interface=ether8 network=192.168.1.0
/ip firewall nat
add action=src-nat chain=srcnat out-interface=ether1 to-addresses=\
192.168.1.254
add action=src-nat chain=srcnat out-interface=ether2 to-addresses=\
192.168.1.254
/ip route
add distance=1 dst-address=0.0.0.0/0 gateway=192.168.1.1@vrf1 routing-table=\
main
add distance=2 dst-address=0.0.0.0/0 gateway=192.168.1.1@vrf2 routing-table=\
main
add dst-address=192.168.1.0/24 gateway=ether8 routing-table=vrf1
add dst-address=192.168.1.0/24 gateway=ether8 routing-table=vrf2
/system identity
set name=VRF_LAN
Well, a good half (not really, I am joking) of posts on the board revolve around routers being designed to route and thus *needing* different networks or subnets on the LAN and WAN sides of the router.no magic here, it works exactly as intended ...
Maybe if you can be a bit more specific on what part is still not clear in you mind I can try to explain.
I think that the real issue is that (this is not only on this forum, it is common enough) there is a lack of understandable (for the newbies[1]) explanations about the way things work (or fail to work), and - even when they exist - they are in crumbles here and there on several unconnected threads, so that putting them together is extremely difficult.I think the key lesson here is what you said: not that many people know about VRFs and how to use it, hence the many responses asking you to change the IP addresses.
/ip route
add distance=2 dst-address=0.0.0.0/0 gateway=192.168.1.1@vrf-starlink routing-table=main comment="RouteStarlink"
add distance=3 dst-address=0.0.0.0/0 gateway=192.168.1.1@vrf-orange routing-table=main comment="RouteOrange"
/ip route
add dst-address=100.64.0.1/32 routing-table=main gateway=192.168.1.1@vrf-starlink
/tool/netwatch
add host=100.64.0.1 interval=10 timeout=5 up-script=":log error \"starlink is up\";/ip route set distance=3 [find comment=\"RouteOrange\"];:log error \"route orange deprioritized\";" down-script=":log error \"starlink down\";/ip route set distance=1 [find comment=\"RouteOrange\"];:log error \"route orange prioritized\""
/ip route
#following route is the main one and stays fixed to distance 20
add distance=20 dst-address=0.0.0.0/0 gateway=192.168.1.1@vrf1 routing-table=main comment="ISP_1"
#following route is second best and flips between 10 (when used) and 30 (in normal operation)
add distance=30 dst-address=0.0.0.0/0 gateway=192.168.1.1@vrf2 routing-table=main comment="ISP_2"
#following route is the least desirable (LTE in my case) and flips between 15 (when used) and 40 (in normal operation)
add distance=40 dst-address=0.0.0.0/0 gateway=192.168.1.1@vrf3 routing-table=main comment="ISP_3"
#following route is to test connectivity of ISP_1 using 1.1.1.1 as gateway
add dst-address=1.1.1.1/32 routing-table=main gateway=192.168.1.1@vrf1
#following route is to test connectivity of ISP_2 using 4.4.2.1 as gateway
add dst-address=4.4.2.1/32 routing-table=main gateway=192.168.1.1@vrf2
#following route is to test connectivity of ISP_3 using 4.4.2.2 as gateway
add dst-address=4.4.2.2/32 routing-table=main gateway=192.168.1.1@vrf3
/tool/netwatch
add host=1.1.1.1 interval=10 timeout=5 up-script=Use_ISP_1 down-script=Use_ISP_2
add host=4.4.2.1 interval=10 timeout=5 up-script=Use_ISP_2 down-script=Use_ISP_3
add host=4.4.2.2 interval=10 timeout=5 up-script=Use_ISP_3 down-script=Total_Fail
/system script
# this demotes ISP_2 and ISP_3 to their normal 30 and 40 distance
add name=Use_ISP_1 source={/ip route set distance=30 [ find comment=\"ISP_2\" ]; /ip route set distance=40 [ find comment=\"ISP_3\" ])
#this promotes ISP_2 to distance 10 and demotes ISP_3 to its normal 40 (if needed)
add name=Use_ISP_2 source={/ip route set distance=10 [ find comment=\"ISP_2\" ]; /ip route set distance=40 [ find comment=\"ISP_3\" ])
#this promotes ISP_3 to distance 15 and demotes ISP_2 to its normal 30 distance
add name=Use_ISP_3 source={/ip route set distance=15 [ find comment=\"ISP_3\" ] ; /ip route set distance=30 [ find comment=\"ISP_2\" ] )
add name=Total_Fail source={<I will put here such things ... what they are, yet I know not, but they shall be the terrors of the network> )
#reproducible from blank CHR
# this is for VRF_253 with "outbound" interfaces set to 192.168.1.253
# in Notepad you can use Find and replace with 253 and the IP you want 254, 252, etc.
#
# the 253 is in 5 places:
# 2 times in /ip address, for ether1 and ether2
# 2 times in /ip firewall nat, for ether1 and ether2
# in /system identity name
/ip vrf
add interfaces=ether1 name=vrf1
add interfaces=ether2 name=vrf2
/ip address
add address=192.168.1.1/24 interface=ether8 network=192.168.1.0
add address=192.168.1.253 interface=ether1 network=192.168.1.1
add address=192.168.1.253 interface=ether2 network=192.168.1.1
/ip firewall nat
add action=src-nat chain=srcnat out-interface=ether1 to-addresses=\
192.168.1.253
add action=src-nat chain=srcnat out-interface=ether2 to-addresses=\
192.168.1.253
/ip route
add comment=Primary_ISP distance=2 dst-address=0.0.0.0/0 gateway=\
192.168.1.1@vrf1 routing-table=main
add comment=Next_ISP distance=3 dst-address=0.0.0.0/0 gateway=\
192.168.1.1@vrf2 routing-table=main
add dst-address=192.168.1.0/24 gateway=ether8 routing-table=vrf1
add dst-address=192.168.1.0/24 gateway=ether8 routing-table=vrf2
add dst-address=1.1.1.1/32 gateway=192.168.1.1@vrf1 routing-table=main
/system identity
set name=VRF_253
/system script
add dont-require-permissions=yes name=Use_Primary owner=admin policy=\
read,write,test source=":log error \"Use_Primary says Primary_ISP is up\";\
/ip route set distance=3 [ find comment=\"Next_ISP\" ]"
add dont-require-permissions=yes name=Use_Next owner=admin policy=\
read,write,test source=":log error \"Use_next says Primary_ISP is down\";/\
ip route set distance=1 [ find comment=\"Next_ISP\" ]"
/tool netwatch
add down-script=Use_Next host=1.1.1.1 interval=10s timeout=5s type=simple \
up-script=Use_Primary
[admin@MikroTik] /ip/address> /tool trace 8.8.8.8
Columns: ADDRESS, LOSS, SENT, LAST, AVG, BEST, WORST, STD-DEV
# ADDRESS LOSS SENT LAST AVG BEST WORST STD-DEV
1 192.168.1.1 0% 4 1.8ms 2.5 1.8 4.3 1.1
2 192.168.1.1 0% 4 2.3ms 2.3 2 2.5 0.2
3 192.168.1.1 0% 4 4.7ms 5 4.5 5.8 0.5
4 88.48.86.232 0% 4 11.5ms 11 10.1 11.8 0.7
5 172.17.107.136 0% 4 11.9ms 10.7 10 11.9 0.7
6 172.19.184.70 0% 4 14.7ms 14 13.2 14.7 0.6
7 172.19.177.62 0% 4 15.3ms 14.7 14.5 15.3 0.3
8 195.22.205.116 0% 4 15ms 14.5 13.6 15 0.6
9 142.250.168.148 0% 4 14.9ms 14.5 14 14.9 0.3
10 72.14.239.144 0% 4 15.3ms 22.5 15.3 42.4 11.5
11 142.251.235.179 0% 4 14.9ms 23.1 14.9 46.9 13.7
12 8.8.8.8 0% 4 14.6ms 21.8 14.6 43.2 12.4
[admin@MikroTik] /ip/address> /tool trace 8.8.8.8
Columns: ADDRESS, LOSS, SENT, LAST, AVG, BEST, WORST, STD-DEV
# ADDRESS LOSS SENT LAST AVG BEST WORST STD-DEV
1 192.168.1.1 0% 8 1.6ms 2 1.4 3.1 0.5
2 192.168.1.1 0% 8 2.2ms 2.4 1.8 3.6 0.5
3 192.168.1.1 0% 8 3.1ms 7.5 2.7 39 11.9
4 192.168.1.1 0% 8 5.4ms 10.8 4.5 49.9 14.8
5 88.48.86.232 0% 8 11.9ms 11.6 10.4 14.9 1.4
6 172.17.107.136 0% 8 11.8ms 11.5 10.8 12.4 0.5
7 172.19.184.70 0% 8 14.4ms 14.9 14.3 15.4 0.4
8 172.19.177.62 0% 8 15.7ms 15.5 15 16.1 0.4
9 195.22.205.116 0% 8 15.3ms 15.4 14.5 16.6 0.7
10 142.250.168.148 0% 8 15.9ms 15.3 14.4 16 0.5
11 72.14.239.144 0% 8 15.8ms 25.4 15.6 55.7 16.1
12 142.251.235.179 0% 8 15.8ms 22.1 15.3 40.5 10.5
13 8.8.8.8 0% 8 15.6ms 22.2 15.1 43.9 11.6
/ip vrf
add interfaces=ether3 name=vrf3
add interfaces=ether1 name=vrf1
add interfaces=ether2 name=vrf2
/ip address
add address=192.168.1.254 interface=ether1 network=192.168.1.1
add address=192.168.1.254 interface=ether2 network=192.168.1.1
add address=192.168.1.254 interface=ether3 network=192.168.1.1
add address=192.168.1.1/24 interface=ether8 network=192.168.1.0
/ip firewall nat
add action=src-nat chain=srcnat out-interface=ether1 to-addresses=\
192.168.1.254
add action=src-nat chain=srcnat out-interface=ether2 to-addresses=\
192.168.1.254
add action=src-nat chain=srcnat out-interface=ether3 to-addresses=\
192.168.1.254
/ip route
add comment=Primary_ISP distance=3 dst-address=0.0.0.0/0 gateway=\
192.168.1.1@vrf1 routing-table=main
add comment=Next_ISP disabled=no distance=4 dst-address=0.0.0.0/0 gateway=\
192.168.1.1@vrf2 routing-table=main
add dst-address=192.168.1.0/24 gateway=ether8 routing-table=vrf1
add dst-address=192.168.1.0/24 gateway=ether8 routing-table=vrf2
add dst-address=1.1.1.1/32 gateway=192.168.1.1@vrf1 routing-table=vrf1
add comment=LTE_Last disabled=no distance=5 dst-address=0.0.0.0/0 gateway=\
192.168.1.1@vrf3 routing-table=main
add dst-address=192.168.1.0/24 gateway=ether8 routing-table=vrf3
add dst-address=4.2.2.1/32 gateway=192.168.1.1@vrf2 routing-table=vrf2
add dst-address=4.2.2.2/32 gateway=192.168.1.1@vrf3 routing-table=vrf3
/system identity
set name=VRF_254
/system script
add dont-require-permissions=yes name=Primary_running owner=admin policy=\
read,write,test source=":log error \"Primary_running says Primary_ISP is u\
p\";/ip route set distance=4 [ find comment=\"Next_ISP\" ];/ip route set d\
istance=5 [ find comment=\"LTE_Last\" ];/tool netwatch disable [ find comm\
ent=\"Next\" ];/tool netwatch disable [ find comment=\"LTE\" ]"
add dont-require-permissions=yes name=Use_Next owner=admin policy=\
read,write,test source=":log error \"Use_next says Primary_ISP is down\";/\
ip route set distance=1 [ find comment=\"Next_ISP\" ];/ip route set distan\
ce=5 [ find comment=\"LTE_Last\" ];/tool netwatch enable [ find comment=\"\
Next\" ];/tool netwatch disable [ find comment=\"LTE\" ]"
add dont-require-permissions=yes name=Next_running owner=admin policy=\
read,write,test source=":log error \"Next_running says Next_ISP is up\";/i\
p route set distance=1 [ find comment=\"Next_ISP\" ];/ip route set distanc\
e=5 [ find comment=\"LTE_Last\" ];/tool netwatch disable [ find comment=\"\
LTE\" ]"
add dont-require-permissions=yes name=Use_LTE_Last owner=admin policy=\
read,write,test source=":log error \"Use_LTE_Last says Next_ISP is down\";\
/ip route set distance=4 [ find comment=\"Next_ISP\" ];/ip route set dista\
nce=2 [ find comment=\"LTE_Last\" ];/tool netwatch enable [ find comment=\
\"LTE\" ]"
add dont-require-permissions=yes name=LTE_running owner=admin policy=\
read,write,test source=":log error \"LTE_running says LTE_Last is up\""
add dont-require-permissions=yes name=LTE_fail owner=admin policy=\
read,write,test source=":log error \"LTE_fail says LTE_Last is down\""
/tool netwatch
add comment=Primary disabled=no down-script=Use_Next host=1.1.1.1@vrf1 \
interval=10s timeout=5s type=simple up-script=Primary_running
add comment=Next disabled=yes down-script=Use_LTE_Last host=4.2.2.1@vrf2 \
interval=10s timeout=5s type=simple up-script=Next_running
add comment=LTE disabled=yes down-script=LTE_fail host=4.2.2.2@vrf3 interval=\
10s timeout=5s type=simple up-script=LTE_running
put [:resolve google.com]
put [:resolve domain-name=google.com server=8.8.8.8]
/ip vrf
add interfaces=ether8 name=vrf8
/ip address
add address=192.168.1.241 interface=ether1 network=192.168.1.1
add address=192.168.1.242 interface=ether2 network=192.168.1.1
add address=192.168.1.243 interface=ether3 network=192.168.1.1
add address=192.168.1.1/24 interface=ether8 network=192.168.1.0
/ip firewall nat
add action=src-nat chain=srcnat out-interface=ether1 to-addresses=\
192.168.1.241
add action=src-nat chain=srcnat out-interface=ether2 to-addresses=\
192.168.1.242
add action=src-nat chain=srcnat out-interface=ether3 to-addresses=\
192.168.1.243
/ip route
add dst-address=192.168.1.0/24 gateway=ether8@vrf8
add check-gateway=ping comment=main_ISP1_Route disabled=no distance=1 \
dst-address=0.0.0.0/0 gateway=1.1.1.1@vrf8 routing-table=main scope=30 \
target-scope=11
add check-gateway=ping comment=main_ISP2_Route disabled=no distance=2 \
dst-address=0.0.0.0/0 gateway=4.2.2.1@vrf8 routing-table=main scope=30 \
target-scope=11
add check-gateway=ping comment=main_ISP3_Route disabled=no distance=3 \
dst-address=0.0.0.0/0 gateway=4.2.2.2@vrf8 routing-table=main scope=30 \
target-scope=11
add comment=vrf8_ISP1_Ping disabled=no distance=1 dst-address=1.1.1.1 \
gateway=192.168.1.1%ether1 routing-table=vrf8 scope=10 target-scope=10
add comment=vrf8_ISP2_Ping distance=2 dst-address=4.2.2.1 gateway=\
192.168.1.1%ether2 routing-table=vrf8 scope=10 target-scope=10
add comment=vrf8_ISP3_Ping distance=3 dst-address=4.2.2.2 gateway=\
192.168.1.1%ether3 routing-table=vrf8 scope=10 target-scope=10
add check-gateway=ping comment=vrf8_ISP1_Route disabled=no distance=1 \
dst-address=0.0.0.0/0 gateway=1.1.1.1@vrf8 routing-table=vrf8 scope=30 \
target-scope=11
add check-gateway=ping comment=vrf8_ISP2_Route disabled=no distance=2 \
dst-address=0.0.0.0/0 gateway=4.2.2.1@vrf8 routing-table=vrf8 scope=30 \
target-scope=11
add check-gateway=ping comment=vrf8_ISP3_Route disabled=no distance=3 \
dst-address=0.0.0.0/0 gateway=4.2.2.2@vrf8 routing-table=vrf8 scope=30 \
target-scope=11
/system identity
set name=VRF_253_2nd
[admin@VRF_253_2nd] /ip/route> print
Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, s - STATIC; + - ECMP
Columns: DST-ADDRESS, GATEWAY, DISTANCE
# DST-ADDRESS GATEWAY DISTANCE
;;; main_ISP2_Route
0 s 0.0.0.0/0 4.2.2.1@vrf8 2
;;; main_ISP1_Route
1 As 0.0.0.0/0 1.1.1.1@vrf8 1
;;; main_ISP3_Route
2 s 0.0.0.0/0 4.2.2.2@vrf8 3
3 As 192.168.1.0/24 ether8@vrf8 1
DAc+ 192.168.1.1/32 ether3 0
DAc+ 192.168.1.1/32 ether2 0
DAc+ 192.168.1.1/32 ether1 0
;;; vrf8_ISP3_Route
4 s 0.0.0.0/0 4.2.2.2@vrf8 3
;;; vrf8_ISP2_Route
5 s 0.0.0.0/0 4.2.2.1@vrf8 2
;;; vrf8_ISP1_Route
6 As 0.0.0.0/0 1.1.1.1@vrf8 1
;;; vrf8_ISP1_Ping
7 As 1.1.1.1/32 192.168.1.1%ether1 1
;;; vrf8_ISP2_Ping
8 As 4.2.2.1/32 192.168.1.1%ether2 2
;;; vrf8_ISP3_Ping
9 As 4.2.2.2/32 192.168.1.1%ether3 3
DAc 192.168.1.0/24 ether8@vrf8 0
/ip dns
set allow-remote-requests=yes servers=8.8.8.8,8.8.4.4
[admin@VRF_253_2nd] > /put [:resolve google.com]
142.250.180.174
/system ntp client
set enabled=yes
/system ntp client servers
add address=ntp1.inrim.it
[admin@VRF_253_2nd] /system/ntp/client> print
enabled: yes
mode: unicast
servers: ntp1.inrim.it
vrf: main
freq-drift: 0 PPM
status: synchronized
synced-server: ntp1.inrim.it
synced-stratum: 1
system-offset: -2.956 ms
ping 8.8.8.8 count=1
because of recursive failover, but they point in the same direction.;;; vrf8_ISP1_Ping
7 As 1.1.1.1/32 192.168.1.1%ether1 1
;;; vrf8_ISP2_Ping
8 As 4.2.2.1/32 192.168.1.1%ether2 2
;;; vrf8_ISP3_Ping
9 As 4.2.2.2/32 192.168.1.1%ether3 3
The configuration has already been posted in post #37 which is the setup we are talking about, which includes the configuration AND a diagram, no need to assume anything.Well when you post the complete config I can comment. Not sure why you are using VRFs at all, yet.
Assuming its 3 ISP modems into one router.
Not sure to understand the magnitude of the problem here, loosing 7 pings after a complete loss of power is no big deal in my opinion.I then tried from terminal to ping 8.8.8.8 and for 6 or 7, maybe 8 pings it gave to me "no route ...", then it suddenly started responding normally and (obviously) internet was restored to the whole network.
The pings can be forced through a specific VRF. Try it next time to confirm if the ping fails for 1 VRF and works for the other.BTW the 7/8/10 pings to 8.8.8.8 are "generic", i.e. no interface is speciified in the command.
Find a maintenance window and tell your users. Try somehing like very early in the morning like 5 or 6 AM or during week-ends.The issue is that I cannot seem to reproduce in gns3/CHR and testing on the "real" device is complicated because of the various internet users I have around that seem all unable to be disconnected for longer than a few minutes.
Use of VRFs is warranted if if each router is serving different subnets.The use of the VRFs is there for a different reason: both ISP1 and ISP2 routers have the same IP i.e. 192.168.1.1