- Настройка OpenVPN клиента
- Установка
- Windows
- Linux CentOS
- Linux Ubuntu
- Android
- Настройка
- Пример конфигурационного файла
- Параметры конфигурационного файла
- Сертификаты
- как автоматически запустить openvpn (клиент) на ubuntu cli?
- 3 ответа
- Настройка vpn для запуска из bash
- Удалить существующий (сломанный) сервис-конфиг для openvpn
- Установка openvpn для запуска в качестве службы systemd
- Автоматический запуск клиента OpenVPN при загрузке
- 6 ответов
- Help Center
- Related Articles
- Still have questions?
- Interested in privacy?
Настройка OpenVPN клиента
В данной инструкции подробно описан процесс настройки клиента OpenVPN на примере операционных систем Windows и Linux. Также, с ее помощью можно настроить скиента на Android.
Установка
Windows
Заходим на официальную страницу загрузки openvpn и скачиваем клиента для нужной Windows:
Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».
Linux CentOS
Устанавливаем репозиторий EPEL:
yum install epel-release
yum install openvpn
Linux Ubuntu
apt-get install openvpn
Android
Установка выполняется из Google Play. Набираем в поиске OpenVPN Connect — нажимаем установить и принимаем условия.
Настройка
После установки программы конфигурационный файл не создается автоматически и его нужно создать вручную.
В системах Windows создаем файл config.ovpn в папке %programfiles%\OpenVPN\config.
* имя файла может быть любым, расширение должно быть .ovpn.
Для создания конфигурационного файла в Linux выполняем команду:
* чтобы служба openvpn автоматически выполняла соединение, необходимо, чтобы конфигурационный файл назывался client.conf.
Пример конфигурационного файла
client
dev tun
proto udp
remote 192.168.0.15 443
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
dh dh2048.pem
tls-client
tls-auth ta.key 1
float
keepalive 10 120
comp-lzo
verb 0
Параметры конфигурационного файла
Параметр | Значения | Описание |
---|---|---|
client | Строка говорит о том, что конфигурационный файл описывает клиентское подключение (программа сама устанавливает соединение, а не ждет, как сервер). | |
dev | tap или tun | Выбор виртуального сетевого драйвера. TUN — сетевой уровень модели OSI, оперирует IP-пакетами. TAP — эмулирует Ethernet устройство и работает на канальном уровне модели OSI, оперируя кадрами Ethernet. Настраивая OpenVPN клиента, в большинстве случаев, необходимо выбирать tun. TAP необходимо использовать для работы определенных сервисов, например DHCP. |
dev-node | любая строка | Параметр используется в системах Windows в случаях, если имеется несколько сетевых интерфейсов. Значение этого параметра должно содержать название сетевого подключения, через который должен работать OpenVPN. |
proto | udp или tcp | Указывает, какой протокол использовать для передачи данных. В большинстве случаев, лучше использовать UDP, так как данный протокол создает меньше нагрузки на сеть. |
remote | VPN-сервер и порт | Задает сервер, к которому должен подключаться клиент, а также сетевой порт (по умолчанию 1194), на котором OpenVPN принимает запросы. Можно указать несколько строк. |
remote-random | Если указано несколько строк remote, данный параметр говорит, что необходимо подключаться к удаленным серверам в случайном порядке. | |
resolv-retry | количество секунд или infinite | Используется в тех случаях, когда в качестве сервера указано доменное имя. Параметр задает время в секундах для повторного переподключения, если не удалось узнать имя сервера. infinite — держать связь с сервером постоянно. |
nobind | Клиент использует динамический порт для подключения. | |
user | учетная запись | Задает определенного пользователя для работы клиента (только для UNIX-систем). |
group | группа | Задает определенную группу для работы клиента (только для UNIX-систем). |
persist-key | Не перечитывает ключи при перезагрузке сервиса OpenVPN. | |
persist-tun | Не перечитывает параметры туннеля при перезагрузке сервиса OpenVPN. | |
http-proxy | сервер прокси и порт | Использовать прокси-сервер для подключения. |
http-proxy-retry | Переподключаться к прокси-серверу, если связь была разорвана. | |
http-proxy-timeout | количество секунд | Время, через которое выполнять попытки переподключения к прокси-серверу. |
mute-replay-warnings | Параметр стоит задавать при использовании беспроводного соединения. Он отключит дублирование предупреждений пакетов. | |
ca | пут к сертификату | Корневой сертификат удостоверяющего центра. Генерируем на сервере. |
cert | пут к сертификату | Открытый ключ клиента. Генерируем на сервере. |
key | пут к сертификату | Закрытый ключ клиента. Генерируем на сервере. |
dh | пут к сертификату | Ключ с алгоритмом Diffie-Hellman (Диффи-Хеллмана). |
remote-cert-tls | сервер | Исключает возможность mitm атаки, включая верификацию сертификата сервера. |
tls-client | Указание на то, что это клиент TLS. | |
tls-auth | ta.key 1 | Дополнительный уровень аутентификации посредством ключа TLS. |
float | Удаленный хост может менять IP-адрес в процессе соединения, при этом последнее не будет разорвано. | |
keepalive | секунд1 секунд2 | Пинговать каждые секунд1 сервер и если в течение секунд2 не будут получены ответные пакеты, перезапустить подключение. |
cipher | алгоритм | Указывает алгоритм шифрования. Примеры: AES-256-CBC, AES-128-CBC, BF-CBC, DES-EDE3-CBC. |
comp-lzo | Использовать сжатие. | |
verb | число от 0 до 9 | Уровень детализации лога. 0 отключает отладочную информацию. |
mute | число | Указывает сколько лог-сообщений может отображаться для каждой категории события. |
auth-user-pass | ничего или путь к файлу | Говорит клиенту, что необходима аутентификация. Если не указан путь к файлу, клиент выкинет окно для авторизации, иначе прочитает данные из файла. |
ipchange | команда или путь к скрипту | Выполняет команду при смене IP. |
connect-retry | секунд | Переподключиться к серверу через указанное количество секунд, если соединение было разорвано. |
connect-retry-max | число | Сколько раз повторять соединение, если оно было разорвано. |
shaper | байт | Задает максимальную скорость передачи данных для исходящего трафика. |
tun-mtu | число | Задает MTU. |
status | путь к файлу | Путь к фалу хранения статуса. |
log | путь к файлу | Путь к лог-файлу. |
askpass | путь к файлу | Путь к файлу с паролем для приватного ключа (private key password). |
Наиболее полный и актуальный список параметров для OpenVPN можно получить командой openvpn —help (в Linux и Windows).
Сертификаты
Клиентские сертификаты генерируются на стороне сервера. Процедура следующая.
Источник
как автоматически запустить openvpn (клиент) на ubuntu cli?
Вы можете взглянуть на fail2ban, который непосредственно содержится в репозиториях (так что вы можете просто «sudo apt-get install fail2ban»). Я использую его уже много лет, и на моем сервере было много хакеров, заблокировав их. Fail2ban работает путем анализа файлов журнала для определенных шаблонов (он поставляется с хорошей конфигурацией образцов), а затем блокирует злоумышленников IP — например. если хакер сделал 5 неудачных попыток входа в систему через ssh (даже для разных учетных записей), вы можете заблокировать свой IP за определенный промежуток времени (например, 30 минут).
Изменить: уведомления также возможны (отправьте почту, если что-то было обнаружено).
3 ответа
Пакет openvpn поставляется с скриптом init /etc/init.d/openvpn. Этот скрипт автоматически устанавливает соединение для каждого файла .conf (mind the extension) в /etc/openvpn.
Обнаружено это на основе информации здесь: https://openvpn.net/index.php/open- source / documentation / howto.html # startup
Если вы устанавливаете OpenVPN через RPM или DEB-пакет в Linux, установщик настроит initscript. Когда выполняется, initscript будет проверять файлы конфигурации .conf в файле / etc / openvpn, и если он найден, запустит отдельный демон OpenVPN для каждого файла.
Было бы неплохо, если бы у него был хакерский способ сделать это, но это нужно будет сделать сейчас.
1) Создать файл myopenvpn в /etc/init.d/
2) Вставить в myopenvpn и сохранить:
ИСТОЧНИК: http://www.hackerway.ch/2012/12/11/how-to-auto-start- OpenVPN-клиент-в-DEBiAN-6-и-убунту-12-04 / # комментарий-79
Я немного застрял в этом и закончил тем, что написал все инструкции по его настройке с помощью systemd вручную.
Это работало для меня с использованием Ubuntu 16.10 и openvpn 2.3.11
Настройка vpn для запуска из bash
В этих примерах используется expressvpn, но большинство будет работать одинаково
Загрузите файл конфигурации ovpn поставщика vpn, например my_express_vpn_amsterdam_2.ovpn
переместите это на /etc/openvpn/ и переименуйте его в конец ovpn
Ваш поставщик VPN предоставит вам имя пользователя и пароль для подключения через openvpn. Сохраните имя пользователя и пароль каждый в своей собственной строке
теперь отредактируйте /etc/openvpn/amsterdam-2.conf найдите строку, которая говорит auth-user-pass, и замените ее на путь к вашему файлу учетных данных
Проверьте свою конфигурацию! Начать openvpn, как это
sudo openvpn —config /etc/openvpn/amsterdam-2.conf
openvpn должен подключиться без запроса имени пользователя или пароля
Удалить существующий (сломанный) сервис-конфиг для openvpn
sudo rm /etc/systemd/system/multi-user.target.wants/openvpn.service
Установка openvpn для запуска в качестве службы systemd
Конфигурация, которая пришла с openvpn был сломан, поэтому я удалил его и создал новый на основе этого ответа
Создает службу systemd для openvpn
sudo vim /usr/lib/systemd/system/openvpn@service
добавляет эту конфигурацию: [ ! d23]
%i используется в качестве подстановочного знака, чтобы эта служба могла использоваться для нескольких конфигураций vpn. Задайте его для файла amsterdam-2.conf, который мы создали ранее
sudo systemctl start openvpn@amsterdam-2.service
Теперь служба systemd должна работать на amsterdam vpn. проверьте этот статус так:
sudo systemctl status openvpn@amsterdam-2.service
вы должны увидеть несколько строк вывода, заканчивающихся на Initialization Sequence Completed, и ваш vpn должен работать.
Надеюсь, что это помогает!
Как запустить клиентскую службу OpenVPN на Ubuntu 15.04
Источник
Автоматический запуск клиента OpenVPN при загрузке
Я пытаюсь заставить OpenVPN запускаться автоматически при загрузке. Сегодня я должен ввести вручную
затем имя пользователя и пароль. Есть ли хороший способ сделать это автоматически при загрузке?
6 ответов
Редактировать /etc/default/openvpn , Просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:
Раскомментируйте AUTOSTART=»all» линия. Сохрани и закрой. Перезагрузите вашу систему.
Вы можете положить auth-user-pass filename в вашем anonine.ovpn где filename это файл с именем пользователя / паролем в 2 строки.
Удостоверься что filename правильно защищен, потому что он будет содержать простое имя пользователя / пароль.
Это из openvpn —help :
Вы также можете добавить свой сертификат в свой anonine.ovpn добавив это так:
Если вы используете systemd (16.04), настроили AUTOSTART=»all», и он все еще не запускается, обратите внимание на это:
а затем перезапустите службу
Если для подключения не требуется имя пользователя / пароль, переименуйте файлы.ovpn, чтобы они имели расширение.conf.
OpenVPN должен подключаться при загрузке, даже без автозапуска = все.
Если требуется имя пользователя / пароль,
редактировать auth-user-pass user-password-filename
Создайте файл, содержащий:
Если вы хотите подключиться к Network Manager, убедитесь, что вы сначала выполните:
Убедитесь, что ваш Ubuntu по крайней мере 14.04. Это не работает 12.04.
Если у вас нет ваших ca.crt, client.crt и т. Д., Извлеките их из.conf.
С помощью Network Manager создайте новое VPN-соединение или импортируйте свою конф.
Добавить сертификаты и ta.key.
Маршруты, используйте соединение только для ресурсов в своей сети.
Отредактируйте интернет-соединение с сетевым менеджером. Выберите соединение с VPN, затем выберите VPN-соединение.
Хотя это может не представлять интереса для OP, я был разочарован тем, что этот сервис не запускается до входа в систему — либо графического, либо одного из TTY Ctrl + Alt + F#. В конце концов я понял, что моя машина будет подключаться только к Wi-Fi, когда я вошел в систему. Объединение других ответов здесь со стандартным советом для запуска sudo update-rc.d openvpn defaults , и с первым ответом на этот другой вопрос у меня работал. Возможно, это могло бы помочь другому Гуглеру.
И только пароль в верхней строке
Сработало и теперь openvpn запускается при загрузке
Команды, чтобы проверить, работает ли openvpn:
systemctl status [email protected]»your vpn user name»
wget -qO- http://ipecho.net/plain ; echo
проверить ваш ip (он должен отличаться от внешнего ip вашего роутера)
sudo service openvpn stop
sudo service openvpn start
проверить ваш конфиг без перезагрузки все время.
Источник
Help Center
In order to configure OpenVPN to autostart for systemd, complete the following steps:
Run the command:
and uncomment, or remove, the “#” in front of
then press ‘Ctrl X’ to save the changes and exit the text editor.
Move the .ovpn file with the desired server location to the ‘/etc/openvpn’ folder:
Edit the .ovpn file you copied in the previous step and change the line ‘auth-user-pass’ to ‘auth-user-pass pass’:
then press ‘Ctrl X’ to save the changes and exit the text editor.
In the ‘/etc/openvpn’ folder, create a text file called pass:
and enter your IVPN Account ID (starts with ‘ivpn’) on the first line and any non-blank text on the 2nd line, then press ‘Ctrl X’ to save the changes and exit the text editor.
(Optional) Change the permissions on the pass file to protect the credentials:
Rename the .ovpn file to ‘client.conf’:
On Ubuntu 16.04 LTS, OpenVPN installs and initiates a service by default. If you are using Ubuntu 16.04 LTS, skip to step 10.
For Ubuntu 18.04 LTS and up, enable the OpenVPN service to run while booting:
Reload the daemons:
Start the OpenVPN service:
Reboot and test if it is working by checking the external IP:
If curl is not installed:
Related Articles
Still have questions?
Get in touch and we’ll get back to you in a few hours.
Interested in privacy?
Read our latest privacy news and keep up-to-date on IVPN services.
Источник