XDCR over GRE tunnel

Running 4.6.1

We have a cluster in AWS and we are setting up another in a private data centre.
The AWS cluster is all known across using public IP (but the server have private IPs - typical AWS setup). We have all the servers in hosts files, and all works fine.

In the second cluster, all server have only private IPs (10.10… range). We set a GRE tunnel between the two, and all servers can see each others (ping, telnet to :8091, telnet to 11210 etc). Also all the second cluster servers’ are in the same hosts file.

Trying to set XDCR - it sometimes replicates few documents then stops, but mostly it just doesn’t replicate anything. I see for example

... writeToClient error: write tcp <AWS priv IP>:59278-><DC priv IP>:11210: i/o timeout

but pinging between the two runs at about 60ms and I can telnet from AWS to DC on 11210 no problem.

(BTW - I was seeing similar issue when trying to add a CB server from the DC to the AWS cluster - the New server GUI will spin and then tells me it timed out - although all servers can reach each others).

There are no firewalls running on the servers. Our DC router allows all traffic from AWS to reach the local CB servers and same in AWS.

Any idea? any specific requirements for these connections?