LINUX.ORG.RU
решено ФорумAdmin

Перенос OpenVPN сервера с сертификатами.

 ,


0

1

Доброго дня! Есть работающий 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 (всего исправлений: 2)
Ответ на: что в syslog ? от anonymous

Starting Openvpn service Started Openvpn service

kerby
() автор топика
Ответ на: комментарий от TEX

чет пока не прокатило. Ругается при старте что не может найти файл конфигурации. А если я делаю,

openvpn --config /etc/openvpn/server/server.conf
то сервис стартует, но но inactive и в логах: запуск, запущен, остановлен.

kerby
() автор топика
Ответ на: комментарий от kerby

Ругается при старте что не может найти файл конфигурации

systemctl enable openvpn@server

ищет server.conf в /etc/openvpn/ а не в /etc/openvpn/server/

TEX ★★★
()
Ответ на: комментарий от TEX

Да, я уже это понял. Поковырял пути. Конфиг цепляется. Логи пишутся. Нашел ошибку подгрузки плагина. Разбираюсь.

kerby
() автор топика
Ответ на: комментарий от TEX

Ну вроде разобрался, но есть небольшой косяк.

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
() автор топика
Ответ на: комментарий от kerby

сделать пару других юзеров; по мне это Очевидный ход.

anonymous
()
Ответ на: комментарий от kerby

Автозагрузка не срабатывает.

Что то мне кажется, что последней командой ты её вырубил.

Посмотри что со статусами у тебя в

systemctl | grep openvpn

TEX ★★★
()
Ответ на: комментарий от TEX

grep говорит, что openvpn@server.service loaded failed. А вручную стартует. Остальные сервисы active. Сделал enable openvpn обратно. Ничего не изменилось.

kerby
() автор топика
Ответ на: комментарий от TEX

Мэй би что-то с правами? У меня кстати внешние скрипты от nobody не запускались изначально. В конфиге прописывал user root. На nobody поменял, но не помогло.

kerby
() автор топика
Ответ на: комментарий от lucky_guy

Ты не читаешь, что я написал. Я сделал openvpn enable обратно. Гений 😃

kerby
() автор топика
Ответ на: комментарий от TEX

Разобрался. Нашел абсолютно аналогичную проблему на англоязычном форуме 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. Тупо закомментил ее.

Всем спасибо!

kerby
() автор топика
Ответ на: комментарий от lucky_guy

P.S. я конечно не профи, но перед тем как в консоли вводить что-то и жать enter, разбираюсь, что данная команда делает. Да, я понимал, что отрубаю автозапуск openvpn, но не запуск openvpn@server. Почитав из разных источников, я так понял, что для старта сервиса openvpn@server, не нужен старт предварительно openvpn. Так как openvpn@server.service - это ни что иное как старт openvpn c указанием имени конфига. Да, была ошибка при старте сервиса таким образом, но ,как оказалось, не связанная с тем, что я дисаблил openvpn. Думаю, что зерно здравого смысла в моих действиях присутствовало. Очень не люблю «тыкать» людям, особенно тем, с кем даже не знаком. Стараюсь уважать. Я не говорю, что жду от кого-то такого отношения к себе. Но капля внимательности не помешала бы перед тем как тыкать меня в косяк, который вовсе косяком и не является по сути дела. Но все равно, спасибо за оказанное содействие=)

kerby
() автор топика
Ответ на: комментарий от lucky_guy

немножко. вчера. 😃 сегодня все починил и отпустило😃

kerby
() автор топика
Ответ на: комментарий от kerby

Вообще по идее можно через настройки systemd указать зависимость openvpn от сетевого адаптера, тогда он будет стартовать после того, как поднимется сеть. Я не скажу как, но можешь поискать по этой теме или может местные гуру systemd помогут.

Legioner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.