Відмінності між версіями «OpenVPN»

Матеріал з Wiki Welard
Перейти до навігації Перейти до пошуку
Рядок 1: Рядок 1:
 
[http://openmaniak.com/ru/openvpn_tutorial.php Установка OPENVPN]  
 
[http://openmaniak.com/ru/openvpn_tutorial.php Установка OPENVPN]  
 +
[https://www.golinuxcloud.com/renew-ssl-tls-server-certificate-openssl/ Renew SSL/TLS certificate OpenSSL [Step-by-Step]]
  
 
== Настройка OpenVPN  ==
 
== Настройка OpenVPN  ==
Рядок 27: Рядок 28:
  
 
Налаштування /etc/openvpn/server.conf  
 
Налаштування /etc/openvpn/server.conf  
−
<pre>port 1194
+
<pre>
 +
local  <ip.ip.ip.ip>
 +
port <port> # 1194
 +
user openvpn
 +
group openvpn
 
proto udp
 
proto udp
 
dev tun
 
dev tun
−
ca      /etc/openvpn/easy-rsa/pki/ca.crt
+
tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0 # тут 0 - це key-direction, у клієнта і сервера key-direction мають відрізнятися
−
cert    /etc/openvpn/easy-rsa/pki/issued/<server-name>.crt
+
opt-verify
−
key     /etc/openvpn/easy-rsa/pki/private/<server-name>.key # This file should be kept secret
+
cipher AES-256-GCM
−
dh      /etc/openvpn/easy-rsa/pki/dh.pem
+
keepalive 10 120
−
 
 
−
server 172.16.51.0 255.255.255.0
 
−
 
 
−
ifconfig-pool-persist ipp.txt
 
−
;push "route 192.168.10.0 255.255.255.0"
 
−
;push "route 192.168.20.0 255.255.255.0"
 
−
 
 
−
 
 
−
# щоб не було фрагментації ip пакетів.
 
 
tun-mtu 1500
 
tun-mtu 1500
 
fragment 1300
 
fragment 1300
 
mssfix
 
mssfix
−
# але цей режим не сумісний із смартфонами, для смартфонів просто mssfix 1300
 
−
 
−
keepalive 10 120
 
−
 
−
comp-lzo
 
−
;max-clients 100
 
−
 
−
;user nobody
 
−
;group nobody
 
−
 
 
persist-key
 
persist-key
 
persist-tun
 
persist-tun
 +
#push "redirect-gateway def1"
 +
topology net30
 +
route 192.168.10.0 255.255.255.0
  
−
status openvpn-status.log
+
ifconfig-pool-persist ipp.txt
−
 
+
log /var/log/openvpn.log
−
;log         openvpn.log
+
status /var/log/openvpn-status.log
−
;log-append  openvpn.log
+
verb 4
−
 
+
server 192.168.0.0 255.255.255.0
−
verb 3
 
  
 +
push "route 192.168.10.0 255.255.255.0"
 +
push "dhcp-option DNS 192.168.10.1"
 +
push "dhcp-option DNS 8.8.8.8"
 +
push "dhcp-option DOMAIN example.com"
 +
push "block-outside-dns"
 
</pre>
 
</pre>
  
Рядок 73: Рядок 66:
 
dev tun
 
dev tun
 
proto udp
 
proto udp
−
#proto tcp-client
+
remote <ip.ip.ip.ip> <port> # 1194
−
#Change my.publicdomain.com to your public domain or IP address
 
−
remote 192.168.0.200 1194
 
−
resolv-retry infinite
 
 
nobind
 
nobind
−
persist-key
+
cipher AES-256-GCM
−
persist-tun
+
tun-mtu 1500
−
 
+
fragment 1300
−
ca ca2.crt
+
mssfix
−
cert user.crt
+
auth-nocache
−
key user.key
+
ca ca.crt # або вставка текстом <ca></ca>
−
ns-cert-type server
+
cert user.crt # або вставка текстом <cert></cert>
−
 
+
key user.key # або вставка текстом <key></key>
−
#DNS Options here, CHANGE THESE !!
+
tls-auth ta.key 1 # або вставка текстом <tls-auth></tls-auth> key-direction 1  у клієнта і сервера key-direction мають відрізнятися
−
#push "dhcp-option DNS 123.123.123.123"
+
remote-cert-tls server
−
#push "dhcp-option DNS 123.123.123.124"
+
route-method ipapi
−
comp-lzo
+
route-delay 2
−
tun-mtu      1500
+
verb 4
−
mssfix        1450
+
mute 20
−
fragment      1400
+
#log /var/log/openvpn.log
−
verb 3
+
#status /var/log/openvpn-status.log
 
</pre>
 
</pre>
  

Версія за 20:22, 19 серпня 2022

Установка OPENVPN Renew SSL/TLS certificate OpenSSL [Step-by-Step]

Настройка OpenVPN

yum install openvpn
cd /etc/openvpn/

очищуєемо або ініціалізуємо каталог з ключами

./easyrsa init-pki

створюємо ca.key та ca.crt

./easyrsa build-ca

Будуємо сертифікат

./easyrsa build-ca
./easyrsa gen-dh

Будуємо ключ для сервера

./easyrsa gen-req <server-name> nopass
./easyrsa sign-req server <server-name>
створюємо ta.key

openvpn --genkey --secret pki/ta.key

Будуємо ключ для клієнтів (на кожного клієнта по одному)

./easyrsa gen-req <client> nopass

Налаштування /etc/openvpn/server.conf

local  <ip.ip.ip.ip>
port <port> # 1194
user openvpn
group openvpn
proto udp
dev tun
tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0 # тут 0 - це key-direction, у клієнта і сервера key-direction мають відрізнятися
opt-verify
cipher AES-256-GCM
keepalive 10 120
tun-mtu 1500
fragment 1300
mssfix
persist-key
persist-tun
#push "redirect-gateway def1"
topology net30
route 192.168.10.0 255.255.255.0

ifconfig-pool-persist ipp.txt
log /var/log/openvpn.log
status /var/log/openvpn-status.log
verb 4
server 192.168.0.0 255.255.255.0

push "route 192.168.10.0 255.255.255.0"
push "dhcp-option DNS 192.168.10.1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DOMAIN example.com"
push "block-outside-dns"

Налаштування клієнта

client
dev tun
proto udp
remote <ip.ip.ip.ip> <port> # 1194
nobind
cipher AES-256-GCM
tun-mtu 1500
fragment 1300
mssfix
auth-nocache
ca ca.crt # або вставка текстом <ca></ca>
cert user.crt # або вставка текстом <cert></cert>
key user.key # або вставка текстом <key></key>
tls-auth ta.key 1 # або вставка текстом <tls-auth></tls-auth> key-direction 1  у клієнта і сервера key-direction мають відрізнятися
remote-cert-tls server
route-method ipapi
route-delay 2
verb 4
mute 20
#log /var/log/openvpn.log
#status /var/log/openvpn-status.log

Заборонити клієнту доступ до сервера

revoke-full <ім'я клієнта>
cp keys/crl.pem /etc/openvpn/

якщо треба зв'язати наприклад філіали, то у конфіг серверу треба добавити стрічки

client-config-dir /etc/openvpn/ccd
client-to-client  #для того щоб клієнти бачили один одного

і у каталозі /etc/openvpn/ccd створити файл з іменем клієнта і контентом

iroute 192.168.121.0 255.255.255.0 # роут в мережу клієнта, тобто мається на увазі мережа клієнта 192.168.121.0/24