Перенос OpenVPN сервера с сертификатами.
Доброго дня! Есть работающий openvpn сервер на debian 8. Возникла необходимость переноса его на debian 9 со всеми сертификатами, чтобы не перепиливать клиентскую часть. Почитал, что перенос возможен путем прямого копирования конфигов и сертификатов. Как делал. На чистый debian 9 установил openvpn и easy-rca. Только установил, никаких новых сертификатов не генерил. Далее тупо копирнул все из папки /etc/openvpn на debian 8 в /etc/openvpn/server/ на debian 9(там еще папочка client есть). Сервис стартует, но коннектов нет. Проброс 1194 само собой на ip D9 сделан. При тесте
openvpn --dev tun0 --ifconfig 10.9.8.1 10.9.8.2
ошибка 22 Проверил владельца файлов. Везде поставил root. Не помогло. Сейчас openvpn.log не пишется. В чем косяк? Спасибо! P.S. service openvpn start успешно выполняется. Status Active (зеленый). В ifconfig — TUN-адаптер отсутствует.

kerby ★
26.09.17 09:57:17 MSK
что в syslog ?
anonymous
( 26.09.17 10:12:40 MSK )
Ответ на: что в syslog ? от anonymous 26.09.17 10:12:40 MSK

Starting Openvpn service Started Openvpn service
kerby ★
( 26.09.17 10:25:51 MSK ) автор топика

TEX ★★★
( 26.09.17 10:27:13 MSK )
Ответ на: комментарий от TEX 26.09.17 10:27:13 MSK

чет пока не прокатило. Ругается при старте что не может найти файл конфигурации. А если я делаю,
openvpn --config /etc/openvpn/server/server.conf
то сервис стартует, но но inactive и в логах: запуск, запущен, остановлен.
kerby ★
( 26.09.17 10:45:44 MSK ) автор топика
Ответ на: комментарий от kerby 26.09.17 10:45:44 MSK

Ругается при старте что не может найти файл конфигурации
systemctl enable openvpn@server
ищет server.conf в /etc/openvpn/ а не в /etc/openvpn/server/
TEX ★★★
( 26.09.17 11:04:15 MSK )
Ответ на: комментарий от TEX 26.09.17 11:04:15 MSK

Да, я уже это понял. Поковырял пути. Конфиг цепляется. Логи пишутся. Нашел ошибку подгрузки плагина. Разбираюсь.
kerby ★
( 26.09.17 11:07:12 MSK ) автор топика
Ответ на: комментарий от TEX 26.09.17 11:04:15 MSK

Ну вроде разобрался, но есть небольшой косяк.
1. systemctl enable openvpn@server - OK 2. systemctl start openvpn@server - OK 3. systemctl status openvpn@server - OK ----коннекты идут---- 4. systemctl disable openvpn
Далее делаю ребут и статус openvpn@server active - failed. Делаю руками systemctl start openvpn@server - Все ОК. Что не так? Автозагрузка не срабатывает.
kerby ★
( 26.09.17 14:59:15 MSK ) автор топика
Ответ на: комментарий от kerby 26.09.17 14:59:15 MSK
сделать пару других юзеров; по мне это Очевидный ход.
anonymous
( 26.09.17 23:27:20 MSK )
Ответ на: комментарий от kerby 26.09.17 14:59:15 MSK

Что то мне кажется, что последней командой ты её вырубил.
Посмотри что со статусами у тебя в
systemctl | grep openvpn
TEX ★★★
( 27.09.17 07:20:59 MSK )
Ответ на: комментарий от TEX 27.09.17 07:20:59 MSK

systemctl -u openvpn -b 0
Radjah ★★★★★
( 27.09.17 07:50:07 MSK )
Ответ на: комментарий от TEX 27.09.17 07:20:59 MSK

grep говорит, что openvpn@server.service loaded failed. А вручную стартует. Остальные сервисы active. Сделал enable openvpn обратно. Ничего не изменилось.
kerby ★
( 27.09.17 09:40:37 MSK ) автор топика
Ответ на: комментарий от TEX 27.09.17 07:20:59 MSK

Мэй би что-то с правами? У меня кстати внешние скрипты от nobody не запускались изначально. В конфиге прописывал user root. На nobody поменял, но не помогло.
kerby ★
( 27.09.17 09:44:30 MSK ) автор топика
Ответ на: комментарий от kerby 26.09.17 14:59:15 MSK

