Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> Security —> Перенос OpenVPN сервера

Перенос OpenVPN сервера

Автор: Cancer.


Появился интерес как перенести OpenVPN на другой Сервер. В интернете я информации не нашел по этому поводу, правда может плохо искал.
Если честно, я думал это будет очень сложно и проблематично, но на самом деле оказалось все очень просто как два пальца ...=)

Имеем две машины, OVPN01 и OVPN02
OVPN01 - старый сервер, с которого нужно перенести OpenVPN
OVPN02 - новый сервер, на который нужно перенести OpenVPN




OVPN01

Переходим в каталог /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/>





OVPN02

Устанавливаем 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/{openvpn-status.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


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



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0507 секунд
Из них PHP: 23%; SQL: 77%; Число SQL-запросов: 86 шт.
Исходный размер: 26720; Сжатая: 5865