|
How does iOpenvpn work? Since iphone OS does not allow users to install
new kernel modules and openvpn required a tun module, a workaround has
been resorted to. The route has been changed to pass all packets over
the loopback interface. These packets are then sniffed (libpcap is used
to design this aspect), and tun functionality is then emulated in user
space via software. The result: going out the packets are encrypted in
exactly the same manner as done by openvpn. Coming back, packets are decrypted
using software and then sent over to the destination interface using raw
sockets.
One needs to note that due to the above design, features of openvpn concering
tun (things such as MTU size setting) are currently not implemented.
|