Openvpn ubuntu не работает

Настройка и использование OpenVPN на Ubuntu

Для удобства настройки заходим под суперпользователем:

Подготовка Ubuntu

Обновляем установленные пакеты:

apt-get update && apt-get upgrade

Устанавливаем утилиту для синхронизации времени:

apt-get install chrony

Разрешаем ее автозапуск и стартуем сервис:

systemctl enable chrony —now

Установим правильную временную зону:

timedatectl set-timezone Europe/Moscow

* в данном примере московское время.

Если в нашей системе используется брандмауэр, открываем порт, на котором будет слушать OpenVPN:

iptables -I INPUT -p udp —dport 443 -j ACCEPT

* в данной инструкции предполагается, что мы настроим VPN-сервер на UDP-порту 443, однако, по-умолчанию, OpenVPN работает на порту 1194.

Для сохранения правила используем iptables-persistent:

apt-get install iptables-persistent

Установка, настройка и запуск VPN-сервера

Обязательные шаги для развертывания сервиса — установка программного обеспечения, генерация сертификатов, настройка OpenVPN. Рассмотрим эти процессы по шагам.

Установка OpenVPN

Устанавливаем необходимые пакеты следующей командой:

apt-get install openvpn easy-rsa

Создание сертификатов

Создаем каталог, в котором разместим готовые сертификаты для OpenVPN:

mkdir -p /etc/openvpn/keys

Создаем каталог, в который будем помещать все сгенерированные сертификаты:

Переходим в созданный нами каталог:

Скопируем в него шаблоны скриптов для формирования сертификатов:

