Установка OpenVPN сервера в Ubuntu 18
Материал из m6a
								Версия от 09:11, 21 ноября 2018; Vshpagin (обсуждение | вклад)
- Установка сервера
 
- Обновим систему
 
apt-get -y update && apt-get -y upgrade
- Установим необходимые пакеты
 
apt-get -y install openvpn easy-rsa
- Перейдем к настройкам
 
cd /etc/openvpn/
- Создадим каталог сертификации
 
make-cadir certificates && cd certificates
- Установим переменные
 
vi vars export KEY_CONFIG="$EASY_RSA/openssl-1.0.0.cnf" export KEY_COUNTRY="RU" export KEY_PROVINCE="MOS" export KEY_CITY="MOSCOW" export KEY_ORG="Company" export KEY_EMAIL="vpn@company.ru" export KEY_OU="IT"
- Загрузим переменные
 
source ./vars
- Создадим центральный сертификат
 
./clean-all && ./build-ca
- Создадим сертификат сервера
 
./build-key-server server
- Создадим параметры Диффи-Хеллмана
 
./build-dh
- Создадим общий секретный ключ
 
openvpn --genkey --secret keys/ta.key
- Скопируем ключи и сертификаты в каталог настроек
 
 cp keys/{server.crt,server.key,ca.crt,dh2048.pem,ta.key} /etc/openvpn
- Создадим файл настроект сервера
 
vi /etc/openvpn/server.conf mode server tls-server port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key # This file should be kept secret dh dh2048.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist /var/log/openvpn/ipp.txt server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100 push "route 192.168.1.0 255.255.255.0" keepalive 10 120 tls-auth ta.key 0 # This file is secret cipher AES-256-CBC
- Запустим сервер OpenVPN
 
systemctl start openvpn@server
- Проверим статус сервера OpenVPN
 
systemctl status openvpn@server
- Откроем порты для сервера OpenVPN
 
ufw allow openvpn
- Настроим маскарадинг для сервера OpenVPN
 
vi /etc/ufw/before.rules -A POSTROUTING -s 10.8.0.0/8 -o eth1 -j MASQUERADE
- Применим настройки сетевого экрана
 
ufw reload
- Создадим сертификат клиента
 
cd /etc/openvpn/certificates/ && source vars && ./build-key client
- Получим центральный сертификат
 
cat ca.crt
- Получим сертификат клиента
 
cat certificates/keys/client.crt
- Получим ключ клиента
 
cat certificates/keys/client.key
- Получим общий секретный ключ
 
cat certificates/keys/ta.key
- Создадим файл настроект клиента
 
client tls-client proto udp dev tun <ca> [центральный сертификат] </ca> <cert> [сертификат клиента] </cert> <key> [ключ клиента] </key> key-direction 1 <tls-auth> [общий секретный ключ] </tls-auth> remote vpn.company.ru 1194 cipher AES-256-CBC verb 2 mute 20 keepalive 10 120 persist-key persist-tun float resolv-retry infinite nobind route 192.168.1.0 255.255.255.0