Перенос 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. Тупо закомментил ее.
Как перенести openvpn на другой компьютер
Появился интерес как перенести OpenVPN на другой Сервер. В интернете я информации не нашел по этому поводу, правда может плохо искал.
Если честно, я думал это будет очень сложно и проблематично, но на самом деле оказалось все очень просто как два пальца . =)
Имеем две машины, OVPN01 и OVPN02
OVPN01 — старый сервер, с которого нужно перенести OpenVPN
OVPN02 — новый сервер, на который нужно перенести OpenVPN
Переходим в каталог /usr/src
//> cd /usr/src
Делаем бэкап основных настроек OpenVPN и ключей и сертификатов
/usr/src/> tar -czvf ovpn_cfg.tar.gz /usr/local/etc/openvpn
Делаем бэкап базы OpenVPN
/usr/src/> tar -czvf ovpn_db.tar.gz /usr/local/share/doc/openvpn/easy-rsa
Получаем два архива с бэкапами OpenVPN
/usr/src/> ls ovpn_db.tar.gz ovpn_cfg.tar.gz /usr/src/>
Устанавливаем OpenVPN
//> cd /usr/ports/security/openvpn /usr/ports/security/openvpn/> make config
+--------------------------------------------------------------------+ | Options for openvpn 2.1.4 | | +----------------------------------------------------------------+ | | | [ ] PW_SAVE Interactive passwords may be read from a file | | | | [ ] PKCS11 Use security/pkcs11-helper | | | | | | | | | | | | | | | | | | | | | | +-+------v(+)------------------------------------------------------+-+ | [ OK ] Cancel | +--------------------------------------------------------------------+
/usr/ports/security/openvpn/> make install clean
Далее с помощью утилиты scp копируем через ssh бэкапы OpenVPN со старого сервера OVPN01 на новый OVPN02.
/usr/src — это каталог с бэкапами который находится на OVPN01.
/usr/home — это каталог куда мы положим бэкапы на OVPN02.
//> scp cancer@192.168.0.xx:/usr/src/ovpn_db.tar.gz /usr/home password:
//> scp cancer@192.168.0.xx:/usr/src/ovpn_cfg.tar.gz /usr/home password:
Получаем два бэкапа OpenVPN с сервера OVPN01.
//> ls /usr/home ovpn_db.tar.gz ovpn_cfg.tar.gz //>
Переходим в директорию с бэкапами и распаковываем их.
//> cd /usr/home /usr/home/> tar -zcvf ovpn_db.tar.gz /usr/home/> tar -zxvf ovpn_cfg.tar.gz
Далее копируем конфигурационные файлы из распакованного архива.
//> mkdir /usr/local/etc/openvpn
//> cp -R /usr/home/usr/local/etc/openvpn/* /usr/local/etc/openvpn
Эти строки могут меняться в зависимости от версии OpenVPN сервера
Тут мы создаем директорию ../keys/server
//> mkdir -p /usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server
Копируем содержимое из архива со старого сервера.
//> cp -R /usr/home/usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server/* \ /usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server
Да и не забудем поправить
//> ee /usr/local/share/doc/openvpn/easy-rsa/2.0/vars
# Меняем export KEY_DIR="$EASY_RSA/keys" на export KEY_DIR="$EASY_RSA/keys/server" # меняем export KEY_SIZE=1024 на 2048 # если вы использовали на старом сервере 2048 битные ключи export KEY_SIZE=2048
Даем скриптам права на исполняемость r-xr—r—
//> chmod 544 /usr/local/share/doc/openvpn/easy-rsa/2.0/*
Создаем директорию /var/log/openvpn/ и 2 файла, где будут храниться логи.
//> mkdir /var/log/openvpn/ //> touch /var/log/openvpn/log,openvpn.log>
Добавляем OpenVPN в автозагрузку системы
//> ee /etc/rc.conf
openvpn_enable="YES" openvpn_if="tun" openvpn_configfile="/usr/local/etc/openvpn/server.conf" openvpn_dir="/usr/local/etc/openvpn"
И запускаем OpenVPN сервер
//> /usr/local/etc/rc.d/openvpn start Starting openvpn. //>
Проверим в процесcах
//> ps axw | grep openvpn
| 2983 ?? Ss 0:00.00 /usr/local/sbin/openvpn —cd /usr/local/etc/openvpn —daemon openvpn —config /usr/local/etc/openvpn/server.conf |
Вот и все — OpenVPN мы перенесли, все старые ключи работают + можно новые генерировать.
размещено: 2011-03-28,
последнее обновление: 2011-04-01,
автор: Cancer
Комментарии пользователей [5 шт.]
alik, 2011-09-25 в 16:02:47
Молодец!
Как раз этим я и займусь, статья как раз вовремя.
idShura, 2011-10-17 в 10:43:01
А если старый сервер под Windows а новый на FreeBSD? данная схема подойдет?
Александр, 2012-01-10 в 22:18:23
Умоляю, не генерируйте вы ключи на машине, которая является сервером openvpn. Создайте шифрованный раздел на флешке и храните её в сейфе 🙂
И бекап не забывайте делать.
Cancer, 2012-01-10 в 23:39:26
Александр вы о чем ?
ttys, 2013-04-23 в 13:29:39
наверное о каталоге /usr/local/share/doc/openvpn/easy-rsa/2.0 со всеми потрахами
т.к. для работы он в принципе не нужен и где происходит процесс создания ключей тоже не важно
главное вот эти ключи перенести /usr/local/etc/openvpn/keys
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов. 2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
| ||||||||
Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.038 секунд. Запросов: 25.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Будет ли работать openVPN после переноса сертификатов на др. ПК?
Я подключаюсь к удаленному рабочему столу через openVPN с одного компьютера. Если я перенесу папочку config с сертификатами на др. компьютер, то я смогу подключится к своему рабочему столу ?
- Вопрос задан более трёх лет назад
- 1470 просмотров
Комментировать
Решения вопроса 2

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

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