systemctl disable openvpn
Автозагрузка не срабатывает.
Ты отключил автозагрузку и спрашиваешь почему она не срабатывает?
lucky_guy ★★★
( 27.09.17 17:56:22 MSK )
Ответ на: комментарий от lucky_guy 27.09.17 17:56:22 MSK

Ты не читаешь, что я написал. Я сделал openvpn enable обратно. Гений
kerby ★
( 27.09.17 23:28:26 MSK ) автор топика
Ответ на: комментарий от TEX 27.09.17 07:20:59 MSK

Разобрался. Нашел абсолютно аналогичную проблему на англоязычном форуме openvpn. Суть проблемы в том, что сервис openvpn запускается и работает, но конфиг не цепляет, пока руками сервис не рестартануть. Или же если автостарт вырублен и делаем после загрузки ОС service openvpn start, то тоже все работает. Дак вот, всему виной строка local с указанием ip сервера. Если ее закомментировать, то автозапуск срабатывает.
Объяснили на том форуме данное явление тем, что на момент старта openvpn, сетевой интерфейс еще не доступен в системе. Получается openvpn читает конфиг, пытается сопоставить интерфейс с адресом в local, который ему нужно слушать. Не может это сделать и игнорирует все оставшиеся строки конфига. Немного бред, но поэтому и логи не пишутся, хотя служба активна. А если тут же рестартануть, то все начинает работать и логи пишутся.
Решение с использованием
systemctl enable openvpn@server
соответственно никак данную ситуацию не изменит. Сервер у меня загружается за 4 секунды. Возможно не успевает получить адрес по dhcp, а уже стартует openvpn.
Далее, для того, чтобы заставить openvpn грузить нужный конфиг при старте в /etc/default/openvpn достаточно раскомментировать autostart и вписать имя конфига.
Изучая init.d и default пришел к заключению, что debian 9 вводит в заблуждение, когда создает папки server и client в /etc/openvpn, так как по всему видно, что пути прописаны четко в /etc/openvpn/ и никакого там разделения на сервер и клиент тупо нет.
1.конфиги сервера лежат в /etc/openvpn/
2.никаких манипуляций с systemctl делать не пришлось. Автозапуск работает штатно, но можно юзать для конкретики /etc/default/openvpn
3. Все работает! Проблема была в сроке local. Тупо закомментил ее.
Вопрос по перенос Open VPN Сервера на другой пк
Как перенести Оpen VPN Сервер на другой пк что бы оставить старые ключи и сертификаты пользователя.
Оpen VPN Сервер стоит на win.
Голосование за лучший ответ
Скопируй каталог конфигурации
evgen11112Мастер (1396) 6 лет назад
СЕРВЕР ЗАПУСКАЮТСЯ А НЕ КТО НЕ МОЖЕТ ПОДКЛЮЧИТСЯ. СОЕДИНЕНИЕ НЕ ПРОХОДИТ.
Видать эмулятор сети как то по другому написан
Иван Сигаев Искусственный Интеллект (147930) Читай логи, на что жалуется
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
Будет ли работать openVPN после переноса сертификатов на др. ПК?
Я подключаюсь к удаленному рабочему столу через openVPN с одного компьютера. Если я перенесу папочку config с сертификатами на др. компьютер, то я смогу подключится к своему рабочему столу ?
- Вопрос задан более трёх лет назад
- 1497 просмотров
Комментировать
Решения вопроса 2

возьмите и попробуйте.
по идее должно работать, но человеческие возможности по созданию самому себе сложностей не знают границ.
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать

50% ответа в правильном вопросе. Остальное мануал.
Конечно сможете. Сертификаты и настроки уникальны для учетной записи, но не устройства. Вы можете использовать их на разных устройствах, но не одновременно т.е. одновременное может быть подключено только одно устройство. Иначе будут глюки и будут вылеты.
Как настроить OpenVPN на Windows Server