cp -r /usr/share/easy-rsa/* .

Чтобы ускорить процесс создания ключей, откроем на редактирование следующий файл:

и приведем его к следующему виду:

export KEY_COUNTRY=»RU»
export KEY_PROVINCE=»Sankt-Petersburg»
export KEY_CITY=»Sankt-Petersburg»
export KEY_ORG=»DMOSK COMPANY»
export KEY_EMAIL=»master@dmosk.ru»
export KEY_CN=»DMOSK»
export KEY_OU=»DMOSK»
export KEY_NAME=»name-openvpn-server.dmosk.ru»
export KEY_ALTNAMES=»name-openvpn-server»

* где KEY_CN и KEY_OU: рабочие подразделения (например, можно указать название отдела); KEY_NAME: адрес, по которому будет выполняться подключение (можно указать полное наименование сервера); KEY_ALTNAMES — альтернативный адрес.

Запускаем отредактированный файл на исполнение:

Почистим каталог от старых сертификатов:

Для генерирования сертификатов необходим конфигурационный файл openssl.cnf — по умолчанию, он отсутствует, но есть файл openssl-1.0.0.cnf. Создаем на него симлинк:

ln -s openssl-1.0.0.cnf openssl.cnf

* в каталоге /etc/openvpn/easy-rsa может быть несколько разных версий конфигурационного файла openssl-x.x.x.cnf. Чтобы узнать точное имя файла, вводим команду ls /etc/openvpn/easy-rsa.

Следующие действия будут записеть от версии OpenVPN. Более новая позволяет создавать сертификаты на основе Easy RSA 3, старая работает на базе 2-й версии. Понять, какой вариант наш можно посмотрев на содержимое каталога easy-rsa:

Либо мы увидим в нем утилиту easyrsa (новая версия), либо набор утилит, начинающихся на build.

Рассмотрим процесс формирования сертификата с использованием как RSA3, так и RSA2.

а) Если используется новая версия (утилита easyrsa)

1. Инициализируем PKI:

2. Создаем корневой сертификат:

* после вводим дважды пароль.

На запрос «Common Name» можно просто нажать Enter:

Common Name (eg: your user, host, or server name) [Easy-RSA CA]:

3. Создаем запрос на сертификат для сервера:

./easyrsa gen-req server nopass

* nopass можно упустить, если хотим повысить безопасность с помощью пароля на сертификат.

На запрос «Common Name» можно просто нажать Enter:

Common Name (eg: your user, host, or server name) [server]:

4. Генерируем сам сертификат:

./easyrsa sign-req server server

После ввода команды подтверждаем правильность данных, введя yes:

Читайте также:  Газовый котел аристон не работает насос

Type the word ‘yes’ to continue, or any other input to abort.
Confirm request details: yes

и вводим пароль, который указывали при создании корневого сертификата:

Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key:

Готово. Ключ для сервера создан.

5. Формируем ключ Диффи-Хеллмана:

Создаем ta-ключ командой:

openvpn —genkey —secret pki/ta.key

Скопируем созданные ключи в рабочий каталог:

cp pki/ca.crt /etc/openvpn/keys/

cp pki/issued/server.crt /etc/openvpn/keys/

cp pki/private/server.key /etc/openvpn/keys/

cp pki/dh.pem /etc/openvpn/keys/

cp pki/ta.key /etc/openvpn/keys/

б) Если используется старая версия (утилиты build-)

1. Генерируем последовательность центра сертификации:

На все запросы нажимаем Enter.

2. Запускаем build-dh.bat (сертификат с использованием алгоритма Диффи-Хеллмана):

* команда может выполняться долго — это нормально.

3. Генерируем сертификат для сервера:

* где server — имя сертификата; на все запросы нажимаем Enter.

В конце подтверждаем два раза корректность информации вводом y:

Certificate is to be certified until Aug 8 21:12:24 2031 GMT (3650 days)
Sign the certificate? [y/n]: y

1 out of 1 certificate requests certified, commit? [y/n] y
Write out database with 1 new entries
Data Base Updated

Создаем ta-ключ командой:

openvpn —genkey —secret keys/ta.key

Скопируем созданные ключи в рабочий каталог:

cp keys/ca.crt /etc/openvpn/keys/

cp keys/server. /etc/openvpn/keys/

cp keys/dh2048.pem /etc/openvpn/keys/dh.pem

cp keys/ta.key /etc/openvpn/keys/

Настройка OpenVPN-сервера

Создаем конфигурационный файл:

И вставляем в него следующее:

local 192.168.0.15
port 443
proto udp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh.pem
tls-auth keys/ta.key 0
server 172.16.10.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
max-clients 32
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 4
mute 20
daemon
mode server
tls-server
comp-lzo

  • local — IP-адрес, на котором будет обрабатывать запросы OpenVPN;
  • port — сетевой порт (443 позволит избежать проблем при использовании Интернета в общественных местах, но может быть любым из свободных. Порт 1194 является стандартным для OpenVPN).
  • proto — используемый транспортный протокол.
  • dev — виртуальный сетевой адаптер, который будет создан для работы OpenVPN.
  • ca — путь до сертификата корневого центра сертификации.
  • cert — путь до открытого сертификата сервера.
  • key — путь до закрытого сертификата сервера.
  • dh — путь до ключа Диффи — Хеллмана.
  • tls-auth — путь до tls-ключа.
  • server — задаем IP-адрес сервера в сети VPN.
  • ifconfig-pool-persist — путь к файлу для хранения клиентских IP-адресов.
  • keepalive X Y — каждые X секунд отправляется ping-запрос на удаленный узел. Если за Y секунд не получено ответа — перезапускать туннель.
  • max-clients — максимум одновременных подключений.
  • persist-key — не перезагружать ключи при повторной загрузки из-за разрыва соединения.
  • persist-tun — не изменять устройства tun/tap при перезапуске сервера.
  • status — путь до журнала статусов.
  • log-append — путь до файла лога с дополнительным выводом информации.
  • verb — уровень логирования событий. От 0 до 9.
  • mute — ограничение количества подряд отправляемых в лог событий.
  • daemon — работа в режиме демона.
  • mode — в каком режиме работает openvpn (сервер или клиент).
  • tls-server — указывает, что данный сервер работает с использованием TLS.
  • comp-lzo — использовать сжатие.

Создадим каталог для логов:

Разрешаем автоматический старт сервиса vpn и запускаем его:

systemctl enable openvpn@server —now

Настройка OpenVPN-клиента

Сертификат должен быть сформирован на сервер, после чего перенесен на клиентское устройство. Рассмотрим процесс подробнее.

На сервере

Создадим каталог, куда поместим сертификаты для обмена:

* сертификаты будут скопированы в каталог /tmp для удобства их переноса на клиентский компьютер.

Переходим в каталог easy-rsa:

Создаем системные переменные, настроенные ранее в файле vars:

Читайте также:  Почему не работает адоб динамик линк

Как в случае формирования сертификата для сервера, наши следующие шаги зависят от версии RSA.

а) Для новой версии (easyrsa)

Создаем сертификат для клиента:

./easyrsa build-client-full client1 nopass

Вводим пароль, который указывали при создании корневого сертификата:

Enter pass phrase for /etc/openvpn/easy-rsa/pki/private/ca.key:

Скопируем ключи во временную директорию:

cp pki/issued/client1.crt pki/private/client1.key pki/ca.crt pki/ta.key /tmp/keys/

Разрешим доступ на чтения всем пользователям:

chmod -R a+r /tmp/keys

б) Для старой версии (build)

Создаем сертификат для клиента:

* на все запросы отвечаем Enter.

В конце отвечаем на два вопроса утвердительно:

Certificate is to be certified until Aug 8 21:49:30 2031 GMT (3650 days)
Sign the certificate? [y/n]: y

1 out of 1 certificate requests certified, commit? [y/n] y
Write out database with 1 new entries
Data Base Updated

Скопируем ключи во временную директорию:

cp keys/client1. keys/ca.crt keys/ta.key /tmp/keys/

Разрешим доступ на чтения всем пользователям:

chmod -R a+r /tmp/keys

На клиенте

Клиент OpenVPN может быть установлен на Windows, Linux, Android и Mac OS. Мы рассмотрим пример работы с Windows.

Заходим на официальную страницу загрузки openvpn и скачиваем клиента для Windows:

Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».

Переходим в папку C:\Program Files\OpenVPN\config. И копируем в нее файлы ca.crt, client1.crt, client1.key, ta.key из каталога /tmp/keys на сервере, например, при помощи программы WinSCP.

После переноса файлов, не забываем удалить ключи из временного каталога на сервере:

Теперь возвращаемся к компьютеру с Windows, открываем блокнот от имени администратора и вставляем следующие строки:

client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
comp-lzo
ca ca.crt
cert client1.crt
key client1.key
tls-client
tls-auth ta.key 1
float
keepalive 10 120
persist-key
persist-tun
verb 0

* где 192.168.0.15 443 — IP-адрес OpenVPN-сервера и порт, на котором он принимает запросы.
* подробнее про настройку клиента OpenVPN.

Сохраняем файл с именем config.ovpn в папке C:\Program Files\OpenVPN\config.

Запускаем с рабочего стола программу «OpenVPN GUI» от имени администратора (это важно).

Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:

Произойдет подключение и значок поменяет цвет с серого/желтого на зеленый.

Доступ к локальной сети

Для настройки доступа к локальной сети, воспользуйтесь инструкцией Настройка доступа к локальной сети клиентам OpenVPN в Linux.

Аутентификация пользователей

Позволяет требовать от пользователя ввод логина и пароля при каждом подключении. Также идентификация каждого пользователя необходима для уникальной идентификации каждого из них и выдачи разных IP-адресов.

Источник

OpenVPN подключается, но нет доступа к Интернету в Ubuntu 16.04 / 18.04

Я пытаюсь подключиться к VPN с помощью OpenVPN.

Я пытался использовать сетевой менеджер с плагином OpenVPN и тоже пытался в терминале с ovpn.conf файлом.

Все подключается (как говорится connection established ) в терминале, но нет доступа в интернет.

Я могу пинговать что угодно, даже шлюз туннеля.

Вот что я пробовал

  • отключить UFW;
  • перепробовал несколько конфигурационных файлов;

Тот же результат.

Пробовал галочкой опцию в VPN configaration > IPv4 > routes > use this connection only for resources on its network . После этого интернет снова заработал и VPN-шоу подключилось. Но мой трафик не зашифрован, а IP-адрес и местоположение остаются прежними. Наконец, я попробовал —redirect-gateway вариант, все еще бесполезный.

Я вне моей лиги сейчас. Пожалуйста помоги. Спасибо за чтение!

Я использую сетевой менеджер gnome с плагином OpenVPN Network Manager.

Вы можете установить его с помощью:

Мое соединение работает нормально, если я пытаюсь напрямую с OpenVPN. Но если я пытаюсь использовать Network Manager, он работает, но нет доступа в Интернет.

Читайте также:  Как настроить смарт часы lige с телефоном

Чтобы исправить это, отредактируйте конфигурацию соединения OpenVPN в Network Manager и нажмите IPv4 Settings вкладку, затем нажмите Routes кнопку:

Тогда отметьте Use this connection only for resources on its network .

Нажмите Ok , затем Save и переподключите.

я исправил openvpn нет проблемы с интернетом также

сначала полностью удалите openvpn и autoremove после этого, затем добавьте ppa, как показано в ссылке, и выполните команды одну за другой, тогда yu должно быть в порядке .. и если нет проблем с dns, добавьте opendns в resolv.conf в его 202.67.222.222 и 208.67. 220.220 ссылка

Проблема делает маршруты. Чтобы быть точным, маршрут по умолчанию.

Во-первых, если вы хотите перенаправить весь трафик через vpn NM , не устанавливайте опцию «использовать это соединение только для ресурсов в своей сети».

Вторая проблема — это маршрут по умолчанию gw

0.0.0.0 10.211.1.2 128.0.0.0 UG 0 0 0 tun0

Проблема может быть исправлена ​​путем добавления маршрута вручную или проверки конфигурации на сервере vpn.

Чтобы установить ручной маршрут для всего трафика, перейдите tun0 после подключения к команде vpn put.

Подождите, вы можете добавить маршрут по умолчанию или по умолчанию, если вы хотите, чтобы трафик шел wlan0 с командой

sudo ip route add default via 172.16.156.65

или для маршрутизации трафика через vpn

sudo ip route add default via 10.211.1.2

После этого вы можете добавить еще маршрут

Пример, если вы хотите перейти 106.158.15.233 через wlan0

172.16.156.65 адрес вашего роутера

10.211.1.2 адрес вашего сервера vpn

Я знаю, что это старый, но у меня нет рабочего решения этой проблемы из этой темы, и у меня есть похожая проблема.

Здесь моя проблема. Я загрузил ключи openVPN со своего роутера. установленный на виртуальной машине Linuxmint и ElementaryOS, как на виртуальной, так и на хост-ОС на ноутбуке. Обе версии создают одну и ту же проблему. VPN соединяется, но трафик через него абсолютно отсутствует. Включение «использовать это соединение только для ресурсов в своей сети» совершенно бесполезно, и я все равно не получаю доступ к сетевым ресурсам vpn. сотрите это.

Вот что я сделал .. Я заметил, что некоторые говорили, что когда они подключались через командную строку, vpn, казалось, работал. проблема должна заключаться в том, что вы не можете импортировать конфигурацию openVPN. так что я вытащил свой верный текстовый редактор, открыл файл openvpn .conf. Я заметил, что в профиле соединения openvpn есть вкладка «Дополнительно». с множеством различных вариантов. Поэтому я попытался перевести все параметры конфигурации на вкладку «Дополнительно» и что вы знаете . это сработало .

Так что я сделал это снова на ноутбуке с другим дистрибутивом .. Я изменил параметры Один за другим на этот раз, проверяя vpn каждый раз, и vpn начал работать после того, как я настроил сжатие.

В разделе «Параметры подключения VPN»> «Дополнительно»> «Проверить» использовать сжатие данных LZO (я установил адаптивный), туннель начал работать без проблем, и «Мой IP» отображается как внешний IP-адрес маршрутизатора vpn.

Там нет никаких специальных конфигов или брандмауэра или что-нибудь в моем опыте. Просто нужно настроить все параметры так же, как файл конфигурации, и вы можете использовать встроенный сетевой менеджер для его обработки.

Источник

Оцените статью