I announce /21 but now want to use one of /24 in another ISP

I know the answer is easy but I am a noob so please help me ..
Let’s say my ASN is 22344 and my assigned ip block is 1.2.16.0/21 from ripe.

I am announcing 1.2.16.0/21 to my single ISP using bpg.
Ripe DB have this:
% Information related to ‘1.2.16.0/21AS22344’

route: 1.2.16.0/21
descr: MYOWN-AS ROUTE OBJECT
origin: AS22344
mnt-by: MNT-MYOWN-AS
source: RIPE # Filtered

No problem here so far. I can use 1.2.16.1- 1.2.23.255 in my network behind my mikrotik router.
everything works.

BUT, Now I want to use 1.2.23.0/24 in another location in another ISP.
So I added ro my Ripe DB
% Information related to ‘1.2.23.0/24ASOFOTHEISP’

route: 1.2.23.0/24
descr: MY OUTSIDE SERVERS
origin: ASNOFOTHERISP
mnt-by: OTHERISP-mnt
source: RIPE # Filtered

And the Other Isp started announcing 1.2.23.0/24 and because /24 is specific than /21 whole internet knows that my 1.2.23.0/24 is on the other ISP

No Problem here works as expected.

The PROBLEM IS After this configuration.
My servers behind my mikrotik router can not access the 1.2.23.0/24 network.
$ping 1.2.23.1
PING 1.2.23.1 (1.2.23.1) 56(84) bytes of data.
From 1.2.16.1: icmp_seq=1 Redirect Host(New nexthop: 82.25.68.43) (my ISP gateway)

and stuck here.

What must I do to tell my Mikrotik router that 1.2.23.0/24 is in some other place without having to change my 1.2.16.0/21 announcement?

Do I have have to add a static route or something? Or some other solution?

Provided that your ISP behind which you run the /21 knows the proper route to the /24 all you need is a route (static or dynamic - if you do not know, use a static one) pointing the /24 to your ISP at the /21 location.

Hello thanks for your post.
After your post I checked my own router:

[admin@R-GW] > ip route print detail where dst-address=1.1.23.0/24
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit
7 ADb dst-address=1.1.23.0/24 gateway=95.39.0.250 gateway-status=95.39.0.250 recursive via 82.25.68.43 outside distance=20 scope=40 target-scope=30 bgp-as-path=“xxx84,xxx13,xx39,3xxxx” bgp-origin=igp received-from=MYISP
[admin@R-GW] >

So my router knows how to reach 1.1.23.0/24
But my isp router does not! Because it is looping the requests I sent to it and turning them back to me:
as in my first post:

$ping 1.2.23.1
PING 1.2.23.1 (1.2.23.1) 56(84) bytes of data.
From 1.2.16.1: icmp_seq=1 Redirect Host(New nexthop: 82.25.68.43) (my ISP gateway)

I mailed my isp about that providing my results.
Hope level2 tech will fix this when they come back on monday morning…

Any more advices?

If the problem is with that ISP there is nothing you can do. They have to fix their router.