/ip route
add comment="Route for R1" distance=1 dst-address=192.168.118.0/24 \
gateway=172.16.250.1
As you can ping from R1 to R2 we know that the 192.168.118.0/24 network and machines are on Router 2
So why the hell are you sending 192.168.118.0/24 traffic back to router 1
What needs to go back to router 1 is the source network on router 1 you are pinging from.
So lets say router 1 network is 192.168.117.0/24 that is the traffic you need to send back and it would be
/ip route
add comment="Route for R1" distance=1 dst-address=192.168.117.0/24 \
gateway=172.16.250.1
If you are trying to do something funky like use the same network on both routers you will need to split the network into two /25
So something like router one with 192.168.118.0/25 and router two with 192.168.118.128/25
That will work unless there is a firewall on the device you are trying to ping or R2 is not the gateway of R2 network.
So confirm
1.) you can ping the R1 network device from another device on the R1 network
2.) R2 has the gateway of the 192.168.118.0/24 network (normally 192.168.118.1) and you don’t actually have a 3rd router you failed to mention which is the gateway to 192.168.118.0/24 (likely 192.168.118.1 and R2 has some other IP in the network)
If you have a 3rd gateway router you need a static route on it as well and we need the gateway IP and the R2 IP in the network.
I confirm that i can ping every R1 network device from 192.168.114.150 (ex. i got reply to 192.168.114.151)
and r2 has 192.168.118.254 as gateway. There isn’t a 3rd router with same IPs
Your linux machine firewall has to be blocking ping responses from 192.168.114.0/24 because that is correct and will work. Really no other option you must have something like ufw running and forgot to allow ping responses thru.
You already proved above that anything from 192.168.118.254 is working and the first route rule definitely sends the ping traffic to that gateway AKA it should work. The problem therefore has to be on the linux box itself.