I have a gre over ipsec up & running between 2 mikrotik routers A and B.
The topology is the following:
LanA-> router A ↔ router B <-LanB
Ping from a host from Lan A to a host on the network B is ok.
Ping from cmd of router A to the same host on B not working.
Ping from cmd of router A to address of gre on router B is ok.
I had this problem and found the packet was trying to leave the router over the GRE tunnel with the wrong source address - it was using the address of my main WAN link rather than the tunnel address. I solved this by using a src-nat on the traffic from the router to the tunnel e.g.