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
./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
Пытаюсь поднять на Ubuntu 12.04 server. Сделал все по инструкции, потом перегрузил сервер, почему то не подключается клиент с windows 7,в файле openvpn.log пусто. Thu Aug 09 13:04:15 2012 OpenVPN 2.0.9 Win32-MinGW [SSL] [LZO] built on Oct 1 2006
ОтветитьУдалитьThu Aug 09 13:04:25 2012 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
Thu Aug 09 13:04:25 2012 Outgoing Control Channel Authentication: Using 128 bit message hash 'MD5' for HMAC authentication
Thu Aug 09 13:04:25 2012 Incoming Control Channel Authentication: Using 128 bit message hash 'MD5' for HMAC authentication
Thu Aug 09 13:04:25 2012 LZO compression initialized
Thu Aug 09 13:04:25 2012 Control Channel MTU parms [ L:1540 D:164 EF:64 EB:0 ET:0 EL:0 ]
Thu Aug 09 13:04:25 2012 Data Channel MTU parms [ L:1540 D:1450 EF:40 EB:135 ET:0 EL:0 AF:3/1 ]
Thu Aug 09 13:04:25 2012 Local Options hash (VER=V4): 'e6beeeed'
Thu Aug 09 13:04:25 2012 Expected Remote Options hash (VER=V4): '9183b24b'
Thu Aug 09 13:04:25 2012 Attempting to establish TCP connection with 89.179.126.9:1194
Thu Aug 09 13:04:26 2012 TCP: connect to 89.179.126.9:1194 failed, will try again in 5 seconds
Thu Aug 09 13:04:32 2012 TCP: connect to 89.179.126.9:1194 failed, will try again in 5 seconds
Вот лог с клиента.
Подскажите пожалуйста что делаю не так, куда смотреть чтобы понять в чем ошибка. И как это исправить.
> Thu Aug 09 13:04:26 2012 TCP: connect to 89.179.126.9:1194 failed, will try again in 5 seconds
Удалить> Thu Aug 09 13:04:32 2012 TCP: connect to 89.179.126.9:1194 failed, will try again in 5 seconds
Проверь что на стороне сервера прослушивается именно адрес 89.179.126.9 и tcp порт 1194 и фаервол не блокирует подключения. Для проверки попробуй с клиента подключиться телнетом к серверу по используемому адресу и порту.
> в файле openvpn.log пусто
Убедись что пользователю из под которого работает OpenVPN хватает прав выполнять запись в файл /var/log/openvpn/openvpn.log
Настроил всё как описанно здесь. Устанавливаю VPN соединение на клиенте под windows, конектится всё ок., иду в браузер - интернет не работает. Отключаю vpn инет есть. Как настроить чтобы сайты в браузере открывались и VPN работал.
ОтветитьУдалитьРазобрался сам в конфиг клиента нужно добавить строку dhcp-option DNS 8.8.8.8
Удалить