OpenVPN — свободная реализация технологии Виртуальной Частной Сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT-firewall, без необходимости изменения их настроек. OpenVPN была создана Джеймсом Йонаном (James Yonan) и распространяется под лицензией GNU GPL.
http://ru.wikipedia.org/wiki/OpenVPN
Задача: Организовать между сервером и клиентом защищенный туннель для возможности безопасного выхода в интернет клиента с любых открытых и потенциально не безопасных точек доступа в интернет. На пример из различных кафе с открытым wifi.
Настраиваем сервер
Для установки и настройки сервера достаточно скопировать в консоль строчку:
sudo wget -P/tmp http://kubuntu.ru/files/ovpn_install.sh; sudo chmod +x /tmp/ovpn_install.sh; sudo /tmp/ovpn_install.sh
команда скачает скрипт установки ovpn_install.sh, даст ему права на запуск и запустит на выполнение.
В завершении установки потребуется ответить на несколько простых вопросов для генерации сертификата и ключа для клиента, либо можно просто нажать несколько раз enter и дважды утвердительно ответить, нажав y в ответ на вопросы в конце генерации ключей.
После установки вы получите настроенный сервер OpenVPN работающий в режиме маршрутизации и принимающей соединения на 777 порту.
Проверить правильность установки можно посмотрев активные сетевые устройства командой ifconfig
В случае успешной установки в списке сетевых карточек должно появиться новое устройство tun0 с ip 10.8.0.1
Примечание: при загрузке системы автоматически поднимаются все VPN соединения, для которых в папке /etc/openvpn есть соответствующие файлы с расширением .conf.
Настраиваем клиента
Устанавливаем OpenVPN
sudo apt-get install -y openvpn
Переносим с сервера любыми доступными средствами ключ и сертификат клиента который мы сгенерировали при установке сервера.
Нам нужны следующие файлы:
/etc/openvpn/ca.crt # Cертификат СА (центра сертификации)
/etc/openvpn/easy-rsa/keys/client1.crt # Сертификат клиента, подписанный CA
/etc/openvpn/easy-rsa/keys/client1.key # Ключ шифрования клиента
Копируем их в папку /etc/openvpn на компьютере-клиенте
Скачиваем и редактируем файл конфигурации клиента ovpn_client.conf
sudo wget -P/etc/openvpn http://kubuntu.ru/files/ovpn_client.conf; sudo nano /etc/openvpn/ovpn_client.conf
Запуск openvpn:
sudo service openvpn start
Остановка openvpn:
sudo service openvpn stop
Настраиваем подключение к серверу через Network-Manager
Для этого устанавливаем пакет network-manager-openvpn
sudo apt-get install network-manager-openvpn
и добавляем новое соединение OpenVPN указав адрес нашего сервера и расположение ключей и сертификатов
Для генерации дополнительных ключей и сертификатов для других клиентов, на сервере выполняем:
cd /etc/openvpn/easy-rsa/
sudo source ./vars
sudo ./build-key client2
Примечание: для каждого клиента должно быть указано своё уникальное имя (в данном случае client2).
Ресурсы по теме: