OpenVPN: различия между версиями
Перейти к навигации
Перейти к поиску
Sol (обсуждение | вклад) (Новая страница: «Категория:Linux») |
Sol (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| + | [[Файл:Openvpn.png|right]] | ||
| + | == Описание == | ||
| + | |||
| + | '''OpenVPN''' — свободная реализация технологии виртуальной частной сети [https://ru.wikipedia.org/wiki/VPN (VPN)] с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT и сетевым экраном, без необходимости изменения их настроек. OpenVPN была создана Джеймсом Йонаном (James Yonan) и распространяется под лицензией [https://ru.wikipedia.org/wiki/GNU_General_Public_License GNU GPL]. | ||
| + | |||
| + | == Настройка сервера == | ||
| + | |||
| + | ''Справедливо для OpenVPN 2.4.0''<br /> | ||
| + | Конфигурация сервера с реализацией авторизации по логину-паролю без использования pam (системных пользователей). | ||
| + | ''vim /etc/openvpn/server.conf'' | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | # Port Number. | ||
| + | port 1194 | ||
| + | |||
| + | # TCP or UDP server. | ||
| + | proto udp | ||
| + | |||
| + | # Interface type, TUN or TAP. | ||
| + | dev tun | ||
| + | |||
| + | # Certificates. | ||
| + | ca ca.crt | ||
| + | cert SERVERNAME.crt | ||
| + | key SERVERNAME.key # This file should be kept secret | ||
| + | |||
| + | # Diffie hellman parameters. | ||
| + | dh dh2048.pem | ||
| + | |||
| + | # Subnet to use for OpenVPN Connections. | ||
| + | server 10.100.100.0 255.255.255.0 | ||
| + | |||
| + | # Keepalive: send ping every 10 seconds, tunnel down after 120 seconds no response. | ||
| + | keepalive 10 120 | ||
| + | |||
| + | # Route inject | ||
| + | push "route 10.50.50.0 255.255.255.0" | ||
| + | |||
| + | # LZO Compression for the tunnel. | ||
| + | #comp-lzo deprecated | ||
| + | compress | ||
| + | |||
| + | # Drop privileges to user/group nobody. | ||
| + | user nobody | ||
| + | group nogroup | ||
| + | |||
| + | # Makes the link more resistant to connection failures. | ||
| + | persist-key | ||
| + | persist-tun | ||
| + | |||
| + | # Encryption algorithm | ||
| + | cipher AES-256-CBC | ||
| + | |||
| + | # Username and Password authentication. | ||
| + | verify-client-cert none | ||
| + | #client-cert-not-required deprecated | ||
| + | #plugin /usr/lib/openvpn/openvpn-auth-pam.so login # Linux PAM authorization | ||
| + | auth-user-pass-verify /etc/openvpn/verify.sh via-file # Connect authorization script | ||
| + | username-as-common-name | ||
| + | tmp-dir /etc/openvpn/tmp | ||
| + | script-security 2 | ||
| + | |||
| + | # OpenVPN Status Log files. | ||
| + | status openvpn-status.log | ||
| + | |||
| + | # LOG FILE VERBOSITY: | ||
| + | # 0 is silent, except for fatal errors | ||
| + | # 4 is reasonable for general usage | ||
| + | # 5 and 6 can help to debug connection problems | ||
| + | # 9 is extremely verbose | ||
| + | verb 3 | ||
| + | |||
| + | log /var/log/openvpn.log | ||
| + | </syntaxhighlight> | ||
| + | == Настройка клиента == | ||
| + | |||
| + | === Шаблон для клиентского конфига === | ||
| + | |||
[[Категория:Linux]] | [[Категория:Linux]] | ||
Версия 12:30, 4 января 2019
Описание
OpenVPN — свободная реализация технологии виртуальной частной сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT и сетевым экраном, без необходимости изменения их настроек. OpenVPN была создана Джеймсом Йонаном (James Yonan) и распространяется под лицензией GNU GPL.
Настройка сервера
Справедливо для OpenVPN 2.4.0
Конфигурация сервера с реализацией авторизации по логину-паролю без использования pam (системных пользователей).
vim /etc/openvpn/server.conf
# Port Number.
port 1194
# TCP or UDP server.
proto udp
# Interface type, TUN or TAP.
dev tun
# Certificates.
ca ca.crt
cert SERVERNAME.crt
key SERVERNAME.key # This file should be kept secret
# Diffie hellman parameters.
dh dh2048.pem
# Subnet to use for OpenVPN Connections.
server 10.100.100.0 255.255.255.0
# Keepalive: send ping every 10 seconds, tunnel down after 120 seconds no response.
keepalive 10 120
# Route inject
push "route 10.50.50.0 255.255.255.0"
# LZO Compression for the tunnel.
#comp-lzo deprecated
compress
# Drop privileges to user/group nobody.
user nobody
group nogroup
# Makes the link more resistant to connection failures.
persist-key
persist-tun
# Encryption algorithm
cipher AES-256-CBC
# Username and Password authentication.
verify-client-cert none
#client-cert-not-required deprecated
#plugin /usr/lib/openvpn/openvpn-auth-pam.so login # Linux PAM authorization
auth-user-pass-verify /etc/openvpn/verify.sh via-file # Connect authorization script
username-as-common-name
tmp-dir /etc/openvpn/tmp
script-security 2
# OpenVPN Status Log files.
status openvpn-status.log
# LOG FILE VERBOSITY:
# 0 is silent, except for fatal errors
# 4 is reasonable for general usage
# 5 and 6 can help to debug connection problems
# 9 is extremely verbose
verb 3
log /var/log/openvpn.log
