- Настройка OpenVPN для Windows
- Настройка OpenVPN для MacOS
- Дополнительно: Настройка OpenVPN для Andro >
Настройка OpenVPN для Windows
Данная инструкция демонстрирует, как подключиться к серверу ретрансляции VPN Gate, используя клиент OpenVPN в системах Windows XP, 7, 8, 10, Server 2003, 2008, 2012.
1. Установите клиентское приложение OpenVPN для вашей операционной системы. Запустите установочный файл. Откроется мастер установки. Следуйте подсказкам на экране, чтобы выполнить установку приложения.
2. Скачайте и загрузите файл конфигурации подключения OpenVPN (файл. ovpn). Данная процедура требуется только при первичной настройке подключения.
Файл конфигурации формата *.ovpn понадобиться для подключения к серверу ретрансляции VPN Gate через протокол OpenVPN.
Загрузить файл конфигурации (OpenVPN Config file) можно на странице списка открытых бесплатных серверов ретрансляции http://www.vpngate.net/en/. Выберите VPN-сервер, к которому вы хотите подключиться и нажмите на соответствующий файл *.ovpn, чтобы скачать его на рабочий стол или папку загрузки.
После сохранения файла на компьютере, он будет отображаться как иконка OpenVPN. Тем не менее, вы не сможете установить подключение, просто дважды кликнув по файлу.
Нужно переместить файл *.ovpn в папку “config” основной директории установки OpenVPN.
Откройте папку C:Program FilesOpenVPNconfig и скопируйте файл *.ovpn в нее.
3. Подключение к VPN
Кликните правой кнопкой мыши по иконке “OpenVPN GUI” на рабочем столе и выберите опция “Запустить от имени администратора”. В противном случае, установить VPN подключение не удастся.
Иконка OpenVPN GUI появится в области уведомления панели задач (системном трее). В некоторых случаях иконка может быть скрытой, нажмите по значку стрелки, чтобы показать все скрытые иконки.
Щелкните правой кнопкой мыши по иконке OpenVPN GUI и нажмите “Подключить”.
Запуститься VPN подключение. Статус подключения будет отображаться на экране. Если вы увидите диалоговое окно запроса имени пользователя и пароля. Введите “vpn” в оба поля. Данное окно появляется очень редко.
Если VPN подключение успешно установлено, то появится всплывающее сообщение как на скриншоте.
4. Интернет без ограничений
Когда подключение VPN установлено, в системе Windows создается виртуальный сетевой адаптер TAP-Windows Adapter V9. Этот адаптер получит IP-адрес, который начинается с “10.211”. Виртуальный адаптер получит адрес шлюза по умолчанию.
Вы сможете проверить конфигурацию сети, запустив команду ipconfig /all в командной строке Windows.
Когда соединение установлено, весь сетевой трафик будет проходить проходить через VPN-сервер. Убедиться в этом вы сможете с помощью команды tracert 8.8.8.8 в командной строке Windows.
Как показано на скриншоте выше, если пакеты проходят через "10.211.254.254", значит ваше подключение ретранслируется через один из серверов VPN Gate. Вы также можете перейти на основную страницу VPN Gate, чтобы посмотреть глобальный IP-адрес.
Вы сможете увидеть видимое из сети местоположение, которое будет отличаться от вашей фактической локации.
Настройка OpenVPN для MacOS
Данная инструкция демонстрирует, как подключиться к серверу ретрансляции VPN Gate, используя приложение Tunnelblick. Tunnelblick является версий клиента OpenVPN с графической оболочкой. для систем MacOS.
1. Установите приложение Tunnelblick
Скачайте и установите последнюю версию приложения Tunnelblick. Во время установки на экране будут показываться инструкции.
После завершения установки появится следующий экран. Выберите опцию “У меня есть файлы конфигурации”.
На экране будет показана инструкция по добавлению конфигурации в Tunnelblick.
Нажмите ОК, чтобы закрыть окно.
2. Скачайте и загрузите файл конфигурации подключения OpenVPN (файл .ovpn). Данная процедура требуется только при первичной настройке подключения.
Файл конфигурации формата *.ovpn понадобиться для подключения к серверу ретрансляции VPN Gate через протокол OpenVPN.
Скачать файл конфигурации (OpenVPN Config file) можно на странице списка открытых бесплатных серверов ретрансляции http://www.vpngate.net/en/. Выберите VPN-сервер, к которому вы хотите подключиться и нажмите на соответствующий файл *.ovpn, чтобы его загрузить в папку загрузок (Downloads).
Чтобы установить файл конфигурации *.ovpn, перетащите его на значок Tunnelblick в строке меню, либо на список конфигураций во вкладке «Конфигурации» окна «Детали VPN». Если необходимо установить сразу несколько конфигурационных файлов — выделите их все, а затем перетащите.
Во время добавления нужно будет ввести имя пользователя и пароль от учетной записи MacOS.
3. Подключение к VPN
Нажмите по иконке Tunnelblick на верхней панели инструментов MacOS и выберите опцию “Соединить [название конфигурации]”. Будет запущено подключение к VPN.
Появится статус подключения к VPN, как показано на скриншоте. После успешной установки подключения, в основном окне Tunnelblick будет показываться состояние “Соединен”.
4. Интернет без ограничений
Когда соединение установлено, весь сетевой трафик будет проходить проходить через VPN-сервер. Вы также можете перейти на основную страницу VPN Gate, чтобы посмотреть глобальный IP-адрес. Вы сможете увидеть видимое из сети местоположение, которое будет отличаться от вашей фактической локации.
При подключении к VPN вы сможете посещать заблокированные веб-сайты и играть в заблокированные игры.
OpenVPN позволяет настроить VPN-сервер как на платформе Windows Server, так и версии для рабочего компьютера (Windows 10, 8, 7).
Установка OpenVPN Server
Переходим на официальный сайт OpenVPN и скачиваем последнюю версию программы для соответствующей версии Windows:
Запускаем скачанный файл — нажимаем Next — I Agree — и выставляем галочку «OpenVPN RSA Certificate Management Scripts» (нужен для возможности сгенерировать сертификаты):
снова Next и Install — начнется установка. В процессе мастер может выдать запрос на подтверждение установки виртуального сетевого адаптера — соглашаемся (Install).
После завершения нажимаем Next — снимаем галочку Show Readme — Finish.
Создание сертификатов
Переходим в папку установки OpenVPN (по умолчанию, C:Program FilesOpenVPN) и создаем каталог ssl.
После переходим в папку C:Program FilesOpenVPNeasy-rsa, создаем файл vars.bat, открываем его на редактирование и приводим к следующему виду:
set "PATH=%PATH%;%ProgramFiles%OpenVPNin"
set HOME=%ProgramFiles%OpenVPNeasy-rsa
set KEY_CONFIG=openssl-1.0.0.cnf
set KEY_DIR=keys
set KEY_SIZE=2048
set KEY_COUNTRY=RU
set KEY_PROVINCE=Sankt-Petersburg
set KEY_CITY=Sankt-Petersburg
set KEY_ORG=Organization
set KEY_EMAIL=master@dmosk.ru
set KEY_CN=DMOSK
set KEY_OU=DMOSK
set KEY_NAME=server.domain.ru
set PKCS11_MODULE_PATH=DMOSK
set PKCS11_PIN=12345678
* в каталоге easy-rsa уже есть файл vars.bat.sample — можно переименовать и использовать его.
** значение HOME не меняем, если оставили путь установки программы по умолчанию; KEY_DIR — каталог, куда будут генерироваться сертификаты; KEY_CONFIG может быть разным — его лучше посмотреть в файле vars.bat.sample или по названию соответствующего файла в папке easy-rsa; KEY_NAME желательно, чтобы соответствовал полному имени VPN-сервера; остальные опции можно заполнить произвольно.
Запускаем командную строку от имени администратора:
Переходим в каталог easy-rsa:
Чистим каталоги от устаревшей информации:
Снова запускаем vars.bat (после clean переопределяются некоторые переменные):
Теперь генерируем последовательность центра сертификации:
На все запросы нажимаем Enter.
Запускаем build-dh.bat (сертификат с использованием алгоритма Диффи-Хеллмана):
* команда может выполняться долго — это нормально.
* если процесс зависнет (5 минут), можно сформировать его вручную командой openssl dhparam -out dh2048.pem 2048. После скопировать полученный сертификат dh2048.pem в каталог keys.
Генерируем сертификат для сервера:
* где cert — имя сертификата; на все запросы нажимаем Enter. В конце подтверждаем два раза корректность информации вводом y.
После переносим содержимое папки C:Program FilesOpenVPNeasy-rsakeys в C:Program FilesOpenVPNssl.
Настройка сервера
Переходим в папку C:Program FilesOpenVPNconfig и создаем файл server.ovpn. Открываем его на редактирование и приводим к следующему виду:
port 443
proto udp
dev tun
dev-node "VPN Server"
dh "C:\Program Files\OpenVPN\ssl\dh2048.pem"
ca "C:\Program Files\OpenVPN\ssl\ca.crt"
cert "C:\Program Files\OpenVPN\ssl\cert.crt"
key "C:\Program Files\OpenVPN\ssl\cert.key"
server 172.16.10.0 255.255.255.0
max-clients 32
keepalive 10 120
client-to-client
comp-lzo
persist-key
persist-tun
cipher DES-CBC
status "C:\Program Files\OpenVPN\log\status.log"
log "C:\Program Files\OpenVPN\log\openvpn.log"
verb 4
mute 20
* где port — сетевой порт (443 позволит избежать проблем при использовании Интернета в общественных местах, но может быть любым из свободных, например 1723, занятые порты в Windows можно посмотреть командой netstat -a); dev-node — название сетевого интерфейса; server — подсеть, в которой будут работать как сам сервер, так и подключенные к нему клиенты.
** так как в некоторых путях есть пробелы, параметр заносится в кавычках.
В сетевых подключениях Windows открываем управление адаптерами — TAP-адаптер переименовываем в «VPN Server» (как у нас указано в конфигурационном файле, разделе dev-node):
Теперь открываем службы Windows и находим «OpenVpnService». Открываем ее, настраиваем на автозапуск и включаем:
Ранее переименованный сетевой интерфейс должен включиться:
Настройка клиента
На сервере:
На сервере генерируем сертификат для клиента. Для этого сначала чистим файл index.txt в папке C:Program FilesOpenVPNeasy-rsakeys.
Затем запускаем командную строку от имени администратора:
Переходим в каталог easy-rsa:
И генерируем сертификат первого пользователя:
* на все запросы наживаем Enter, кроме Common Name — в данном поле вводим имя клиента (в нашем случае, просто client1). В конце подтверждаем введенную информацию — y.
** На каждого клиента нужно сгенерировать свой сертификат, в противном случае, им будет присваиваться один и тот же IP-адрес, что будет приводить к конфликту.
Получиться, что-то на подобие:
Country Name (2 letter code) [RU]:
State or Province Name (full name) [Sankt-Petersburg]:
Locality Name (eg, city) [Sankt-Petersburg]:
Organization Name (eg, company) [Organization]:
Organizational Unit Name (eg, section) [DMOSK]:
Common Name (eg, your name or your server’s hostname) [DMOSK]:client1
Name [server.domain.ru]:
Email Address [master@dmosk.ru]:
Теперь из папки keys копируем файлы client1.crt, client1.key, ca.crt и dh2048.pem и переносим их на клиентский компьютер.
На клиенте:
Заходим на официальную страницу загрузки openvpn и скачиваем клиента для Windows:
* по сути, это тот же файл, который скачивался для сервера.
Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».
Переходим в папку C:Program FilesOpenVPNconfig. И копируем в нее сертификаты, которые перенесли с сервера.
Теперь открываем блокнот от имени администратора и вставляем следующие строки:
client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
comp-lzo
ca ca.crt
cert client1.crt
key client1.key
dh dh2048.pem
float
cipher DES-CBC
keepalive 10 120
persist-key
persist-tun
verb 0
* где 192.168.0.15 443 — IP-адрес OpenVPN-сервера и порт, на котором он принимает запросы. Для боевой среды это будет внешний адрес.
Сохраняем файл с именем config.ovpn в папке C:Program FilesOpenVPNconfig.
Запускаем с рабочего стола программу «OpenVPN GUI» от имени администратора (это важно).
Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:
Произойдет подключение и значок поменяет цвет с серого/желтого на зеленый.
Возможные проблемы
Большая часть проблем решается при помощи логов, которые находятся в папке C:Program FilesOpenVPNlog. Уровень детализации лога контролируется параметром verb в конфигурационном файле сервера или клиента.
Также возможны следующие часто возникающие проблемы:
- Проблема: клиент постоянно пытается подключиться к серверу, но соединения не происходит или подключение зависает.
Причина: сервер блокирует подключения по настроенному порту VPN (в нашем примере, 443).
Решение: на сервере необходимо добавить 443 порт в исключения брандмауэра или отключить последний. - Проблема: при попытке подключиться к серверу выскакивает ошибка «Не удалось подключиться к config».
Причина: ошибка в настройках.
Решение: перепроверьте каждую строчку файла конфигурации. Проверьте наличие всех файлов, на которые ссылаетесь в настройках. - Проблема: клиенты получают одинаковые IP-адреса.
Причина: подключение выполняется под одним и тем же пользователем.
Решение: сервер выдает одинаковые адреса одинаковым клиентам. Необходимо настроить авторизацию на сервере и выдать каждому клиенту индивидуальные настройки. - Проблема: соединение происходит, но через несколько минут связь прерывается.
Причина: дублирование IP-адресов.
Решение: данная проблема описана выше (пункт 3).
OpenVPN — свободная реализация технологии Виртуальной Частной Сети (VPN) с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами. Она позволяет устанавливать соединения между компьютерами, находящимися за NAT-firewall, без необходимости изменения их настроек. OpenVPN была создана Джеймсом Йонаном (James Yonan) и распространяется под лицензией GNU GPL.
В этой статье в простой и доступной форме мы попытаемся рассказать вам о том как поднять собственный OpenVPN сервер. Мы не ставим своей целью, чтобы по окончании прочтения этой статьи вы досконально понимали все принципы "как это работает" или разбирались в тонкостях организации сетей, но хотим, чтобы в результате — вы могли настроить OpenVPN сервер "с нуля". Так что можно считать эту статью неким пошаговым руководством для пользователей. На самом деле в сети масса документации, мануалов, посвященных развертыванию OpenVPN, но они либо ориентированы на подготовленных пользователей или системных администраторов, либо же в качестве примера для демонстрации используются Linux-системы. Мы же пойдем другим путем и расскажем как настроить OpenVPN на компьютере среднестатического пользователя, т.е. рабочей станции с установленной ОС Windows. Зачем вам может пригодиться эта информация? Ну например вы хотите поиграть с друзьями в игру, которая не поддерживает игру через интернет, а только по локальной сети, или же, например, вы занимаетесь удаленной поддержкой пользователей, но по каким-то причинам использовать программное обеспечение вроде TeamViewer или Ammyy Admin не желаете, т.к. не хотите чтобы в процессе передачи ваших данных или установки соединения участвовали сервера сторонних компаний. В любом случае практический опыт организации собственной виртуальной частной сети (VPN) окажется для вас полезным.
Содержание
Настройка сервера
Итак, начнем. В нашем примере в качестве сервера OpenVPN будет выступать машина с установленной ОС Windows XP Professional SP3 (x86), в качестве клиентов — несколько машин с Windows 7 x64 и Windows 7 x86 (хотя на самом деле описываемая в статье схема заработает и на других конфигурациях). Предположим, что ПК который будет выступать в роли OpenVPN сервера имеет белый статический IP адрес в сети интернет (в случае если IP адрес, предоставляемый вашим провайдером динамический, то вам необходимо зарегистрироваться в DynDNS или No-IP), если это условие выполняется, но ПК находится за роутером или аппаратным firewall’ом — вам придется пробросить необходимые порты (об этом мы расскажем чуть ниже, когда перейдем непосредственно к настройке сервера), если вы не представляете что это такое и для чего это используется, то мы рекомендуем вам ознакомиться со статьей Port Forwarding. Как настроить и что это такое? на нашем сайте.
- Идем на официальный сайт проекта OpenVPN, в раздел Downloads — http://openvpn.net/index.php/open-source/downloads.html. Скачиваем оттуда, соответствующий вашему релизу ОС Windows дистрибутивай (32-bit или 64-bit Installer). На момент написания этой статье для 32-х битных ОС был доступен дистрибутив openvpn-install-2.3_rc1-I002-i686.exe, а для 64-х битных — openvpn-install-2.3_rc1-I002-x86_64.exe соответственно. Т.к. мы определились, что сервер мы будем поднимать на WinXP x86, т.е. на 32-битной ОС, то скачиваем дистрибутив по первой ссылке.
- Запускаем скачанный инсталлятор. На этапе где выбирается путь для установки вводим C:OpenVPN (см. скриншот), это упростит нам настройку в дальнейшем:
После чего нажимаем "Next" до тех пор, пока установка не будет завершена. Если в процессе установки, на этапе выбора компонент для установки у вас было "пустое окно", например, такое:
То по всей видимости вы скачали "не тот" дистрибутив, в таком случае попробуйте скачать последнюю релизную версию openvpn-2.2.2-install.exe (она устанавливается как на x86, так и на x64 системы). При "правильной установке" окно выбора компонентов должно выглядеть так:
Все галочки в нем при установке по-умолчанию стоят, менять дополнительно ничего не нужно. Если установка прошла успешно, то в Панели управления -> Сетевые подключения (или, если вы устанавливаете сервер на Windows 7 или Windows Vista, в Центр управления сетями и общим доступом -> Изменение параметров адаптера) у вас должен появиться TAP-Win32 Adapter V9, который будет называться "Подключение по локальной сети X" (X — автоматически присваиваемый системой номер):
Состояние у него будет "Сетевой кабель не подключен", т.к. мы еще не конфигурировали наш сервер.
- Создаем в папке OpenVPN подпапку SSL, в ней будут храниться выданные сервером ключи и сертификаты. Далее запускаем блокнот и копируем в него следующий текст: На параметрах которые здесь описаны, мы остановимся чуть позже. После чего сохраняем его в файл C:OpenVPNConfigServer.ovpn, обратите внимание файл должен получиться именно с расширением .ovpn, для этого в диалоге сохранения опции должны стоять именно так, как показано на картинке:
Если вы работаете под Windows 7 / Windows Vista и блокнот не дает вам сохранить файл Server.ovpn в папку C:OpenVPNConfig, значит его нужно запустить с правами администратора. Для этого щелкните в меню Пуск по ярлыку Блокнота правой кнопкой мыши и выберите "Запуск от имени администратора":
Теперь также с помощью блокнота создадим файл C:OpenVPNeasy-rsavars.bat, скопировав в него нижеследующий текст: А также файл C:OpenVPNeasy-rsaopenssl.cnf: Поздравляю! Вы только что создали основные конфигурационные файлы вашего сервера. Продолжим его настройку.
- Для дальнейшей настройки сервера нам будут необходимы некоторые навыки работы в командной строке. Прежде всего давайте разберемся, как ее запустить? Существует несколько способов, например, нажать Пуск -> Выполнить (или комбинацию кнопок Win+R) на клавиатуре и в появившемся поле ввести cmd и нажать кнопку Ок. Однако, пользователям Windows 7 / Windows Vista понадобится запустить консоль с правами администратора, для этого проще всего на рабочем столе создать соответствующий ярлык. Щелкаем правой кнопкой мыши по любому пустому месту рабочего стола и выбираем пункт "Создать ярлык", в поле "месторасположение объекта" просто указываем три буквы — cmd и называем ярлык cmd, либо командная строка. Далее, пользователи Windows XP просто запускают его, а пользователи Windows Vista и Windows 7 запускают его от имени администратора, так, как это делалось выше с блокнотом.
- Далее последовательно вводим в консоли строки: При этом на экране это должно выглядеть так:
Далее не закрывая это окно вводим последовательно команды генерации ключей: Последняя команда (build-ca) создаст сертификат и ключ центра сертификации (CA), в процессе, правда, она задаст вам несколько вопросов, ответить на которые надо по-умолчанию нажатием кнопки Enter:
Теперь создадим ключ сервера: Обратите внимание, вторым аргументом в команде идет имя ключа (server), это же имя вы должны ввести при ответе на вопрос Common Name (eg, your name or your server’s hostname), на остальные вопросы можно ответить по-умолчанию нажатием кнопки Enter. Если вы все сделали правильно команда предложит подписать сертификат и подтвердить запрос, на оба вопроса нужно ответить Y (см. скриншот):
Если вы все сделали правильно, то картинка у вас будет идентичной скриншоту, а в последних строчках вывода команды будет сообщение об успешном добавлении одной записи в базу данных.
- После этого идем в оснастку "Службы и приложения" консоли управления, сделать это можно щелкнув по ярлыку Компьютер (Мой компьютер) правой кнопкой мыши и выбрав пункт меню Управление, либо набрав в консоли команду services.msc, находим там службу "OpenVPN Service" и в меню по правой кнопки мыши выбираем "Пуск". Если до этого вы все сделали правильно, то служба перейдет в состояние "Работает". Теперь можно изменить ей тип запуска на "Авто", вместо "Вручную", который был там по-умолчанию. В результате должно получиться так:
На этом настройка самого сервера закончена, осталось только сконфигурировать клиентов. Для этого необходимо также выдать им ключи и сертификаты, делается это практически аналогично серверу, только для сервера мы использовали команду build-key-server, а для клиентов будем использовать команду build-key.
- Предположим что у нас два клиента, назовем их client1 и client2. Выполним последовательно команды: При этом на вопрос Common Name (eg, your name or your server’s hostname) вы также должны указать имя клиента используемое в команде, т.е. если вы вводили команду build-key client1, то на вопрос Common Name отвечаем client1, если client2, то client2. На остальные вопросы можно ответить нажатием Enter, в конце вас также попросят подписать сертификат и подтвердить запрос, на оба пункта отвечаем утвердительно — Y. Теперь перезапускаем службу OpenVPN для того чтобы изменения вступили в силу, в оснастке управления службами, в меню по правой кнопке мыши "Перезапуск", либо же в консоли последовательно вводим:
- Теперь если мы зайдем в папку, то увидим там сгенерированные нами файлы ключей и сертификатов:
Каждому клиенту необходимы будут его файлы: Т.е. для клиента 1 мы собираем файлы ca.crt, client1.crt, client1.key и ta.key, для клиента 2 — ca.crt, client2.crt, client2.key и ta.key соответственно и т.п. И тем или иным образом отправляем ему их (имеется ввиду по почте, в архиве с паролем, или на флешке), файлы ключей и сертификатов должны быть переданы по надежным каналам связи и не должны попасть в "третьи руки", т.к. фактически с помощью них клиент может получить доступ в вашу виртуальную подсеть. В следующем разделе мы рассмотрим настройку клиента, при этом будет предполагаться что файлы ключей и сертификатов от вас он уже получил.
- Если на ПК используемом в качестве сервера используется firewall / брандмауэр, то необходимо добавить OpenVPN в список исключений. Для встроенного брандмауэра Windows в консоли это можно сделать следующей командой:
Настройка клиентов
Настройка клиента значительно проще, чем настройка сервера, у клиента нам не нужно генерировать ключи, сертификаты и т.п., так как все необходимое уже было сгенерировано нами на сервере и передано клиенту. Поэтому инструкция в случае для клиента получается значительно короче.
- Ориентируясь на инструкцию по настройке сервера скачиваем дистрибутив OpenVPN с официального сайта, устанавливаем его и создаем в папке C:OpenVPN подпапку SSL.
- Помещаем в нее файлы ca.crt, client1.crt, client1.key и ta.key, переданные нам владельцем сервера.
- Запускаем блокнот и создаем файл Client1.ovpn следующего содержания: Обратите внимание, здесь client1.crt и client1.key — это названия файлов полученные вами от владельца сервера. x.x.x.x — это IP адрес или доменное имя OpenVPN сервера, 7777 — номер порта сервера.
- Заходим в оснастку "Службы и приложения", так, как это описано в разделе настроек сервера и запускаем службу OpenVPN, если она успешно запустилась, то выставляем ей тип запуска в "Авто".
- Одновременно обращаем внимание на свойства нашего OpenVPN адаптера, если вы все настроили правильно, то через несколько секунд после запуска службы OpenVPN адаптер получит сетевой адрес от сервера:
Полезные ссылки
- Официальная документация по OpenVPN — http://openvpn.net/index.php/open-source/documentation.html
- OpenVPN man-pages — http://openvpn.net/index.php/open-source/documentation/manuals.html
- OpenVPN HOWTO (на русском) — http://lithium.opennet.ru/articles/openvpn/openvpn-howto.html
Вы можете присылать возникшие у вас вопросы на email указанный в разделе контактов, либо обсудить эту статью на нашем форуме.
А можно ли таким способом раздавать интернет?
Наверное большинство из вас хочет спросить "А можно ли посредством OpenVPN раздавать интернет, например, через локальную сеть провайдера?" и ответ скорее всего порадует вас. Можно! Рассмотрим пример. Допустим провайдер выдает всем "серые" адреса в своей локальной сети, а подключение к интернет идет через VPN или PPPoE, при этом пользователи локальной сети провайдера "видят" друг-друга в ней и могут свободно обмениваться файлами и т.п. напрямую через локальную сеть провайдера без подключения к интернет. Рассмотрим пример, как можно "поделиться" своим интернетом с друзьями (обращаем ваше внимание на то, что у большинства провайдеров перепродажа, равно как и другие способы передачи траффика интернет третьим лицам запрещены условиями договора, поэтому прежде чем настраивать подобную схему — убедитесь в ее легитимности в вашем случае). Допустим у пользователя у которого установлен OpenVPN сервер подключение к интернет и локальной сети провайдера осуществляется через роутер (!) IP адрес которого 172.31.1.1, также роутер выдает адреса для ПК подключенных к нему из диапазона 172.31.1.0/24. Таким образом для ПК с OpenVPN сервером получаем два интерфейса, один из них WAN (интерфейс подключенный к роутеру, на котором доступна локальная сеть провайдера и интернет), а другой — VPN, т.е. интерфейс OpenVPN сервера. Намомним, что в этом случае для корректной работы OpenVPN сервера (если вы настраивали все согласно приведенной выше инструкции) на роутере необходимо пробросить порт TCP 7777 из локальной сети провайдера (именно по этому IP к вам будут подключаться удаленные клиенты) на машину с OpenVPN-сервером.
- Переименуем интерфейс подключенный к роутеру в WAN, а интерфейс OpenVPN сервера в VPN:
- В конфигах OpenVPN сервера, в файле C:OpenVPNconfigServer.ovpn добавим строки:
- В свойствах интерфейса WAN на закладке "Дополнительно", включим общий доступ для подключения к интернет:
Внимание! После того как вы сделаете это система автоматически пропишет в свойства адаптера VPN в свойства протокола TCP/IP IP адрес 192.168.0.1 и маску подсети 255.255.255.0 (!) Это неверно! Необходимо зайти в свойства протокола TCP/IP адаптера OpenVPN и выбрать там значение "Получить IP адрес автоматически", либо, если подсеть у вас такая же, как и в приведенных в инструкции по настройке сервера конфигах (10.10.10.0/255.255.255.0) прописать там IP адрес — 10.10.10.1 и маску подсети 255.255.255.0. Галочку общего доступа на подключении WAN больше не трогать (в тот момент когда мы ее установили, мы включили маршрутизацию пакетов в системе, что вообщем-то эквивалентно установке ключа реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters IPEnableRouter в значение 1), именно благодаря этому будет возможен общий доступ к интернет через VPN-соединение.
- После этого обязательно отключаем брэндмауэр Windows на интерфейсе VPN, т.е. снимаем соответствующую галочку в настройках бранлмауэра:
- После чего перезапускаем службу OpenVPN и удаленный клиент может попытаться подключиться к нам. Если все настроено верно, то в свойствах интерфейса OpenVPN на клиенте мы увидим следующее:
Т.е. клиент в нашей виртуальной частной сети получил IP адрес 10.10.10.2, основным шлюзом для него является OpenVPN сервер — 10.10.10.1, и DNS серверы именно те, которые мы задавали. Если посмотреть трассировку маршрута до нашего сайта c клиента, то мы увидим что траффик идет именно через наш OpenVPN сервер:
Чего собственно и требовалось добиться. Кстати, решение с OpenVPN универсальное, в отличие от обычного PPTP VPN. Многие провайдеры блокируют протокол GRE, используемый в PPTP VPN. OpenVPN сервер же работает только используя TCP или UDP протокол, причем номер порта вы определяете сами, получая таким образом крайне неприхотливый к "агрессивной среде провайдера" туннель 😉
От автора
Данную статью разрешается размещать на любых ресурсах, копировать полностью или частично, без ограничений, при условии сохранения ссылки на оригинал. Ссылка должна содержать название нашего ресурса Скорая Компьютерная Помощь г. Калуга оформленное в виде ссылки, а также содержать псевдоним автора статьи. Примером оформления подобной ссылки может быть:
Примечание
В последнее время к нам на электронную почту приходит большое количество вопросов в стиле "Вопрос по Вашей статье http://compkaluga.ru/articles/172/ на шаге 5 после команды clean-all в результате у Вас копируется какой-то файл. У меня этого не происходит. команда openvpn —genkey —secret %KEY_DIR% a.key создает мне ключ а вот далее build-dh иbuild-ca не дают результата (cmd.exe пишет, что команда не является внутренней или внешней. или исполняемым файлом) файл ca.key не создается. Что я мог сделать не так?".
Основной смысл которых сводится к вашей же невнимательности. Проблема при запуске clean-all, build-key и других команд заключается в том, что при установке OpenVPN вы не поставили галочки OpenSSL Utilities и OpenVPN RSA Certificate Management Scripts (их нужно ставить обязательно!). Обратите внимание на скриншот с окном выбора компонентов в начале статьи, там эти галочки стоят!