Hi....
I have a two uplinks and i want to do routing as follows....
request from specific ip x.x.x.x should go from uplink 1 whereas every other request should go through uplink 2..... No need of load balancing or anything.....
/ip firewall address-list
add address=192.168.100.x disabled=no list=uplink1
add address=192.168.100.y disabled=no list=uplink1
/ip firewall mangle
add action=mark-routing chain=prerouting disabled=no dst-address-type=!local new-routing-mark=uplink1 passthrough=yes src-address-list=to_uplink1
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=uplink1 routing-mark=to_uplink1 scope=30 target-scope=10
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=uplink2 scope=30 target-scope=10
/ip firewall mangle
add action=mark-routing chain=prerouting in-interface=bridge-lan \
new-routing-mark=to-kvc passthrough=no src-address-list=kvc-client
/ip route
add distance=1 gateway=10.168.14.2 routing-mark=to-kvc scope=30
I have tried this and it is not working without mangle, Please explain in details.Actually the response to the original OP has an alternative solution that is simpler and does not involve mangling and thus one doesnt lose fastrack etc....
0.0.0.0/0 gateway of ISP1 check-gateway=ping distance=5
0.0.0.0/0 gateway of ISP2 distance=10
So the two routes, ISP1 will always be chosen in the main table as it has a lower distance.
Failover can occur in case ISP1 is not available if desired
To ensure one or two IP addresses only use ISP2 then add additional routes (copies of main table route with addition of routing-mark)
0.0.0.0/0 gateway of ISP2 distance=10 routing mark=user1
0.0.0.0/0 gateway of ISP2 distance=10 routing mark=user2
Then add corresponding Route rules.
source-address=LANIP of user1
Action= Lookup in table
Table= user1
source-address=LANIP of user2
Action= Lookup in table
Table= user2
DONE and without any mangling.
If one changes ACTION to lookup ONLY in table, then if ISP2 is not available those two users would not kick over to ISP1 at all and would have no internet access.