# Установка пакетов
Код:
apt install openvpn easy-rsa bridge-utils
# Настройка центра сертификации
# скопируем в эту папку все необходимые скрипты easy-rsa
Код:
mkdir /etc/openvpn/easy-rsa
Код:
cp -R /usr/share/easy-rsa /etc/openvpn/
Код:
cd /etc/openvpn/easy-rsa/
# команда создаст папку pki и и необходимые файлы для генерации сертификатов
Код:
./easyrsa init-pki
# команда создаёт ключ центра сертификации
Код:
./easyrsa build-ca
# надо создать ключи Диффи-Хафмана
Код:
./easyrsa gen-dh
# Если вы хотите использовать TLS авторизацию
Код:
openvpn --genkey secret /etc/openvpn/easy-rsa/pki/ta.key
# Для отзыва уже подписанных сертификатов нам понадобится сертификат отзыва
Код:
./easyrsa gen-crl
# Для создания сертификатов, которые будут использоваться сервером
Код:
./easyrsa build-server-full server nopass
# все полученные ключи надо скопировать
Код:
cp ./pki/ca.crt /etc/openvpn/server/ca.crt
Код:
cp ./pki/dh.pem /etc/openvpn/server/dh.pem
Код:
cp ./pki/crl.pem /etc/openvpn/server/crl.pem
Код:
cp ./pki/ta.key /etc/openvpn/server/ta.key
Код:
cp ./pki/issued/server.crt /etc/openvpn/server/server.crt
Код:
cp ./pki/private/server.key /etc/openvpn/server/server.key
Далее - править конфиг 
vim /etc/openvpn/server.conf
Код:
sndbuf 0
rcvbuf 0
push "sndbuf 524288"
push "rcvbuf 524288"
tun-mtu 1500
local { ip адрес ВНЕШНЕГО интерфейса }
port 1194
proto udp
dev tap0
script-security 2
up "/etc/openvpn/up.sh br0 tap0 1500"
down "/etc/openvpn/down.sh br0 tap0"
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
key /etc/openvpn/server/server.key
dh /etc/openvpn/server/dh.pem
ifconfig-pool-persist ipp.txt
server-bridge 192.168.12.1 255.255.255.0 192.168.12.100 192.168.12.253
push "route 192.168.12.0 255.255.255.0"
client-to-client
keepalive 10 120
tls-auth /etc/openvpn/server/ta.key 1 # This file is secret
key-direction 0
cipher AES-128-CBC # AES
comp-lzo
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log
verb 3
Так как Я использую вид тоннеля TAP(подключаемые компьютеры оказываюся как бы во внутренней сети LAN c адресами сети предприятия), то надо подправить сетевые настройки - bridge поднять и небольшие скрипты прописать.
Код:
vim /etc/network/interfaces
Код:
auto br0
iface br0 inet static
address 192.168.12.1
netmask 255.255.255.0
bridge_ports enp3s2
auto enp3s2
iface enp3s2 inet static
address 0.0.0.0
netmask 0.0.0.0
iface enp3s2 inet manual
up ip link set $IFACE up promisc on
down ip link set $IFACE down promisc off
Где
enp3s2 - это интерфейс смотрящий во внутреннюю сеть
И не забудьте подправить FireWall
скрипт up.sh Код:
#!/bin/sh
BR=$1
DEV=$2
MTU=$3
/sbin/ip link set "$DEV" up promisc on mtu "$MTU"
/sbin/brctl addif $BR $DEV
скрипт down.shКод:
#!/bin/sh
BR=$1
DEV=$2
/sbin/brctl delif $BR $DEV
/sbin/ip link set "$DEV" down
Не забываем делать их исполняемыми:
Код:
chmod +x up.sh
Код:
chmod +x down.sh
Далее перезагружаем комп
Код:
reboot
Смотрим, чтоб поднялся сетевой мост, запустился openvpn . Если что коряво - смотрим логи
Далее генерируем первого пользователя с именем "TEST": Код:
cd /etc/openvpn/easy-rsa/
Код:
./easyrsa build-client-full test nopass
Потом находим файлы :
Код:
ca.crt
client.ovpn
ta.key
test.crt
test.key
Их надо передать пользователю, после установки
OpenVPN на его компе, скопировав это всё в папочку
conf в папке opnvpn
файл client.ovpnКод:
## Редактировать только эти строчки !!!!!!
# вписать имя сертификата
cert {имя сгенерированного сертификата-по инструкции "TEST"}.crt
key {имя сгенерированного сертификата-по инструкции "TEST"}.key
remote {ip адрес Вашего сервера OpenVPN} 1194
#### Далее не трогать !
##################################################
client
dev tap
proto udp
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
remote-cert-tls server
tls-auth ta.key 1
auth-nocache
cipher AES-128-CBC
comp-lzo
verb 4
mute 20
_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
