• Настройка OpenVPN

 #10072   IgorA100
 26 фев 2016, 19:56
После установки OpenVPN и rsa-key необходимо настроить ключи и сертификаты как для сервера, так и для клиента.
Перейдем в папку openvpn/easy-rsa и заменим переменные в файле vars на свои:
export EASY_RSA="/etc/openvpn/easy-rsa/" #Путь к easy-rsa.
export KEY_CONFIG="$EASY_RSA/openssl.cnf" #Конфиг OpenSSL
export KEY_DIR="/etc/openvpn/vpnet/keys" #Каталог, в котором будут храниться ключи.
export KEY_SIZE=2048 # Размер ключа
export CA_EXPIRE=3650 # Срок действия CA
export KEY_EXPIRE=3650 # Срок действия ключа
export KEY_COUNTRY="RU" # Двухбуквенный код страны
export KEY_PROVINCE="XX" # Province, не актуально
export KEY_CITY="Town" # Город
export KEY_ORG="Companyname" # Компания
export KEY_EMAIL="qq@ww.ru" # Email

Сохраняем файл vars и выполняем команды:
source ./vars #импортирувем переменные
./clean-all #удаляем старые ключи, если они были
openvpn --genkey --secret ta.key #Секретный ключ для TLS аутентификации
./build-dh #Ключ Диффи-Хеллмана
./pkitool --initca #Certificate Authority для сервера
./pkitool --server УникальноеИмяСервера #Сертификат для сервера
./pkitool УникальноеИмяКлиента1 #Сертификат для клиента

Перенесем сгенеренный ta.key в правильное место:
mv ./ta.key /etc/openvpn/vpnet/keys

Рекомендуется сразу переименовать:
ta.key в ta_УникальноеИмяСервера.key
ca.crt в ca_УникальноеИмяСервера.crt

В *.conf файл сервера вносим изменения:
mode server
tls-server
proto tcp-server
dev tap
port 5555 # Порт
daemon
tls-auth /etc/openvpn/vpnet/keys/ta_УникальноеИмяСервера.key 0
ca /etc/openvpn/vpnet/keys/ca_УникальноеИмяСервера.crt
cert /etc/openvpn/vpnet/keys/УникальноеИмяСервера.crt
key /etc/openvpn/vpnet/keys/УникальноеИмяСервера.key
dh /etc/openvpn/vpnet/keys/dh2048.pem
ifconfig 10.10.0.1 255.255.255.0 # Внутренний IP сервера
ifconfig-pool 10.10.0.2 10.10.0.128 # Пул адресов, выделяемый подключаемым клиентам
push "redirect-gateway def1" # Перенаправлять default gateway на vpn-сервер. Если не нужно - закомментировать.
push "route-gateway 10.10.0.1"
duplicate-cn
verb 3
cipher DES-EDE3-CBC # Тип шифрования.
persist-key
log-append /var/log/openvpn.log # Лог-файл.
persist-tun
comp-lzo

Перезапускаем OpenVPN сервер:
service openvpn stop
service openvpn start

На клиента копируем файлы (ОБЯЗАТЕЛЬНО ЧЕРЕЗ ЗАЩИЩЕННЫЙ КАНАЛ, например используя WinSCP):
ca_УникальноеИмяСервера.crt
УникальноеИмяКлиента1 .crt
УникальноеИмяКлиента1 .key
ta_УникальноеИмяСервера.key


Редактируем клиентский конфиг *.conf:

tls-client
proto tcp-client
remote 212.212.212.212
dev tap
port 5555
cd /etc/openvpn/vpnet
pull
tls-auth /etc/openvpn/vpnet/client_keys/ta_УникальноеИмяСервера.key 1
ca /etc/openvpn/vpnet/client_keys/ca_УникальноеИмяСервера.crt
cert /etc/openvpn/vpnet/client_keys/УникальноеИмяКлиента1 .crt
key /etc/openvpn/vpnet/client_keys/УникальноеИмяКлиента1 .key
cipher DES-EDE3-CBC
log-append /var/log/openvpn.log
comp-lzo

Опции шифрования и компрессии на клиенте и сервере должны совпадать.

На этом генерация ключей и настройка OpenVPN закончена.
 #10540   IgorA100
 04 май 2022, 23:52
Сеть между клиентами:

Есть сервер openvpn(eth1:192.168.0.252, tun: 10.10.40.1) ubuntu server 10.04
Клиент1 openvpn(eth1:192.168.5.252,tun: 10.10.40.45) ubuntu server 10.04
Клиент2 openvpn(eth1:192.168.10.252,tun: 10.10.40.41) ubuntu server 10.04

Вопрос: Как настроить видимость сетей за клиентом1 и клиентом2? т.е 192.168.5.0 и 192.168.10.0

Ответ: В конфиге server.conf указать:
Код: Выделить всёroute 192.168.5.0 255.255.255.0 10.10.40.45
route 192.168.10.0 255.255.255.0 10.10.40.41


Или:
server.conf
Команды route типа таких:
Код: Выделить всёroute 192.168.5.0 255.255.255.0
route 192.168.10.0 255.255.255.0

для клиентских IP быть НЕ должно!
ccd client1
Код: Выделить всёifconfig-push 10.10.40.45 10.10.40.46
iroute 192.168.5.0 255.255.255.0
push "route 192.168.10.0 255.255.255.0"

ccd client2
Код: Выделить всёifconfig-push 10.10.40.41 10.10.40.42
iroute 192.168.10.0 255.255.255.0
push "route 192.168.5.0 255.255.255.0"


Источник: https://forum.ubuntu.ru/index.php?topic=214912.0
 #10557   IgorA100
 16 май 2022, 01:22
Отключаем временно конкретного клиента без отзыва сертификата :
В файле "/etc/openvpn/ccd/_cname_" добавляем одну строчку
Код: Выделить всёdisable.
Клиент теперь не работает.