As to the "in and out"... I can see packets going towards the server, the server then doesn't route them, and then I don't see them coming out on the other VPN link. How can I check where things are going wrong on the openVPN server that's supposed to be routing those packets?
I don't think it is a firewall rule. Of course I don't care about ping packets. What I care about is that my mail gets forwarded. When it doesn't get forwarded I start debugging with ping and other tools.
The openVPN server currently doensn't have ANY firewall rules. Maybe not the best idea in the world. I should fix that one day, but for now iptables -L comes up empty and we can rule that out.
Oh, with "firewall" you mean a consumer grade router between "local network" and the ISP's network? Those often come preconfigured to drop "established" connections when they've been idle for more than say 300 seconds. Right!
The connection that is causing problems has "a server on the internet" with VPN to "another server on the internet (the VPN server)".
The other end of the problem is a server on a LAN with a small Linux computer as the router towards the ISP. I've removed the ISP's "consumer grade shit". The small linux computer has the VPN to the VPN server.
To be sure: when the route drops, everything can be verified working, So VPN from the small linux router to another lan via the VPN server: works fine! It is just that from the LAN to the other single server... it is not working.
I really think it is the openvpn server that is forgetting the route. Can I debug this by making the openvpn server log its routing decisions, or maybe when it gets packets that can't be routed?