Назад | Перейти на главную страницу

Как добавить аутентификацию по паролю к рабочему серверу OpenVPN?

У меня уже есть рабочий OpenVPN сервер, который соединяет 25 филиалов. Конфиг ниже. В нашей компании есть аутсорсинговые разработчики, которым необходим доступ к серверам в DMZ. Как мне добавить N пользователей (разработчиков) и сделать для них аутентификацию на основе пароля поверх этой конфигурации? Предпочтительнее пользователи из Active Directory.

port 1194
proto udp
dev tun

ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
tls-server
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0
tls-timeout 120
auth SHA1
cipher BF-CBC

server 10.255.1.0 255.255.255.0

client-config-dir /etc/openvpn/ccd

route   10.2.0.0        255.255.0.0
route   10.3.0.0        255.255.0.0
route   10.4.0.0        255.255.0.0
route   10.5.0.0        255.255.0.0
route   10.6.0.0        255.255.0.0
route   10.10.0.0       255.255.0.0
route   10.8.0.0        255.255.0.0
route   10.27.0.0       255.255.0.0
route   10.7.0.0        255.255.0.0
route   10.11.0.0       255.255.0.0
route   10.12.0.0       255.255.0.0
route   10.13.0.0       255.255.0.0
route   10.14.0.0       255.255.0.0
route   10.15.0.0       255.255.0.0
route   10.16.0.0       255.255.0.0
route   10.17.0.0       255.255.0.0
route   10.18.0.0       255.255.0.0
route   10.19.0.0       255.255.0.0
route   10.20.0.0       255.255.0.0
route   10.21.0.0       255.255.0.0
route   10.22.0.0       255.255.0.0
route   10.23.0.0       255.255.0.0
route   10.24.0.0       255.255.0.0
route   10.25.0.0       255.255.0.0
#route  10.255.1.0      255.255.255.0

push "route 10.1.0.0 255.255.254.0"
push "route 10.1.200.0 255.255.255.0"



keepalive 10 120
comp-lzo
max-clients 255
client-to-client
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3
mute 20

ifconfig-pool-persist ipp.txt

Вам нужно использовать плагин. Есть плагин auth-ldap, а также плагин auth-pam (я использовал только последний). Соответствующие параметры конфигурации:

plugin /usr/lib/openvpn/openvpn-plugin-auth-ldap.so <config-file>
username-as-common-name  # These two allow authentication
client-cert-not-required # without a client certificate, if you want
duplicate-cn # Allow the same client cert or same user/password to connect multiple times

Вот и все!