Content #
- The application hands over the packet to the operating system.
- The OS decides using normal routing rules that the packet needs to be routed via the VPN.
- The packet is then forwarded to the kernel tun device.
- The kernel tun device forwards the packets to the (user-space) OpenVPN process.
- The OpenVPN process encrypts and signs the packet, fragments it if necessary, and then hands it over to the kernel again to send it to the address of the remote VPN endpoint.
- The kernel picks up the encrypted packet and forwards it to the remote VPN endpoint, where the same process is reversed.
From #
Mastering OpenVPN