I commonly run into issues where a GRE tunnel (CentOS server to server, not router based) works and pings fine from both ends but the IP / Range being tunneled does not function.
This almost always turns out to be some routing issue at the tunnel source but it's a joke trying to get these issues solved as the impetus is basically on me, the client to prove to the provider the issue is not with the tunnel itself.
Other than ping and route command read outs what are some methods to troubleshoot such an issue? Please list the tools and example commands if possible.
It sounds like what you really need is a patched version of netcat, that allows you to specify protocol 41, rather than a port.
It may be worth your time to code up such a thing, and I don't think it would take very long to generate a GRE-only netcat by simply modifying the socket code.
Other than that, a more "user-friendly" method that comes to mind, is either the userspace Linux PPTP client, or maybe fire up a Windows VM and try to connect to a known working PPTP implementation, only to watch it fail with something like an error 691.
Or you could find a provider who didn't block your use of tunneling in the first place.