OpenVPN Debian Wheezy/sid
Настройка OpenVPN развернутое руководство и видео в 2022 на Debian Wheezy
# apt install openvpn # mkdir /etc/openvpn/easy-rsa # cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
Изменяем параметры по умолчанию для сертификатов
# nano /etc/openvpn/easy-rsa/vars ... export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export KEY_ORG="Fort-Funston" export KEY_EMAIL="me@myhost.mydomain"
Создадим переменные окружения Основы BASH скрипты, циклы, горячие клавиши, если это не сделать, при генерации ключей клиентов переменные будут взяты из /etc/openvpn/easy-rsa/openssl.cnf а не из файла vars
# cd /etc/openvpn/easy-rsa # source ./vars NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys # ./clean-all # ./build-dh
Создадим сертификат для сервера с именем vpnspar
# ./pkitool --initca # ./pkitool --server vpnspar
Создадим сертификат для клиента с именем farm1c. Отдельный ключ для каждого клиента.
# ./pkitool farm1c
# mkdir /etc/openvpn/keys # cp keys/ca.crt /etc/openvpn/keys # cp keys/dh1024.pem /etc/openvpn/keys # cp keys/vpnspar.crt /etc/openvpn/keys # cp keys/vpnspar.key /etc/openvpn/keys
В директории ccd хранятся индивидуальные настройки для каждого клиента. Имя файла должно соответствовать имени сгенерированного клиентского сертификата. Файлы конфигурации клиентов являются текстовыми файлами и содержат команды, выполняемые сервером при подключении клиентов. Обычно файл клиента содержать команды:
- добавляет клиенту маршрут к локальной подсети центрального офиса(push "route 192.168.1.0 255.255.255.0")
- определяет адрес локальной подсети, находящейся за клиентом (например iroute 192.168.2.0 255.255.255.0)
- привязка к статическому IP (ifconfig-push 192.168.14.21 192.168.14.22), где ifconfig-push <IP-адрес клиента> <IP-адрес сервера>. Выбранные пары IP-адресов, во-первых, должны быть уникальными, во-вторых, должны входить в состав последовательных подсетей, ограниченных маской /30 (255.255.255.252), и, в-третьих, должны находиться в пределах пула IP-адресов, выделенного для виртуальной частной сети (определяется параметром server файла конфигурации сервера OpenVPN).
# mkdir /etc/openvpn/ccd # nano ccd/farm1c push "route 192.168.1.0 255.255.255.0" #push "route 192.168.35.0 255.255.255.0" # static IP ifconfig-push 192.168.14.21 192.168.14.22 #iroute 192.168.2.0 255.255.255.0
server.conf
Конфигурируем сервер в файле server.conf
# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ # gunzip server.conf.gz # nano /etc/openvpn/server.conf
- server.conf
local ххх.196.98.ххх # IP на котором сервер слушает входящие сообщения port 1194 # порт на котором сервер слушает входящие сообщения proto udp dev tun # Включение интерфейса управления OpenVPN. Доступен при помощи telnet localhost 7505 management localhost 7505 ca keys/ca.crt # местонахождение самоподписного доверенного сертификата (CA) cert keys/vpnspar.crt # местонахождение сертификата сервера key keys/vpnspar.key # местонахождение закрытого ключа сервера dh keys/dh1024.pem # местонахождение файла параметров Диффи-Хэлмана # Настройка режима сервера и адреса VPN-сети, # из которой OpenVPN будет раздавать адреса клиентам. # Сервер возьмет себе 192.168.14.1, # остальные адреса будут доступны для клиентов. # Каждый клиент сможет связаться с сервером по адресу 192.168.14.1. server 192.168.14.0 255.255.255.0 # в файле ipp.txt хранится информация о соединении, например на случай обрыва соединения # и его дальнейшего восстановления ifconfig-pool-persist ipp.txt # маршруты которые будут передаваться каждому клиенту. # push - команда OpenVPN, передаваемая клиенту и выполняемая клиентом # (в данном случае добавляем на стороне клиента два маршрута к виртуальной частной сети) push "route 192.168.1.0 255.255.255.0" push "route 192.168.35.0 255.255.255.0" # Перенаправлять default gateway на vpn-сервер. Если не нужно - закомментировать или # добавить в ccd для конкретного клиента push "redirect-gateway def1" # указываем где будут хранятся файлы с настройками IP-адресов клиентов client-config-dir ccd # добавляем маршрут сервер-клиент. # route - добавляет на стороне сервера маршруты к локальным подсетям, находящимся за клиентами route 192.168.14.0 255.255.255.252 # разрешить общение клиентов подключенных к серверу OpenVPN общение между собой client-to-client # Директива проверки работоспособности, включающая отсылку # ping-подобных сообщений туда и обратно через # соединение для того, чтобы каждая сторона знала когда # другая сторона внезапно пропадет (gone down). # Пинг каждые 10 секунд, с предположением, что удаленный # узел недоступен, если не получено на одного пинга за период времени # равный 120 секундам. keepalive 10 120 comp-lzo max-clients 10 user nobody group nogroup persist-key persist-tun # Содержимое небольшого файла состояния, показывающего # текущие соединения, усекается # и перезаписывается раз в минуту. status /var/log/openvpn-status.log log /var/log/openvpn.log verb 3 # уровень отладки
# /etc/init.d/openvpn start
Аннулировать сертификат клиента
- Пример. Аннулируем сертификат пользователя farm1c
# cd /etc/openvpn/easy-rsa # source ./vars # ./revoke-full farm1c Using configuration from /etc/openvpn/easy-rsa/openssl.cnf Revoking Certificate 02. Data Base Updated
После команды revoke-full изменится в файл /etc/openvpn/easy-rsa/keys/index.txt строка соответствующая сертификату пользователя farm1c.
Читайте также: Лучшие VPN и Прокси Сервисы

Friendhosting - Разумные цены на хостинг
VDS/VPS сервер от 3.49€ в месяц. Много ресурсов. Высокая надежность. Гибкое управление. Удобная оплата. Настройка под вас!
friendhosting.net
Антидетект браузер Dolphin{anty} бесплатно до 10 профилей
Dolphin разработан для работы с такими сложными ресурсов, как Google, Facebook и Coinlist.
Английский для IT‑специалистов по Skype
Персональные занятия по разумным ценам. 80% разговорной практики. Персональный график!
skyeng.ru