3. Нажмите Install. Во время установки система предложит дополнительно установить TAP-драйвер. Не отказывайтесь, снова нажмите Install и дождитесь окончания установки.
С этим всё. Теперь нужно сформировать сертификаты и ключи.
4. Перейдите в C:\Program Files\OpenVPN и создайте папку ssl.
5. В папке C:\Program Files\OpenVPN\easy-rsa создайде файл vars.bat, откройте его на редактирование и приведите к аналогичному виду:
set HOME=%ProgramFiles%\OpenVPN\easy-rsa
set KEY_CONFIG=openssl-1.0.0.cnf
set KEY_DIR=keys
set KEY_SIZE=2048
set KEY_COUNTRY=UA
set KEY_PROVINCE=Kiev
set KEY_CITY=Kiev
set KEY_ORG=Tucha
set KEY_EMAIL=vpntest@tucha.ua
set KEY_CN=TUCHA
set KEY_OU=TUCHA
set KEY_NAME=server.domain.ua
set PKCS11_MODULE_PATH=TUCHA
set PKCS11_PIN=12345678
Значение KEY_CONFIG лучше сверить по названию соответствующего файла в папке easy-rsa, а KEY_NAME – полное имя сервера.
6. Запустите командную строку: Win + R > cmd > OK.
7. Одну за другой запустите в строке такие команды:
После этого система начнёт запрашивать подтверждение данных, которые мы изменили в конфигурационном файле (пункт 5). Подтверждайте их нажатием Enter.
8. Запустите в строке ещё две команды:
Где **** – это имя сертификата.
9. Подтверждайте запросы нажатием Enter.
Система задаст вам два вопроса:
Sign the certificate? [y/n]
1 out of 1 certificate requests certified, commit? [y/n]
На оба ответьте утвердительно: Y.
10. Перенесите содержимое папки C:\Program Files\OpenVPN\easy-rsa\keys в созданную ранее C:\Program Files\OpenVPN\ssl.
Теперь к настройкам сервера.
11. Перейдите в C:\Program Files\OpenVPN\config и создайте файл server.ovpn. Откройте его и приведите к аналогичному виду:
port 443
proto udp
dev tun
dev-node «VPN Server»
dh «C:\\Program Files\\OpenVPN\\ssl\\dh2048.pem»
ca «C:\\Program Files\\OpenVPN\\ssl\\ca.crt»
cert «C:\\Program Files\\OpenVPN\\ssl\\cert.crt»
key «C:\\Program Files\\OpenVPN\\ssl\\cert.key»
server 172.16.10.0 255.255.255.0
max-clients 32
keepalive 10 120
client-to-client
comp-lzo
persist-key
persist-tun
cipher DES-CBC
status «C:\\Program Files\\OpenVPN\\log\\status.log»
log «C:\\Program Files\\OpenVPN\\log\\openvpn.log»
verb 4
mute 20
Значением port укажите любой из свободных сетевых портов, а dev-node – сетевой интерфейс.
12. Откройте управление адаптерами в сетевых подключениях Windows и переименуйте TAP-адаптер в соответствии с dev-node (в нашем случае это «VPN Server»).
13. Откройте службы Windows: Win + R > services.msc > OK.
14. Найдите службу OpenVpnService, откройте её, в поле Sturtup type выберите Automatic и нажмите Start. Готово, VPN-сервер запущен.
Теперь нужно выполнить настройки клиента.
15. Перейдите в C:\Program Files\OpenVPN\easy-rsa\keys и очистите файл index.txt.
16. Запустите командную строку и выполните такие команды:
17. Вернитесь в C:\Program Files\OpenVPN\easy-rsa\keys, скопируйте файлы clients.crt, clients.key, ca.crt, dh2048.pem и перенесите их на клиентскую машину.
18. Установите OpenVPN на клиентском компьютере так же, как это было описано в самом начале инструкции.
19. Перейдите в C:\Program Files\OpenVPN\config на клиентском компьютере и скопируйте туда файлы clients.crt, clients.key, ca.crt, dh2048.pem, которые перенесли с сервера.
20. Откройте Блокнот под администратором и вставьте такую запись:
client
resolv-retry infinite
nobind
remote ******** 443
proto udp
dev tun
comp-lzo
ca ca.crt
cert clients.crt
key clients.key
dh dh2048.pem
float
cipher DES-CBC
keepalive 10 120
persist-key
persist-tun
verb 0
Значением remote укажите IP-адрес сервера и порт (в нашем случае 443).
21. Сохраните этот файл под именем config.ovpn в папке C:\Program Files\OpenVPN\config.
22. Запустите под администратором OpenVPN GUI. Нажмите правой кнопкой мыши на значок OpenVPN в системном трее и выберите Connect. Готово!
В процессе работы вы можете столкнуться с некоторыми распространёнными проблемами, но все они успешно решаются с помощью логов в папке C:\Program Files\OpenVPN\log.
На этом всё. Как видите, ничего сложного, главное – не запутаться в очерёдности шагов. 🙂 Заботьтесь о безопасной работе в интернете и храните свои данные на защищённом сервере. А по всем околооблачным вопросам обращайтесь к нам за консультацией 24/7.
Всего хорошего, друзья, и до связи!