Openvpn+FreeBSD навеяно вечными траблами

Обсуждаем сайт и форум.

Модератор: f0s

mak_v_
проходил мимо

Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение mak_v_ » 2007-11-11 19:04:11

Навеяно помощью вот тут http://forum.lissyara.su/viewtopic.php?f=8&t=5708
Чтож, об том как это реализовать и будет описано в этой статье. В частности будет так же расмотренна установка Опенвп-сервера и Виндовз-клиентов для доступа к локальной сети за опенвпн сервером

1.Устанавливаем и конфигурируем OpenVPN
как принято во ХОРОШЕЙ ОС - ставим всё из портов
#cd /usr/ports/security/openvpn
#make
#make install
Всё необходимое поставлено, переходим к конфигурированию
Необходимо создать сертефикаты и ключи
Заходим в папку с исходниками OpenVPN и в ней:
# cd /usr/local/share/doc/openvpn/easy-rsa/
#ee ./vars (в этом файлике внизу изменяете данные для подписи ключей под себя)
Лично я оставил все параметры дефолтовыми, кроме директории куда складывать сгенерированное "добро" - изменил в этом файле строку
export KEY_DIR=$D/keys
на
export KEY_DIR=$D/keys/server
соответственно создав такую же дирректорию
/usr/local/share/doc/openvpn/easy-rsa/keys/server
Собственно создаём "ДОБРО" - сертификаты и ключи
#cd /usr/local/share/doc/openvpn/easy-rsa/
/Внимание! Если у вас по умолчанию не баш , то перед следующими операциями нужно набрать в консоли "sh", для "100-%-ного" результата всё же наверняка сделайте это/
#sh
#. ./vars (загружаем переменные в оболочку)
#./clean-all (отчищаем от старых сертификатов и ключей папку keys/server и создаем серийный и индексные файлы для новых ключей)
#./build-ca (Создаем Certificate Authority для сервера)
При создании сертификата вводим необходимую инф-цию (настоятельно рекомендую делать как тут, а потом уже разбиратся что к чему - большинство проблемм связанно именно с именами при конфигурировании имено на первом этапе)
Привожу листинг с консоли

Generating a 1024 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) [UA]:UA - Страна
State or Province Name (full name) [Chernigov]:Kiev - Провинция
Locality Name (eg, city) [Chernigov]:Kiev - Город
Organization Name (eg, company) [40-setka]:server - Название компании(!)
Organizational Unit Name (eg, section) []:server - -Отделение компании
Common Name (eg, your name or your server's hostname) []:server - ВОТ ТУТ ВНИМАТЕЛЬНО - ЭТО ИМЯ МАЩИНЫ ДЛЯ КОТОРОЙ ГЕНЕРИРУЕМ СЕРТИФИКАТ (имя не в полном смысле -имя как идентификатор)
Email Address [root@localhost]: - Почт адрес

При попытке создать сертификат - была ругня на отсутствующие файлы index.txt и serial в /usr/local/share/doc/openvpn/easy-rsa/keys/server - создаём файлы (с содержимым)
#echo "00">/usr/local/share/doc/openvpn/easy-rsa/keys/server/serial
#echo "">/usr/local/share/doc/openvpn/easy-rsa/keys/server/index.txt
#./build-key-server server(Создаем сертификат X.509 для сервера)
Всё так-же заполняем(точно так же) + cтроки в котрых указываем пароль и имя организации (!)
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456789 - пароль
An optional company name []:server - название организации (как и в создании корневого сертификата)

./build-key client
Создаём ключ для клиента
Generating a 1024 bit RSA private key
.........++++++
.......++++++
writing new private key to 'client.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) [UA]:UA
State or Province Name (full name) [Chernigov]:Kiev
Locality Name (eg, city) [Chernigov]:Kiev
Organization Name (eg, company) [40-setka]:server
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) []:client
Email Address [root@localhost]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456789
An optional company name []:client

Будьте внимательны при заполнени данных сертификатов, поле Common Name обязательно к заполнению, причем для сервера оно должно быть одно, а для клиента другое. Например в поле Common Name при генерации сертификата X.509 для сервера можно написать server, а для клиента соотвественно client

