Апр 022014
 

OpenVPN очень удобное и мощное построения для шифрованных сетей. Много где его применял и применяю, но как то не писал про его настройку.
В данный момент появилась острая необходимость пробросить на один сервер впн, этим и займемся.
Имеем свежеустановленную систему

 uname -a
FreeBSD slik.loc 9.2-RELEASE FreeBSD 9.2-RELEASE #1: Tue Feb 18 12:08:12 EET 2014     slik@slik.loc:/usr/obj/usr/src/sys/SLIK  i386

Приступаем к установке openvpn

cd /usr/ports/security/openvpn/ && make install clean

После установки OpenVPN приступаем к конфигурации.

cd /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
# (увеличим размер ключей с 1024 бит до 2048 бит)
export KEY_SIZE=2048

Немного поправим права на скрипты.

chmod 544 *

Создадим директорию для хранения ключей и сертификатов

mkdir -p keys/server

Запускаем shell

#sh
#. ./vars

Нам сказали что необходимо все почистить в папке server, что мы и делаем.
Один очень важный момент, команда ./clean-all удаляет все ранее созданные ключи и сертификаты, будьте осторожны!

./clean-all

Приступаем к созданию сертификата. Очень важный момент все правильно заполнять, так как часто возникают ошибки при невнимательности.
Вот мой листинг с консоли при создании сертификата.

# ./build-ca
Generating a 2048 bit RSA private key
......................................................................................+++
....................+++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:UA
State or Province Name (full name) [CA]:Kyiv
Locality Name (eg, city) [SanFrancisco]:Kyiv
Organization Name (eg, company) [Fort-Funston]:server
Organizational Unit Name (eg, section) [changeme]:server
Common Name (eg, your name or your server's hostname) [changeme]:server
Name [changeme]:
Email Address [mail@host.domain]:admin@slik45.kiev.ua
#

Continue reading »

Июл 012011
 

Давно ничего не писал.
Вот собственно стала такая задача у меня.
Есть сервер на FreeBSD c установленным OpenVPN сервером, понадобилось поставить на другом сервере с FreeBSD поставить клиента, и настроить между ними прямой линк между разными интернет провайдерами.

Приступаем к работе.

cd /usr/ports/security/openvpn/ && make install clean

Все оставляем по умолчанию и ждем пока заинсталится OpenVPN
Далее делаем следующее

mkdir /usr/local/etc/openvpn
mkdir /usr/local/etc/openvpn/keys

Далее создаем конфиг такого вида

dev tun
proto tcp
# IP сервера
remote 1.1.1.1
#Port на котором работает сервер, у меня он отличается от стандартного
port 1194
client
client
resolv-retry infinite
ca keys/ca.crt
cert keys/cert.crt
key keys/key.key
tls-client
tls-auth keys/ta.key 1
auth MD5
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
verb 3
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3

Continue reading »