След дълго и мъчително разработване най-сетне OpenVPN 2.6 видя бял свят. Ето тук можете да намерите всичко относно дългоочакваната (т.е. закъснялата) версия – OpenVPN 2.6.
Нещата които пряко ви засягат:
- Data Channel Offload – кернел модул ускорител
- Поддръжка на OpenSSL 3
- Подобрен код за обработка на MTU включително задаване на MTU от сървъра
- Премахнати са остаряли криптографски алгоритми
- Подобрен код за договаряне на протокола между сървъра и клиента, това води до по-бързо установяване на връзка
- Актуален Easy-RSA
Малко обяснение защо DCO е важно. Реално OpenVPN е сравнително бавен защото много неща се търкалят между kernel и userland. Пример:
Идва пакет по установена връзка. Това минава по ниво ОС (kernel). Обаче мрежовия драйвер (примерно eth0) го прехвърля на потребителско ниво (userland). Тук OpenVPN го обработва (примеро декриптира) и го мята по виртуалния драйвер (tun/tap) което пак минава на ниво ОС. Операционната система го обработва и пак го мята на потребителско ниво където програмите си прочитат данните. Това прави във оптимистичен сценарий около 3 подмятания на данни между различните нива, но може и да са повече, ако не се случи точно така.
Как да установим дали OpenVPN е компилиран със DCO?
Пробваме го ето така:
openvpn –version
и ако няма DCO тогава някъде ще има следното:
enable_dco=no
а ако го има ще е така:
enable_dco=yes