Самим OpenVPN пользуюсь уже несколько лет, но вот посмотреть на продукт той же компании OpenVPN Access Server решил таки посмотреть только недавно. Напомню, что сам OpenVPN это решение с открытым исходным кодом для виртуальных частных сетей, использующее SSL/TLS и инкапсуляцию в TCP или UDP, которое поддерживает туннели и канального, и сетевого уровня.
OpenVPN-AS это он же, но с некоторыми проприетарными дополнениями, включающими веб-интерфейс для управления и автонастройку клиентов.
Получаем лицензии
Продукт лицензируется на одновременные подключения. Лицензия на одно подключение стоит $5 в год, купить можно как минимум десять штук. Лицензии поставляются в виде ключа, ключей в один сервер можно ввести несколько, в этом случае количество лицензий суммируется. Если запустить без ключа, разрешит два одновременных соединения, чего для тестирования возможностей вполне хватает.
Оплатить можно PayPal’ом или кредитной картой, что способствует обходу ограничений на импорт. По договоренности с sales’ами можно и банковским переводом.
Регистрируемся на openvpn.net, идем в «VPN Solution -> Purchase Licence». Я оплатил PayPal’ом, ключ получил на почту через пару минут.
Получаем установочный пакет
Поставляется в двух видах. В виде пакетов для RHEL/CentOS 4/5, Fedora 9/10, Ubuntu 8/9/10 (также ставятся на Debian Lenny). Второй вариант: в виде образов виртуальных машин VMWare, Hyper-V, Amazon Cloud и некого GoGrid. Для отличных от Linux систем пакеты с сервером не поставляется.
Устанавливаем
Я использую KVM, поэтому предпочел разверуть образ системы и поставить пакет руками. Путем броска монеты выбирал между CentOS5 и Ubuntu 10 LTS, выпала убунта. Установка тривиальна:
wget http://swupdate.openvpn.org/as/openvpn-as-1.8.3-Ubuntu10.i386.deb sudo dpkg -i ~/openvpn-as-1.8.3-Ubuntu10.i386.deb passwd openvpn
В CentOS/RHEL/Fedora это был бы «rpm -Uvh» вместо «dpkg -i», ну и пакет соответствующий.
После этого уже можно зайти на https://vpn.example.com/admin с логином openvpn и тем паролем, который вы указали и приступить к настроке.
Идем в «Server Networking Options» и прописываем там имя хоста и интерфейс, на котором принимать соединения.
Потом в «VPN Mode», выбираем желаемый уровень инкапсуляции (канальный или сетевой).
Дальше в «VPN Settings» указываем пулы адресов, нужен ли split tunneling, нужен ли NAT и к каким сетям за сервером выдавать клиентам маршруты.
Создаем пользователей в «User Permissions» и можно приступать к работе.
Можно также настраивать группы пользователей с разными пулами адресов и доступом во внутренние сети и Интернет, аутентифицировать их в RADIUS или LDAP, добавить сертификаты из своей PKI, потюнить настройки OpenVPN. Но это все либо интуитивно, либо написано в Admin Guide, сейчас нам гораздо интереснее посмотреть на это со стороны клиента.
Клиентское подключение
Полностью автоматическое подключение поддерживается на Windows и Mac OS X. Для Linux можно получить готовый конфиг, который сунуть клиенту.
Посмотрим на примере Windows:
- Заходим на https://vpn.example.com:
- Тыкаем в единственную предложенную ссылку:
- Загружаем и устанавливаем клиент. Никаких вопросов, кроме желания пользователя его установить, он не задает.
- После окончания установки мы сможем подключатся к сервер либо путем входа на ту же страницу и нажатия ссылки «Connect», либо ткнув «Connect» в меню клиента, который висит в трее.
- Проверяем соединение (я поставил маршрутизации всего клиентского трафика через VPN):
Разумеется, клиентскую программу можно установить пользователям заранее или распространить групповой политикой.
Заключение
Мне понравилось. Найденные недостатки: отсутствие поддержки мобильных устройств и русского интерфейса (было бы актуально для наших пользователей).
Опубликовано: Holywar
Не было опыта использования OpenVPN-AS в составе Vyatta?
И, не совсем по теме, в Vyatta полностью clientless VPN пока не реализован?