I have openVPN server running at home on Ubuntu Server, this is behind a NAT. I am using a laptop using Ubuntu MATE as a client. The client is connected to a company intranet (tightly managed, I have to clone the MAC address of my company desktop, then connect the laptop in place of the desktop). The link from the worksite is via satellite. UDP is used for the tunnel.
Private IP address of client 10.35.235.185
Public IP address of client 89.241.122.32
Private IP address of server 192.168.0.101
The first time I used this, it worked fine. Then the next day when I tried it (without changing anything), it connected and seemed to work fine, but then after a few minutes the connection just seemed to freeze. Everything appeared to still be connected, but I couldn't reach anywhere (even with ping). Then after 120s, the client times-out with inactivity, and the process repeats.
Checking the server logs, I see it is correctly accepting a connection from 89.241.122.32:xxxxx, but then after a couple of minutes (coincident with when the link freezes) I see
MULTI: bad source address from client [10.35.235.185], packet dropped
It seems that for some reason the server is receiving a packet marked with the client's private IP address.
What could be causing this? I am assuming this is entirely due to something in the company's network, and thus there is nothing I can do about.
Why would it cause the VPN connection to freeze?
Is there any kind of work around I could do to keep the tunnel working, just have openVPN ignore these dodgy packets?