Последние пару месяцев я путешествую по Индии и к интернету приходится подключаться где попало — в интернет-кафе, через чей-то беспарольный WiFi, через GPRS. Предвидя это, перед отъездом из дома я решил настроить себе VPN до моего сервера. Выбор пал на OpenVPN. Разумеется, мне хотелось запускать VPN не через командную строку, а удобно, одним-двумя кликами мыши. На ноутбуке стояла Ubuntu 8.10 и я, недолго думая, установил пакет
network-manager-openvpn
, надеясь на простую интеграцию с network manager'ом. Оказалось, что этот плагин непригоден для использования.
Я решил использовать OpenVPN в режиме работы со статическими ключами (pre-shared key), потому что у него есть важное преимущество:
… it is a handshake-free protocol without any distinguishing signature or feature (such as a header or protocol handshake sequence) that would mark the ciphertext packets as being generated by OpenVPN. Anyone eavesdropping on the wire would see nothing but random-looking data.
Или, говоря по-русски, шифрованные данные выглядят как случайный набор байтов и определить, что это такое, невозможно.
А упомянутый плагин просто тупо запускает OpenVPN с жёстко прописанными в коде параметрами, не давая указать нужные. Вначале стал писать патч, но потом понял, что проще выкинуть и найти альтернативное решение.
После некоторых поисков обнаружился апплет
tuntun для Gnome, который работает с OpenVPN принципиально другим способом, используя интерфейс управления последнего.