Создаем ключ Диффи Хельман(о нем можно почитать здесь: http://www.rsasecurity.com/rsalabs/node.asp?id=2248)
# ./build-dh
Теперь выходим из sh написав команду "exit"
И в конце создаем ключ для tls-аутификации
# openvpn --genkey --secret keys/ta.key

После всех этих манипуляций в папке keys получается много файлов:

ca.crt - Главный CA сертификат, этот файл нужен и клиенту и серверу
dh1024.pem - ключ Диффи Хельман, этот файл нужен только серверу
server.crt - Сертификат сервера, нужен только серверу
server.key - Ключ сервера, нужен только серверу (СЕКРЕТНЫЙ файл)
client.crt - Сертификат клиента, нужен только клиенту
client.key - Ключ клиента, нужен только клиенту (СЕКРЕТНЫЙ файл)
ta.key - TLS-ключ, нужен и клиенту и серверу
Следовально серверу достаются файлы ca.crt, dh1024.pem, server.crt, server.key, ta.key, а клиентуca.crt, dh1024.pem,client.crt, client.key, ta.key
Самое сложное позади :-)
2Настраиваем сервер

создаём директорию /usr/local/etc/openvpn и /usr/local/etc/openvpn/keys
rак же для удобства скопируем туда все ключи(ca.crt, dh1024.pem, server.crt, server.key, ta.key).
Создаем конфигурационный файл openvpn.conf следующего содержимого:

port 2000 #порт на котором работает сервер
proto udp # протокол - советую udp
dev tun0 # - используемый тип устройства и номер
ca /usr/local/etc/openvpn/keys/ca.crt #указываем файл CA
cert /usr/local/etc/openvpn/keys/server.crt #указываем файл с сертификатом сервера
key /usr/local/etc/openvpn/keys/server.key #указываем файл с ключем сервера
dh /usr/local/etc/openvpn/keys/dh1024.pem #указываем файл Диффи Хельман
server 10.10.200.0 255.255.255.0 #задаем IP-адрес сервера и маску подсети виртуальной сети
push "route 192.168.1.0 255.255.255.0" #задаем МАРШРУТ который передаём клиентту и маску подсети для того чтобы он "видел" сеть за опенвпн сервером (сеть 192.168.1.0/24)

client-config-dir ccd #указываем где хранятся файлы с настройками IPадресов клиентов
route 10.10.200.0 255.255.255.252 #добавляем маршрут сервер-клиент
tls-server #включаем TLS аутификацию
tls-auth keys/ta.key 0 #указываем tls-ключ, и указываем 0 для сервера, а 1 для клиента
tls-timeout 120 #таймаут до реконекта
auth MD5 #
cipher BF-CBC #включаем шифрацию пакетов

keepalive 10 120
comp-lzo #сжатие трафика
max-clients 100 #максимум клиентов
user nobody
group nobody
persist-key #Не перечитывать ключи после получения SIGUSR1 или ping-restart
persist-tun #Не закрывать и переоткрывать TUN\TAP устройство, после получения SIGUSR1 или ping-restart
status /var/log/openvpn/openvpn-status.log #логгирование (не забудьте создать эту дирректорию /var/log/openvpn/)
log /var/log/openvpn/openvpn.log
verb 3 #Уровень информации для отладки

В дирректории /usr/local/etc/openvpn/ccd создаем файл следующего содержания
#echo "ifconfig-push 10.10.200.2 10.10.200.1">/usr/local/etc/openvpn/ccd/client.conf

сервер готов
для автостарта при загрузке -внесём в /etc/rc.conf
openvpn_enable="YES" # YES or NO
openvpn_if="tun" # driver(s) to load, set to "tun", "tap" or "tun tap"
openvpn_configfile="/usr/local/etc/openvpn/server.conf" # --config file
openvpn_dir="/usr/local/etc/openvpn" # --cd directory

3 Настраиваем клиент под Windows
качаем клиента для виндозы отсюда http://openvpn.se/files/install_packages/ или из другого места
Создадим конфигурационный файл openvpn.ovpn в папке config (Например C:\Program Files\OpenVPN\config). И скопируем туда же все необходимые ключи для работы (ca.crt, dh1024.pem, client.crt, client.key, ta.key).

Содержимое файла openvpn.ovpn
dev tun
proto udp
remote #(реальный айпи вашего сервера)
port 2000 #(порт к которому устанавливать соединение
client
resolv-retry infinite
ca ca.crt
cert client.crt
key client.key
tls-client
tls-auth ta.key 1
auth MD5
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
verb 3

вот и всё - конфиг взят с рабочего сервера + положен человеку у которого всё работет http://forum.lissyara.su/viewtopic.php? ... &sk=t&sd=a

НЬЮАНС!
В /usr/local/etc/openvpn/ccd при создании файла с настройками для клиента помните:
ifconfig-push 10.10.200.2 10.10.200.1
этой сторокой организовуем езернет-тун с сеткой 10.10.200.0, 2-мя тачками с айпишнегами 10.10.200.2 и 10.10.200.1 и бродкастом 10.10.200.3
соответственно при создании 2-го, 3-го и т.д. клиента - строка должна принимать вид
ifconfig-push 10.10.200.6 10.10.200.5
ifconfig-push 10.10.200.10 10.10.200.9
и т.д

