Routing and server-side routing
A VPN is only truly useful when the VPN clients have access to server-side resources. In order to access these resources, routing is needed in most cases. OpenVPN has many options to automatically set up and tear down extra routes whenever a client connects or disconnects.
It should be stated that most OpenVPN troubleshooting issues are related to routing. Setting up a VPN connection is one thing, getting network traffic to flow properly is another. This often has little to do with OpenVPN itself, but more with the routing tables and firewall rules on both client and server side.
The most common layout for accessing resources on the server-side network is depicted here:
The server-side LAN is 192.168.122.0/24. The resources that the VPN clients need to access are located on this subnet. Thus, the server needs to instruct the VPN clients that an extra route needs to be set. This is done using a push
option, where the route configuration is pushed to the client...