Site-to-Site occasionally fails with errno=49
I have a client with three sites. I've set up site A as a "hub" for B and C. B and C have OpenVPN site-to-site VPNs set up to A. They've been working well for over a year until site B has been getting disconnected.
The client reports that they can't get to Site A from site B. I look at the logs at site B and see that the VPN was disconnected and can't reconnect. The relevant part of the log is as follows (with the public IPs redacted):
Jan 14 14:53:42 openvpn 4835 Inactivity timeout (--ping-restart), restarting
Jan 14 14:53:42 openvpn 4835 SIGUSR1[soft,ping-restart] received, process restarting
Jan 14 14:53:42 openvpn 4835 Restart pause, 5 second(s)
Jan 14 14:53:47 openvpn 4835 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Jan 14 14:53:47 openvpn 4835 Re-using pre-shared static key
Jan 14 14:53:47 openvpn 4835 Preserving previous TUN/TAP instance: ovpnc1
Jan 14 14:53:47 openvpn 4835 TCP/UDP: Preserving recently used remote address: [AF_INET]<OtherFirewallPublicIP>:1196
Jan 14 14:53:47 openvpn 4835 Socket Buffers: R=[42080->524288] S=[57344->524288]
Jan 14 14:53:47 openvpn 4835 TCP/UDP: Socket bind failed on local address [AF_INET]<ThisFirewallPublicIP>:0: Can't assign requested address (errno=49)
Jan 14 14:53:47 openvpn 4835 Exiting due to fatal error
Jan 14 14:53:47 openvpn 4835 /sbin/route delete -net 192.168.2.0 192.168.201.1 255.255.255.0
Jan 14 14:53:47 openvpn 4835 Closing TUN/TAP interface
Jan 14 14:53:47 openvpn 4835 /usr/local/sbin/ovpn-linkdown ovpnc1 1500 1573 192.168.201.2 192.168.201.1 init
I have confirmed that the PublicIPs are correct for the two sites. This came up a couple of weeks ago and then came up for the second time today. I was able to resolve it by restarting the service on site B, but that's not a good long-term solution.
The hardware is repurposed i5 PCs. Overall, the configuration should be pretty generic.
I've looked into the "Can't assign requested address" message, but am not finding any posts that seem to be similar enough.
Any suggestions on how to troubleshoot this would be greatly appreciated.