John Johnstone jjohnstone.nospamfreebsd at
Tue Apr 23 23:47:09 UTC 2019

On 4/22/2019 8:53 PM, Doug Hardie wrote:
> I am trying to setup an openvpn server on my home network.  Home machines are all running FBSD 12.0 Release.  openvpn was installed as a package.  The results are quite confusing.  Ping from an external device works correctly to all the home machines.  I can use tcpdump to see the request packets arriving at the openvpn server, being sent to the recipient machine, the response packets being sent from the recipient machine to the openvpn server, and then sent to the external device.  The external device shows that the response was received with a reasonable response time given that it is a cell phone.
> However, when I try to access a web page on any of the servers, I see the same set of packets via tcpdump.  In addition if I run ktrace on the openvpn server, I see the encrypted packets from the client being received.  The decrypted packets sent to the home server.  The unencrypted response from the home server, and the encrypted response sent to the phone.  However, the phone says that the server dropped the connection, or it shows a blank page.
> My first thought was that there was an encryption issue, but if that were the case, ping would not work.  Checking the ping packets shows that they are encrypted between the phone and the openvpn server.  Likewise a routing issue in the home network does not seem to be the problem for the same reason.  All the info I have found on the web about vpn indicates that a ping test should be sufficient.  But, in this case it is not.
> Any ideas on how to track down the problem, or fix it?  Thanks,
> -- Doug

My experience with OpenVPN is with pfSense which has always worked so I 
don't have any good suggestions.  You could try looking for the 3-way 
TCP handshake syn - syn-ack - ack with tcpdump for an incoming 
connection on the web server.  Does the web server log show anything 
interesting?  Anything in the OpenVPN server logging?

Might be difficult to arrange but testing from some hardware besides a 
phone would help; being able to run tcpdump on the external device side. 
  This would allow verifying the 3-way TCP handshake at the client side.

It's not likely but an Ethernet duplex mismatch (full - half) can give 
strange results where a few ping packets work fine but anything faster 
than that produces trouble because of the high rate of collisions.

Perhaps review your OpenVPN server configuration compared to the OpenVPN 
client to be sure that everything is compatible between them.

John J.

More information about the freebsd-questions mailing list