Показаны сообщения с ярлыком OpenVPN. Показать все сообщения
Показаны сообщения с ярлыком OpenVPN. Показать все сообщения

суббота, 12 ноября 2011 г.

OpenVPN c аутентификацией по логину и паролю


OpenVPN в качестве шлюза для VPN клиентов
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh
openvpn --genkey --secret ./keys/ta.key
/etc/openvpn/server.conf
plugin /usr/lib/openvpn/openvpn-auth-pam.so login
local 172.16.0.10 # здесь указываем IP адрес сервера
port 1194
proto tcp
dev tun
ca /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ca.crt
cert /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/server.crt
key /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/server.key
dh /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/dh1024.pem
client-cert-not-required
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push «route 10.8.0.0 255.255.255.0″
keepalive 10 120
tls-server
tls-auth /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ta.key 0
tls-timeout 120
auth MD5
cipher BF-CBC
comp-lzo
max-clients 100
user nobody # для debian'а (для centos - openvpn)
group nogroup # для debian'а (для centos - openvpn)
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 5
VPN-клиент под Windows: http://openvpn.se/download.html
Копируем с сервера два файла: ca.crt, ta.key на рабочую станцию VPN-клиент в папку c:/program files/openvpn/config
Cоздаем там же файл-конфиг openvpn.ovpn
auth-user-pass
dev tun0
proto tcp
remote 172.16.0.10 # здесь указываем IP адрес VPN сервера
port 1194
redirect-gateway def1
client
resolv-retry infinite
ca ca.crt
tls-client
tls-auth ta.key 1
auth MD5
cipher BF-CBC
ns-cert-type server
comp-lzo
nobind
persist-key
persist-tun
verb 3
Включаем на сервере форвардинг
/etc/sysctl.conf:
net.ipv4.ip_forward = 1

/sbin/sysctl -w net.ipv4.ip_forward=1
Настройка фаерволла
iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source <внешний IP сервера>
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -d 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Теперь можно создавать VPN аккаунты, OpenVPN при подключении VPN клиента будет запрашивать пароль и логин системного пользователя
useradd -s /usr/sbin/nologin vpnuser1
passwd vpnuser1
На рабочих станциях с Windows XP учетная запись с которой пользователь работает с OpenVPN должна обязательно состоять в группе "Администраторы"
а на компьютерах с Windows Vista или Windows 7 требуется в клиентский конфиг openvpn.ovpn добавить эти два параметра
route-method exe
route-delay 2