Basicaly the client router connects to the server router via OpenVPN, then, as soon the connection is established, the server router redirects some internet ports back to the client trough the VPN tunnel.
Everything worked well, but after an internet blackout on the openvpn server side, I experienced a weird problem:
Incomplete page load of resources via HTTP over VPN. only the page title was loaded in the browser.
Finally I discovered that it was a MTU problem, VPN connections are sensitive to incorrect/low MTU set, if the MTU value is not correct you might experience packets loss (MTU too high) or slow VPN speed (MTU too low)
I solved the issue by setting the MTU value of the Tun0 device to 1310.
To discover the correct value of MTU to be used for your VPN, you need to give the command:
"ping -s 1500 remote_ip" (change remote_ip with the remote VPN ip address, ex: 10.8.0.6)
and decrease the 1500 value by 10 each time, until the ping succeeds. Once the ping succeeds, the value used is the MTU you should use on both sides of the VPN.
I don't know why the VPN tunnell worked well for some time with the default MTU (1500)
