====== Настройка и работа с OpenVPN ====== ===== Серверная часть ===== ==== /usr/local/etc/openvpn/openvpn.conf ==== Файл с настройками для сервера OpenVPN local x.x.x.x # адрес, на котором слушать port 1194 # порт proto udp # протокол, я предпочитаю udp dev tap # тип устройства, кем будет осуществляться соединение ca /usr/local/etc/openvpn/2.0/keys/ca.crt cert /usr/local/etc/openvpn/2.0/keys/server.crt key /usr/local/etc/openvpn/2.0/keys/server.key # This file should be kept secret dh /usr/local/etc/openvpn/2.0/keys/dh1024.pem server 10.8.1.0 255.255.255.0 # что бы сервер видел клиентов ifconfig-pool-persist ipp.txt # сохранять IP адреса клиентов, что бы выдать им такие же ccd-exclusive # использовать для соединения настройки клиентов в файлах, а не общие сервера. client-config-dir /usr/local/etc/openvpn/ccd # каталог где брать настройки client-to-client # что бы клиенты видели друг друга keepalive 10 120 # через сколько считать клиента дохлым comp-lzo max-clients 100 user nobody group nogroup persist-key persist-tun status /var/log/openvpn/clients-status.log log /var/log/openvpn/clients.log #verb 4 ==== Каталог /usr/local/etc/openvpn/ccd ==== В нем должны находится файлы, название которого должно совпадать с именем пользователя в сертификате, например: # cat /usr/local/etc/openvpn/ccd/linko push "route 10.8.0.0 255.255.255.0" # Прописываем на стороне клиента роут, что бы он видел нашу сеть push "dhcp-option DNS 10.8.0.1" # Пихаем ему наш DNS, что бы он мог ходить по DNS-именам нашей сети ifconfig-push 10.8.1.22 255.255.255.0 # принудительно выдаем ему постоянный IP ==== Как добавлять пользователя ==== * Заходим в каталог со скриптами работы с сертификатами * Экспортируем в переменные данные сертификата по умолчания для нас * Добавляем пользователя # cd /usr/local/etc/openvpn/2.0 # source vars # pkitool username После чего в каталоге /usr/local/etc/openvpn/2.0/keys появляются три файла * username.crt * username.csr * username.key Нас интересуют только **username.crt** и **username.key**, отсылаем их пользователю вместе с файлом ca.crt ===== Клиентская часть ===== Клиенту надо скачать программу с адреса http://openvpn.se/download.html под надписью **Installation Package (Both 32-bit and 64-bit TAP driver included):**, установить, убедится что **OpenVPN GUI** запускается с правами администратора, и создать конфиг-файл. **Пуск -> Все программы -> OpenVPN -> OpenVPN configuration file directory** Откроется папка, в ней создать файл, например, office с расширением ovpn, т.е. office.ovpn и поместить туда содержимое конфиг-файла, исправив пути на свои и названия ключей. Обратите внимание на двойные слеши, они обязательны. remote x.x.x.x 1194 proto udp ca "Q:\\Work\\vpn\\ca.crt" cert "Q:\\Work\\vpn\\linko.crt" key "Q:\\Work\\vpn\\linko.key" comp-lzo verb 3 mute 20 resolv-retry infinite explicit-exit-notify 2 ping 10 ping-restart 60 nobind client dev tap persist-key persist-tun route-method exe route-delay 10