Если допустил ошибки - просите Лиса подправлять

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение Alex Keda » 2007-11-11 19:18:06

а в статью оформить - слабо?
Убей их всех! Бог потом рассортирует...

mak_v_
проходил мимо

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение mak_v_ » 2007-11-11 19:50:25

вроде как оформлено, можт оч.красиво, но помоему доступно - оформлял как статью

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение Alex Keda » 2007-11-11 22:40:18

да я имел в виду на сайт.
============
если см не хочешь - скажи, проверить правда негде - винды у меня нет - выложу.
Убей их всех! Бог потом рассортирует...


mak_v_
проходил мимо

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение mak_v_ » 2007-11-11 23:38:34

статеюко-то оформлено лежить - токмо либо я так туплю, либо ув.Лис у ВАС сильно намучено - помагайте опубликовать её на сайт - дороботал и оформил

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение Alex Keda » 2007-11-11 23:56:17

Код: Выделить всё

Если допустил ошибки - просите Лиса подправлять
убери в конце.
Вообще - всё нормально, но есть обычная проблема для первой статьи - всё что внури тегов code - автоматом не пеерноситься - т.е. оставлено на усмотрение автора - что пренести и где.
поэтому надо камменты и прочее сделать с переносами.
Советую ориаентироваться на голую консоль - там тоже переностов нет, и когда попадается такой код в одну строку - много мату бывает :)
Убей их всех! Бог потом рассортирует...

mak_v_
проходил мимо

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение mak_v_ » 2007-11-12 0:08:33

прости, про "обращения" - изменил, про переносы - вряд-ли (600*480 у мну сейчас) - НЕ СОЧТИТЕ ЗА НАГЛОСТЬ, подправьте

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение Alex Keda » 2007-11-12 8:58:25

ну так и подправил бы чтоб средняя колонка ровно в твой моник влезала...
===========
где ж ты такой агрегат нашёл, с таким разрешением...
Убей их всех! Бог потом рассортирует...

mak_v_
проходил мимо

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение mak_v_ » 2007-11-12 10:15:36

Ув.Лис, чес.слово, немогу более красиво сделать (из-за объективных причин) + не могу опубликовать.
Если статья подходит - опубликуйте плз, если нет - умываю руки...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение Alex Keda » 2007-11-12 11:24:18

да ты не волнуйся так, вечером сделаю - как время будет.
========
мне больше интересно - откуда у тя работающий агрегат на 640x480...
я таких лет 5 уже не видел...
Убей их всех! Бог потом рассортирует...

mak_v_
проходил мимо

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение mak_v_ » 2007-11-12 13:39:18

ыыыы, агрегат, то мало сказано..... ща вдали от дома
кстати могу фоту выложить,

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение Alex Keda » 2007-11-12 13:48:06

выложи.
понастальгирую :)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
serge
майор
Сообщения: 2132
Зарегистрирован: 2006-07-30 15:34:14
Откуда: Саратов
Контактная информация:

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение serge » 2007-11-12 14:43:33

:D
Кончился вчера инет у меня, пока дел небыло, решил перевести конфиг OpenVPN сервера и клиента (давно хотелось разобраться в этом). А седня захожу на форум... а тут уж статья готовая.
Но чтоб добру не пропадать, мож перевод конфигов приложить к статье... или отдельно в доки выложить?
Кста, а какая версия OpenVPN сервера и клиента? Или конфиги от версий не меняются?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение Alex Keda » 2007-11-12 15:04:27

давай одельно в документацию...
Убей их всех! Бог потом рассортирует...

mak_v_
проходил мимо

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение mak_v_ » 2007-11-14 10:28:41

Подправил Стотью, однаго не наблюдаю её в "Выложенном" виде
работа сделана зазря? :?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение Alex Keda » 2007-11-14 10:31:27

я старый больной человек :)
чтобы что-то вспомнил - надо меня пинать, лучше ечером.
ща поправлю, потому как то что щас есть - выкладывать нельзя :)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35271
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Openvpn+FreeBSD навеяно вечными траблами

Непрочитанное сообщение Alex Keda » 2007-11-14 11:00:50

поправи л, разместил.
сходи, посмотри, и расскажи, что из сделанного не мог сделать ты?
Убей их всех! Бог потом рассортирует...