Навіщо потрібний OpenVPN. Області застосування цієї технології. Налаштування OpenVPN. Підключення до безкоштовних серверів VPN Gate

Інтернет міцно увійшов у життя обивателя. Спілкування за інтересами, знайомство з новими людьми, здобуття додаткових навичок та знань, пошук необхідної інформації- все це лише початок довгого списку того, що можна робити у мережі.

Інтернет вчора та сьогодні

Ще п'ятнадцять років тому ніхто й уявити не міг, наскільки сильно ми прив'яжемося до глобального павутиння. З'явилася нова хвороба - інтернет-залежність, від якої лікують фахівці, що так само недавно з'явилися. Відкрився раніше невідомий неосяжний ринок збуту. Розширилися горизонти для маркетингу та реклами. Знання та технології стали доступні, як ніколи раніше. Чим сьогодні займаються люди у мережі? Хтось публікує цікаві думкиу форматі блогу, хтось веде бізнес, а хтось проходить онлайн-навчання у престижному виші. У кожного свої інтереси, але є загальні поняття та явища, з якими рано чи пізно стикався будь-який практичний користувач. Це віруси та шпигунські програми, захисне ПЗ та проксі-сервера, соціальні мережі, VPN. Саме про останній і йтиметься у статті.

Що таке VPN

VPN – це мережа всередині мережі. Додаткове з'єднання, яке створюється поверх вже наявного. Найчастіше це відокремлений простір усередині інтернету, острівець захищеної інформації в океані вільного доступу. Чим відрізняється зона або тунель VPN? Насамперед тим, що доступ до нього мають лише автентифіковані користувачі, які заздалегідь додані до списку клієнтів VPN-сервісу. Крім того, весь трафік усередині передається у зашифрованому вигляді та недоступний ззовні. А ще VPN забезпечує анонімність і допомагає обходити параметри проксі, якщо такі є. Зрозуміло, кожному хотілося б захищеності, а значить, ця послуга досить затребувана. Закон ринку, що говорить, що завдяки зростаючому попиту збільшується і кількість пропозицій, все ще чинна, тому вибір постачальників послуги дуже широкий. Але ми розглянемо загальне з прикладу приватного. Налаштування OpenVPN – досить популярного рішення тунелювання – і буде зразком роботи з технологією загалом.

Переваги

Насамперед слід зазначити, що OpenVPN, на відміну від своїх платних аналогів, Розповсюджується вільно. При цьому програма має повний функціонал. Анонімний та безпечний тунель можна створювати навіть із офісу з корпоративним файрволом.

Як безперечна перевага OpenVPN клієнт-серверної реалізації можна назвати максимально спрощений процес інсталяції програми. Для вдалої установки не знадобляться глибоких знань або спеціальних навичок. Вам навіть необов'язково звикати до нової операційної системи, тому що OpenVPN доступний для Windows. Другою вирішальною перевагою програми є мінімізація витрат. Не треба купувати ліцензію або спеціалізоване обладнання. Не потрібний потужний сервер - звичайного персонального комп'ютера цілком вистачить. Якщо ви ще не визначилися з вибором програмного забезпечення для VPN-каналу, варто спробувати безкоштовний стабільний і зручний софтвід Джеймса Йонана.

OpenVPN: налаштування клієнта

Зазвичай сервіси такого плану прийнято розгортати на *nix-системах: Gentoo, CentOS, Ubuntu і т. д. Однак у випадку з OpenVPN (тим більше з клієнтською частиною) нам не має значення, чи Ubuntu встановлена ​​на комп'ютері, де буде виконуватися налаштування OpenVPN , чи Windows 7: як мінімум початкові кроки не будуть сильно відрізнятися. Для зручності виберемо досить поширену, звичну та зручну ОС від Windows. Дистрибутив програми можна знайти без проблем у вільному доступі. Завантажуємо на комп'ютер останню версію клієнта OpenVPN, запускаємо інсталятор і погоджуємось по черзі з усім, що він рекомендує. У вікні вибору компонентів слід відзначити галочкою потрібні. Після завершення установки має сенс додатково проінсталювати інтерфейс користувача OpenVPN GUI, що значно полегшить вам процес налаштування та подальшого управління клієнтом. Для коректної роботи OpenVPN повинен запускатись в Щоб цього домогтися, потрібно всього лише поставити галочку у властивостях ярлика. На цьому процес розгортання VPN-клієнта завершено. Залишилося лише отримати від адміністратора файл із ключами та сертифікатами, а також конфігураційний файл для вашого підключення.

Наступний крок – налаштування сервера OpenVPN. Windows підтримує як клієнтську, а й серверну частину програми.

OpenVPN-сервер на Windows

Серверна частина OpenVPNвстановлюється так само, як і клієнт: завантажуєте дистрибутив і по черзі погоджуєтесь із запропонованим. Але тут ви вже самі виступатимете як адміністратор. Відповідно, вносити зміни до конфігураційного файлу, генерувати ключі та сертифікати ви повинні будете самостійно. Але не треба лякатися: налаштування OpenVPN серверана Windows – завдання не з нездійсненних, це стосується навіть новачків. Операції виконуються за допомогою командного рядка. Точний текст команд ви знайдете у будь-якому настановному гіді OpenVPN. Якщо все зроблено правильно, стан нового, створеного в системі після встановлення VPN-сервера, віртуального адаптера зміниться з "Кабель не підключено" на "Підключено". У властивостях адаптера ви побачите налаштовану адресу внутрішньої мережі.

OpenVPN поза комп'ютером

Ми розглянули варіанти розгортання клієнтської та серверної частини OpenVPN на операційну систему Windows. Враховуючи кроссплатформенність програми, її можна встановлювати і на інші версії ОС (Debian, Linux Mint і т.д.). Що ще, крім стаціонарного комп'ютера, може бути у ролі клієнта чи сервера VPN? Їм може служити Активувавши там службу сервера, що розглядається нами, ви зможете підключитися VPN-клієнтом безпосередньо до накопичувача. Більшість маршрутизаторів також підтримує OpenVPN. З бурхливим розвитком інформаційних технологій усі сучасні пристрої випускаються якомога функціональнішими. Це не просто принтер, але 3 в 1, що поєднує в собі сканер і копіювальний апарат. Це не тільки мобільний телефон, а й фотоапарат, плеєр, GPS-навігатор, зчитувач QR-кодів та багато іншого. Якщо вбудованого функціонала не вистачає, вміст магазинів додатків, що постійно оновлюється, допоможе розширити можливості кишенькових пристроїв. Тому немає нічого незвичайного в тому, щоб вибрати нове поле діяльності для встановлення OpenVPN. Windows - вже пройдений етап, тепер йтиметься про маршрутизатора Mikrotik.

Розгортання OpenVPN на Mikrotik

Незважаючи на те, що сміливі експерименти вітаються завжди, результат часом не виправдовує сподівань і сподівань. Буває і так, що, поєднуючи різні технології, можна досягти абсолютно протилежного очікуваному. У випадку з Mikrotik серйозних розчарувань, звичайно, не буде, але деяка урізаність функціоналу все ж таки має місце. Наприклад, на роутері недоступний UDP-транспорт. Але, на відміну від комп'ютера, на маршрутизаторі "Мікротик" достатньо імпортувати готові файли сертифікатів та ключів, а далі запустити майстер без командного рядка. Налаштування не відрізняються складністю: потрібно прописати діапазон адрес для VPN-клієнтів, увімкнути функцію "сервер OpenVPN". якого не займає багато часу, нічим не поступається стабільності роботи VPN-серверу на комп'ютері. Єдине, що потрібно пам'ятати, так це порядок розташування дозволяючих та забороняючих правил, який є однаковим для всіх пристроїв, що виконують функцію файрвола.

Трохи про VPN-сервери замість укладання

Є висловлювання про те, що жодна технологія не завоює широкого визнання, доки звичайний користувач або системний адміністратор не зможе її легко встановити. Бажано, щоб це було в рамках одного майстра, де потрібно просто натискати кнопку "Далі". Насправді ж кожен продукт має свої шанувальники, незалежно від того, які дії доведеться вжити перед безпосереднім використанням. Налаштування OpenVPN під Windows вимагає командного рядка, але не відрізняється особливою складністю. В той час, як вбудовані інструменти операційної системи або деякі окремі рішення дійсно встановлюються і налаштовуються за кілька кліків мишкою. Але за 12 років 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"ом - вам доведеться прокинути необхідні порти (про це ми розповімо трохи нижче, коли перейдемо безпосередньо до налаштування сервера), якщо ви не уявляєте, що це таке і для чого це використовується, ми рекомендуємо вам ознайомитися зі статтею на нашому сайті.

  1. Ідемо на офіційний сайт проекту OpenVPN, у розділі Downloads - . Завантажуємо звідти, що відповідає вашому релізу 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-бітній ОС, то завантажуємо дистрибутив за першим посиланням.
  2. Запускаємо завантажений інсталятор. На етапі де вибирається шлях для встановлення вводимо C:\OpenVPN(див. скріншот), це спростить нам налаштування надалі: Після чого натискаємо "Next", доки установка не буде завершена. Якщо в процесі встановлення, на етапі вибору компонентів для установки у вас було "порожнє вікно", наприклад, таке:
    То мабуть ви завантажили "не той" дистрибутив, у такому випадку спробуйте завантажити останню релізну версію openvpn-2.2.2-install.exe (вона встановлюється як на x86, так і на x64 системи). При " правильної установкивікно вибору компонентів має виглядати так:
    Всі галочки в ньому при встановленні за замовчуванням стоять, міняти додатково нічого не потрібно. Якщо установка пройшла успішно, то в Панелі керування -> Мережеві підключення (або, якщо ви встановлюєте сервер на Windows 7 або Windows Vista, до Центру управління мережами та спільним доступом-> Зміна параметрів адаптера) у вас повинен з'явитися TAP-Win32 Adapter V9, який буде називатися "Підключення по локальній мережі X" (X - номер, що автоматично присвоюється системою):
    Стан у нього буде Мережевий кабельне підключений", тому що ми ще не конфігурували наш сервер.
  3. Створюємо в папці OpenVPN підпапку SSL, в ній зберігатимуться видані сервером ключі та сертифікати. Далі запускаємо блокнот і копіюємо в нього наступний текст: #dev-tun dev tap #dev-node "VPN" proto tcp-server #proto udp port 7777 tls-server server 10.10.10.0 255.255.255.0 маршрут для сервера, щоб бачити мережі за клієнтом # route 192.168.x.0 255.255.255.0 10.10.10.x # маршрут, що додається в таблицю маршрутизації кожного клієнта, щоб бачити мережу за сервером # push "route 192.168.x.0 255.5.5 " # дозволяє vpn-клієнтам бачити один одного, інакше всі vpn-клієнти будуть бачити тільки сервер client-to-client # каталог з описами конфігурацій кожного з клієнтів client-config-dir C:\\OpenVPN\\config\\ ccd # файл з описом мереж між клієнтом та сервером ifconfig-pool-persist C:\OpenVPN\config\\ccd\ipp.txt # шляхи для ключів і сертифікатів сервера dh C:\OpenVPN\ssl\\dh1024 .pem ca C:\OpenVPN\ssl\ca.crt cert C:\OpenVPN\ssl\\Server.crt key C:\OpenVPN\ssl\\Server.key #persist-key tls- auth C:\OpenVPN\ssl\ta.key 0 tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 keepalive 10 120 status C:\OpenVPN\log\\openvpn-status.log log C:\ \OpenVPN\log\openvpn.log verb 3 На параметрах які тут описані, ми зупинимося трохи пізніше. Після чого зберігаємо його у файл C:\OpenVPN\Config\Server.ovpn, зверніть увагу файл повинен вийти саме з розширенням .ovpn, для цього в діалозі збереження опції повинні стояти саме так, як показано на малюнку:
    Якщо ви працюєте під Windows 7 / Windows Vista та блокнот не дає вам зберегти файл Server.ovpnу папку C:\OpenVPN\Config\, Отже його потрібно запустити з правами адміністратора. Для цього клацніть у меню Пуск по ярлику Блокнота правою кнопкоюмиші та виберіть "Запуск від імені адміністратора": Тепер також за допомогою блокнота створимо файл C:\OpenVPN\easy-rsa\vars.bat, скопіювавши в нього текст: @echo off set path=%path%;c:\OpenVPN\bin set HOME=c:\OpenVPN\easy-rsa set KEY_CONFIG=openssl.cnf set KEY_DIR=c:\OpenVPN\ssl set KEY_SIZE=1024 set KEY_COUNTRY=UA set KEY_PROVINCE=Kaluga set KEY_CITY=Kaluga set KEY_ORG=CompKaluga set KEY_EMAIL=decker@сайт А також файл C:\OpenVPN\easy-rsa\openssl.cnf : # # OpenSSL example configuration file. # This is mostly being used for generation of certificate requests. # # Ця definition stops following lines choking if HOME isn"t # defined. HOME = . RANDFILE = $ENV::HOME/.rnd # # Для використання цього configuration file with "-extfile" option of # # "openssl x509" utility, name here section containing the # X.509v3 extensions to use: # extensions = # (Alternatively, use a configuration file that has only # X.509v3 extensions in it main [= default] section.) [ new_oids ] # We can add new OIDs in here for use by "ca" and "req". 3.4 # або config file substitution like this: # testoid2=$(testoid1).5.6 ############################### ##################################### [ca] default_ca = CA_default # The default ca section ## ################################################## ################ [ CA_default ] dir = $ENV::KEY_DIR # Where everything is kept certs = $dir # Where the issued certs are kept crl_dir = $dir # Where the issued crl are kept database = $dir/index.txt # database index file. new_certs_dir = $dir # default place for new certs. certificate = $dir/ca.crt # CA CA certificate serial = $dir/serial # current serial number crl = $dir/crl.pem # The current CRL private_key = $dir/ca.key # The private key RANDFILE = $ dir/.rand # private random number file x509_extensions = usr_cert # Додатки для пошуку до певного # Extensions для пошуку для CRL. Note: Netscape communicator chokes on V2 CRLs # this is commented out by default to leave a V1 CRL. # crl_extensions = crl_ext default_days = 3650 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = md5 # which md to use. preserve = no # keep passed DN ordering # A few difference way of specifying how similar the request should look # For type CA, the listed attributes must be the same, and the optional # and supplied fields are just that:-) policy = policy_match # For CA policy [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional # Для "прийнятий" policy # При цьому пункті в часі, ви повинні все прийнятний "object" # types . [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional ########################## ########################################## [ req ] default_bits = $ENV: :KEY_SIZE default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes x509_extensions = v3_ca# a mask for permitted string types. Існують several options. # default: PrintableString, T61String, BMPString. # pkix: PrintableString, BMPString. # utf8only: only UTF8Strings. # nombstr: PrintableString, T61String (не BMPStrings або UTF8Strings). # MASK:XXXX a literal mask value. # WARNING: поточні версії Netscape crash на BMPStrings або UTF8Strings # so use this option with caution! string_mask = nomstr # req_extensions = v3_req # The extensions to add to a certificate request [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = $ENV::KEY_COUNTRY countryName_min = 2 countryName_max = Name ) stateOrProvinceName_default = $ENV::KEY_PROVINCE localityName = Locality Name (eg, city) localityName_default = $ENV::KEY_CITY 0.organizationName = Organization Name (eg, company) 0.organizationName_default = $ENV::KEY_ORG # it is not needed normally:-) #1.organizationName = Second Organization Name (eg, company) #1.organizationName_default = World Wide Web Pty Ltd organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default = commonName = Common Name (eg, ваш name або ваш server\'s hostname) commonName_max = 64 emailAddress = Email Address emailAddress_default = $ENV::KEY_EMA SET-ex3 = SET extension number 3 [ req_attributes ] challengePassword = A challenge password challengePassword_min = 4 challengePassword_max = 20 unstructuredName = Натисніть кнопку " usp_cert " # IX guidelines але деякі CAs it and some software # requires this to avoid interpreting an end user certificate as a CA. *except* object signing # # Це OK для SSL server # nsCertType = server # Для object signing certificate this would be used. and for everything including object signing: # nsCertType = client, email, objsign # Цей типовий в keyUsage for a client certificate. # keyUsage = nonRepudiation, digitalSignature, keyEncipherment # Ця робота буде відтворена в Netscape"s comment listbox. is for subjectAltName and issuerAltname.#Import the email address.#subjectAltName=email:copy#Copy subject details#issuerAltName=issuer:copy #nsRenewalUrl #nsCaPolicyUrl #nsSslServerName [ server ] # JY ADDED -- Make a cert with nsCertType set to "server" basicConstraints=CA:FALSE nsCertType = server nsComment = "OpenSSL Generated Server Certificate" subjectKeyIdentifi [ v3_req ] # Extensions to add to a certificate request basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment [ v3_ca ] # Extensions for typical CA # PKIX recommendation. subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always # Це what PKIX відгуки, але деякі broken software chokes on critical # extensions. #basicConstraints = critical,CA:true # So we do this instead. basicConstraints = CA:true # Key usage: this is typical for CA certificate. However since it will # prevent it being used as test self-signed certificate it is best # left out by default. # keyUsage = cRLSign, keyCertSign # Кожен дзвінок це це також # nsCertType = sslCA, emailCA # Include email address in subject alt name: another PKIX recommendation # subjectAltName=email:copy # Copy issuer details # issuer of an extension: beware experts тільки! # obj=DER:02:03 # Where "obj" is a standard or added object # You can even override a supported extension: # basicConstraints= critical, DER:30:03:01:01:FF [ crl_ext ] # CRL extensions . # Тільки issuerAltName and authorityKeyIdentifier може бути не в CRL. # issuerAltName=issuer:copy authorityKeyIdentifier=keyid:always,issuer:always Вітаю! Ви створили основні конфігураційні файли вашого сервера. Продовжимо його налаштування.
  4. Для подальшого налаштування сервера нам будуть потрібні деякі навички роботи в командному рядку. Насамперед давайте розберемося, як її запустити? Існує кілька способів, наприклад, натиснути Пуск -> Виконати (або комбінацію кнопок Win+R) на клавіатурі і в полі ввести cmdта натиснути кнопку Ок. Однак, користувачам Windows 7 / Windows Vista знадобиться запустити консоль з правами адміністратора, для цього найпростіше на робочому столі створити відповідний ярлик. Клацаємо правою кнопкою миші по будь-якому порожньому місці робочого столу і вибираємо пункт "Створити ярлик", в полі "розташування об'єкта" просто вказуємо три літери - cmdі називаємо ярлик cmd, або командний рядок. Далі користувачі Windows XP просто запускають його, а користувачі Windows Vista і Windows 7 запускають його від імені адміністратора, так як це робилося вище з блокнотом.
  5. Далі послідовно вводимо в консолі рядки: cd C:\OpenVPN\easy-rsa vars clean-all При цьому на екрані це має виглядати так:
    Далі не закриваючи це вікно послідовно вводимо команди генерації ключів: openvpn --genkey --secret %KEY_DIR%\ta.key build-dh build-ca Остання команда (build-ca) створить сертифікат і ключ центру сертифікації (CA), в процесі , Щоправда, вона задасть вам кілька питань, відповісти на які треба за замовчуванням натисканням кнопки Enter:
    Тепер створимо ключ сервера: build-key-server server Зверніть увагу, другим аргументом у команді йде ім'я ключа (server), це ж ім'я ви повинні ввести при відповіді на запитання Common Name (eg, your name or your server"s hostname), на інші запитання можна відповісти за замовчуванням натисканням кнопки Enter.Якщо ви все зробили правильно, команда запропонує підписати сертифікат і підтвердити запит. Y(Див. скріншот):
    Якщо ви все зробили правильно, то картинка у вас буде ідентичною скріншоту, а в останніх рядках виводу команди буде повідомлення про успішне додавання одного запису до бази даних.
  6. Після цього йдемо в оснащення "Служби та програми" консолі керування, зробити це можна клацнувши по ярлику Комп'ютер (Мій комп'ютер) правою кнопкою миші та вибравши пункт меню Управління, або набравши в консолі команду services.msc, знаходимо там службу "OpenVPN Service" і в меню правою кнопкою миші вибираємо "Пуск". Якщо до цього ви все зробили правильно, служба перейде в стан "Працює". Тепер можна змінити їй тип запуску на "Авто" замість "Вручну", який був там за замовчуванням. В результаті має вийти так:
    На цьому налаштування самого сервера закінчено, залишилося лише налаштувати клієнтів. Для цього необхідно також видати їм ключі та сертифікати, робиться це практично аналогічно до сервера, тільки для сервера ми використовували команду build-key-server, а для клієнтів будемо використовувати команду build-key.
  7. Припустимо, що у нас два клієнти, назвемо їх client1 і client2. Виконаємо послідовно команди: build-key client1 build-key client2 При цьому на запитання Common Name (eg, your name або your server"s hostname) ви також повинні вказати ім'я клієнта, що використовується в команді, тобто якщо ви вводили команду build- key client1, то на запитання Common Name відповідаємо client1, якщо client2, то client2. Y. Тепер перезапускаємо службу OpenVPN для того, щоб зміни набули чинності, в оснастці управління службами, в меню по правій кнопці миші "Перезапуск", або ж у консолі послідовно вводимо: net stop openvpnservice net start openvpnservice
  8. Тепер якщо ми зайдемо до папки, то побачимо там згенеровані нами файли ключів та сертифікатів:
    Кожному клієнту потрібні будуть його файли: ca.crt .crt .key ta.key Тобто. для клієнта 1 ми збираємо файли ca.crt, client1.crt, client1.key та ta.key, для клієнта 2 - ca.crt, client2.crt, client2.key та ta.key відповідно і т.п. І тим чи іншим чином відправляємо йому їх (мається на увазі поштою, в архіві з паролем, або на флешці), файли ключів і сертифікатів повинні бути передані надійними каналами зв'язку і не повинні потрапити в "треті руки", т.к. фактично за допомогою них клієнт може отримати доступ до вашої віртуальної підмережі. У наступному розділі ми розглянемо налаштування клієнта, при цьому буде передбачатися, що файли ключів і сертифікатів від вас він уже отримав.
  9. Якщо на ПК, що використовується як сервер, використовується firewall/брандмауер, то необхідно додати OpenVPN до списку винятків. Для вбудованого брандмауера Windowsв консолі це можна зробити наступною командою: netsh firewall add allowedprogram program = C:\OpenVPN\bin\openvpn.exe name = "OpenVPN Server" ENABLE scope = ALL profile = ALL

Налаштування клієнтів

Налаштування клієнта значно простіше, ніж налаштування сервера, клієнт нам не потрібно генерувати ключі, сертифікати і т.п., так як все необхідне вже було згенеровано нами на сервері і передано клієнту. Тому інструкція у разі клієнта виходить значно коротше.

Корисні посилання

  • Офіційна документація по OpenVPN -
  • OpenVPN man-pages -
  • OpenVPN HOWTO (російською) - http://lithium.opennet.ru/articles/openvpn/openvpn-howto.html

F.A.Q.

Ви можете надсилати питання , що виникли у вас на email вказаний у розділі , або обговорити цю статтю на .

А чи можна у такий спосіб роздавати інтернет?


Від автора

Цю статтю дозволяється розміщувати на будь-яких ресурсах, копіювати повністю або частково, без обмежень, за умови збереження посилання на оригінал. Посилання має містити назву нашого ресурсу Швидка Комп'ютерна Допомога м. Калуга, оформлене у вигляді посилання, а також містити псевдонім автора статті. Прикладом оформлення такого посилання може бути:

Налаштування сервера OpenVPN// Decker

Примітка

У Останнім часомдо нас на електронну пошту надходить велика кількістьпитань у стилі " Питання за Вашою статтею на кроці 5 після команди clean-all в результаті у Вас копіюється якийсь файл. В мене цього не відбувається. команда openvpn --genkey --secret %KEY_DIR%\ta.key створює мені ключ а ось далі build-dh і build-ca не дають результату (cmd.exe пише, що команда не є внутрішньою чи зовнішньою... або виконуваним файлом) файл ca.key не створюється. Що я міг зробити не так?".

Основний зміст яких зводиться до вашої неуважності. Проблема під час запуску clean-all, build-key та інших команд полягає в тому, що при встановленні OpenVPN ви не поставили галочки OpenSSL Utilities та OpenVPN RSA Certificate Management Scripts (їх потрібно ставити обов'язково!). Зверніть увагу на скріншот із вікном вибору компонентів на початку статті, там ці галочки стоять!

3. Увійдіть до та завантажте архів файлів конфігурації.

4. Розархівуйте архів із файлами конфігурації.

5. Запустіть ярлик OpenVPN GUI з робочого столу.

6. У треї Windows (у нижньому лівому куті робочого столу) знайдіть іконку програми OpenVPN GUI (монітор із замком). Можливо знадобиться розгорнути весь список програм у треї.

7. Правою кнопкою миші натисніть іконку OpenVPN GUI та виберіть пункт “Імпорт конфігурації”.

8. Імпортуйте розархівовані конфігураційні файли по одному. Файли конфігурації із закінченням _udp – це протокол UDP, швидкість вища, а пінг нижче.

9. Клацніть правою кнопкою миші на іконку OpenVPN GUI у треї, виберіть потрібний сервер та натисніть підключитися.

10. Жовта іконка OpenVPN GUI говорить про процес підключення, зелена іконка говорить про вдале підключення та захист.

11. Щоб вибрати інший сервер, потрібно спочатку відключитися від підключеного і лише після цього вибрати і підключитися до іншого сервера.

12. Щоб відключити від сервера, натисніть іконку OpenVPN GUI в треї, виберіть виділений сервер, потім виберіть “вимкнутись”.

13. Якщо необхідно видалити файли конфігурації, знайти їх можна по пусті: C:\Users\***ім'я користувача***\OpenVPN\config

OpenVPN користується заслуженою популярністю у системних адміністраторів, коли потрібно швидко та ефективно з'єднати VPN-каналами віддалені офіси. Сьогодні пропонуємо вам статтю нашого читача, в якій він розповість вам, як налаштувати безпечний канал між офісами з додатковим парольним захистом на платформі Windows.

Так нам потрібно організувати VPN канал між двома офісами. Мережа Офіс 1 (назвемо його С_ОФ1) та Мережа Офіс 2 (назвемо його С_ОФ2).

Скажу відразу, що в моєму випадку OpenVPN в обох офісах встановлений на Windows 7.

С_ОФ1включає:
Машина куди ставимо OpenVPN Server має 2 мережні інтерфейси.
Також на ній встановлений проксі-сервер, який роздає інет у локалку, тим самим будучи для всіх машин у локалці основним шлюзом (192.168.0.100)
192.168.0.100 дивиться у мережу
192.168.1.2 дивиться у світ через роутер. Роутер має статичний IP скажімо 111.222.333.444. На роутері зроблено прокидання порту 1190 (у моєму випадку порт 1190 прокинуто на 192.168.1.2)
Користувач у мережі: 192.168.0.50

С_ОФ2включає:
Машина куди ставимо OpenVPN Client має 2 мережні інтерфейси.
Також на ній встановлений проксі-сервер, який роздає інет у локалку, тим самим будучи для всіх машин у локалці основним шлюзом (172.17.10.10)
172.17.10.10дивиться в мережу
192.168.1.2 дивиться у світ через роутер.
Користувач у мережі: 172.17.10.50

Завдання:Користувач С_ОФ1(192.168.0.50) повинен бачити розшарені ресурси на Користувачі С_ОФ2 (172.17.10.50) і навпаки.

Приступаємо до налаштування

Завантажуємо OpenVPN з відповідно до розрядності системи.

Запускаємо установку, на 3-му етапі активуємо неактивні пункти.

Наступний крок – шлях для встановлення. Щоб полегшити собі подальше життя, встановлюємо корінь диска С.

У процесі встановлення в систему встановлюється віртуальний мережевий адаптер TAP-Win32 Adapter V9та, відповідно, драйвер до нього. Цьому інтерфейсу програма OpenVPN якраз і призначатиме IP адресу та маску віртуальної мережі OpenVPN. У нашому випадку йому призначено адресу 10.10.10.1 з маскою 255.255.255.0 на сервері С_ОФ1 та 10.10.10.2 з аналогічною маскою на клієнті С_ОФ2.

Перейменуємо його на "VPN"


У директорії "C: OpenVPN" слід відразу ж створити додатково папку ssl(тут ми зберігатимемо ключі аутентифікації) папку ccd(Тут буде конфігурація налаштувань сервера для клієнта).

В папці easy-rsaстворюємо файл vars.bat, даний пакетний файлбуде задавати змінні для сеансу генерації сертифікатів, в тій частині щодо організації та розташування заповнюємо своїми даними.

Set HOME=C:\OpenVPN\easy-rsa
set KEY_CONFIG=openssl-1.0.0.cnf
set KEY_DIR=C:\OpenVPN\ssl
set KEY_SIZE=1024
set KEY_COUNTRY=UA
set KEY_PROVINCE=Stavropol
set KEY_CITY = Stavropol
set KEY_ORG=ServerVPN
set KEY_EMAIL=admin@localhost
set KEY_CN=test
set KEY_NAME=test
set KEY_OU=test
set PKCS11_MODULE_PATH=test
set PKCS11_PIN=1234

Запускаємо командний рядок від імені адміністратора.


Переходимо шляхом C:\OpenVPN\easy-rsa, набравши для переходу в командному рядку команду

Cd C:\OpenVPN\easy-rsa

Запускаємо vars.bat:

Тепер запускаємо build-ca.bat. Так як вся інформація про сервер у нас вже заповнена, все залишаємо без змін:

після цього у нас у папці ssl з'явиться два файли ca.crtі ca.key.

Запускаємо build-dh.bat:

в результаті у нас у папці ssl з'явиться файл dh1024.pem.

Створюємо серверний ключ, для цього вводимо команду:

Build-key-server.bat ServerVPN

де " ServerVPN" це назва нашого VPN сервера, як у моєму випадку,

Важливо!Вказуємо параметр "commonname" – пишемо ім'я нашого VPN сервера. Всі інші параметри залишаємо за промовчанням, на всі запитання відповідаємо yes

в результаті у нас у папці ssl з'являться файли ServerVPN.crt, ServerVPN.csr, ServerVPN.key.

Приступаємо до формування клієнтських ключів.

Виконуємо команду:

Build-key.bat UserVPN_1

де " UserVPN_1ім'я нашого клієнта.

Важливо!Вказуємо параметр "commonname" – пишемо ім'я нашого VPN клієнта (UserVPN_1). Всі інші параметри залишаємо за промовчанням, на всі запитання відповідаємо yes

В результаті у нас у папці ssl з'являться файли UserVPN_1.crt, UserVPN_1.csr, UserVPN_1.key.

Якщо у вас є кілька клієнтів, то повторюємо формування ключів; не забуваючи кожному клієнту надавати свої імена

Build-key.bat UserVPN_2
build-key.bat UserVPN_3

Генерація ключа tls-auth (ta.key) для аутентифікації пакетів, для цього переходимо в кореневу папку OpenVPN:

та виконуємо команду:

Openvpn --genkey --secret ssl/ta.key

в результаті в папці ssl отримаємо файл ta.key.

Починаємо створення конфіга сервера. У папці config створюємо файл OpenVPN.ovpn:

#Порт для роботи OpenVPN
port 1190


proto udp

#Тип інтерфейсу
dev tun

#Ім'я інтерфейсу
dev-node "VPN"

#Сертифікат для шифрування підключення
dh C:\OpenVPN\ssl\dh1024.pem


ca C:\OpenVPN\ssl\ca.crt

#Сертифікат сервера
cert C:\OpenVPN\ssl\ServerVPN.crt

#ключ сервера
key C:\OpenVPN\ssl\ServerVPN.key

# Захист від DOS атак (для сервера, після шляху до ключа, ставимо 0, а для клієнта 1)
tls-server
tls-auth C:\OpenVPN\keys\ta.key 0
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450

#Діапазон IP адрес для VPN мережі
server 10.10.10.0 255.255.255.0


cipher AES-256-CBC

#Логи

#Каталог, у якому лежить файл з назвою нашого клієнта, у моєму випадку UserVPN_1 без розширення, і в ньому записати команди, які будуть виконуватися на клієнті:
client-config-dir "C:\OpenVPN\ccd"


verb 3


mute 20

# Максимальна кількістьодночасно підключених клієнти ми хочемо дозволити
max-clients 2

#Час життя неактивної сесії
keepalive 10 120

#Дозволяємо клієнтам бачити один одного
client-to-client

#Включаємо стиск
comp-lzo
persist-key
persist-tun

#Маршрути додаються через.exe якщо без нього, то не у всіх прописуються маршрути
route-method exe

#Затримка перед додаванням маршруту
route-delay 5

#Команда яка повідомляє клієнтам що за сервером локальна мережа з адресами 192.168.0.0 255.255.255.0
push "route 192.168.0.0 255.255.255.0"

#Прописує маршрут на сервері, щоб бачити мережу за клієнтом
route 172.17.10.0 255.255.255.0 10.10.10.2

#Шлюз
route-gateway 10.10.10.1

кожному клієнту видається за 1 адресою, без віртуальних портів маршрутизатора
topology subnet

В папці ccdстворюємо файл без розширення і називаємо його точно як клієнта UserVPN_1, відкриваємо його блокнотом і пишемо наступне:

#Привласнюємо клієнту постійний IP 10.10.10.2
ifconfig-push 10.10.10.2 255.255.255.0

#повідомляємо серверу, що за клієнтом мережа 172.17.10.0
iroute 172.17.10.0 255.255.255.0

Якщо розкоментувати наступний рядок, то клієнт буде відключений (на випадок якщо потрібно цього клієнта відключити від сервера, а інші будуть працювати)
# disable

Створюємо конфіг клієнта.

#Говоримо, щоб клієнт забирав інформацію про маршрутизацію із сервера (push опції)
client

#Порт для роботи OpenVPN
port 1190

#Вказуємо за яким протоколом працює OpenVPN
proto udp

#Тип інтерфейсу
dev tun

#Ім'я інтерфейсу
dev-node "VPN"

# Адреса сервера, до якого підключаємося
remote 444.333.222.111 1190

#захист
remote-cert-tls server

#Сертифікат центру сертифікації
ca C:\OpenVPN\ssl\ca.crt

#Сертифікат сервера
cert C:\\OpenVPN\\ssl\\ UserVPN_1.crt

#ключ
key C:\\OpenVPN\\ssl\\ UserVPN_1.key

# Захист від DOS атак
tls-auth C:\OpenVPN\keys\ta.key 1
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ping-restart 60
ping 10

#Включаємо стиск
comp-lzo
persist-key
persist-tun

# Вибір криптографічного шифру
cipher AES-256-CBC

#Логи
status C:\OpenVPN\log\openvpn-status.log
log C:\OpenVPN\log\openvpn.log

#Рівень налагоджувальної інформації
verb 3

#Кількість повідомлень, що повторюються
mute 20

Встановлюємо на клієнті OpenVPN, надаємо йому ca.crt, UserVPN_1.crt, UserVPN_1.key, ta.key.

Налаштовуємо файрволи та антивіруси на клієнті та на сервері для безперешкодного проходження пакетів. Описувати не все залежить від встановлених антивірусів і файрволів.

Після всього цього запускаємо наш сервер та клієнт.

Якщо все правильно зробили наш сервер отримає IP 10.10.10.1 та підключиться до нього клієнт та отримає IP 10.10.10.2. І так підключення у нас відбулося тепер сервер і клієнт пінг один одного по IP нашої VPN мережі, тобто 10.10.10.1 і 10.10.10.2.

Для того, щоб пінг йшов за внутрішніми адресами наших С_ОФ1 та С_ОФ2 потрібно включити службу Маршрутизації та віддаленого доступу.


Потрібно зайти у властивості служби, налаштувати її на автоматичне включеннята запустити.

Після цього ми зможемо пінгувати внутрішні IP сервери та клієнти (172.17.10.10 клієнт та 192.168.0.100 сервер).

Але цей спосіб має невеликий недолік: після включення цієї служби і підключення до нашого VPN-каналу на значку мережного підключення повисне червоний хрест до відключення VPN.

При цьому всі мережі працюють у штатному режимі. Особисто мене цей хрест дратує і іноді збиває з пантелику.

Є другий спосіб зробити видимими внутрішні IP мереж наших сервера і клієнта.

Для цього заходимо до реєстру, відкриваємо гілку реєстру:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TcpIP\Parameters

Знаходимо параметр і змінюємо значення: IPEnableRouterтипу REG_DWORDзначення 1 .

Не забуваймо перезавантажити машину, щоб налаштування набули чинності!

Це потрібно зробити і на сервері, і на клієнта.

Отже ми пінгуємо наші мережі по внутрішніх IP, а так як у нас і сервер і клієнт для своїх мереж є шлюзами, то і машини з мережі 1 можуть бачити машини з мережі 2 і навпаки. тобто Користувач С_ОФ1(192.168.0.50) може бачити розшаровані папки Користувача С_ОФ2 (172.17.10.50) і навпаки.

Якщо сервер і клієнт не будуть шлюзами для своїх мереж, то доведеться прописувати маршрути руками.

Приклад для С_ОФ1:

Route -p 172.17.10.0 255.255.255.0 192.168.0.100 (машина де встановлено OpenVPN)

Приклад для С_ОФ2:

Route -p 192.168.0.0 255.255.255.0 172.17.10.10(машина де встановлений OpenVPN)

у моєму випадку цього не знадобилося.

Для автоматичного запускусервера та клієнта нам потрібно включити службу OpenVPN Service

тепер при завантаженні машини сервер автоматично стартує, а при включенні машини клієнта він автоматично підключиться до сервера.

Додатковий захист

Як відомо в OpenVPN є можливість аутентифікації за сертифікатами, як описано вище, а також за логіном та паролем, але можна ще й об'єднати їх разом. Наскільки мені відомо лише у Linux є можливість штатними засобаминалаштувати автентифікацію за логіном та паролем, але в Windows це теж можна вирішити. Для цього в папці configстворюємо файл auth.vbsі пишемо в нього таке

"VBscript auth.vbs для автентифікації в OpenVPN - auth-user-pass-verify auth.vbs via-file "(c) 2007 vinni http://forum.ixbt.com/users.cgi?id=info:vinni "Support : http://forum.ixbt.com/topic.cgi?id=14:49976 " у скрипті проводиться порівняння імені користувача без урахування регістру. Якщо потрібно інакше - приберіть UCase(...) в 2 або 4 місцях On Error Resume Next " відкриваємо файл, ім'я якого передано OpenVPN в скрипт через параметр Set fso = CreateObject("scripting.filesystemobject") Set CurrentUserPasswordFile = fso.OpenTextFile(WScript.Arguments(0),1) "1 = for reading if Err. Номер<>0 Then WScript.Quit(1) " читаємо з цього файлу 2 рядки - ім'я та пароль, які ввів користувач "на тому кінці" if CurrentUserPasswordFile.AtEndOfStream then WScript.Quit(1) .Quit(1) Password=CurrentUserPasswordFile.ReadLine CurrentUserPasswordFile.Close " відкриваємо змінну оточення common_name (це CN пред'явленого клієнтом сертифіката) " і порівнюємо її із введеним ім'ям користувача. " якщо це порівняння не потрібно, то наступні 2 рядки видалити або закоментувати CurrentCommonName = CreateObject("Wscript.Shell").ExpandEnvironmentStrings("%common_name%") if UCase(CurrentCommonName)<>UCase(UserName) then WScript.Quit(1) " відкриваємо наш файл з базою логінів та паролів " за замовчуванням це Users.pw в поточному каталозі Set UserPasswordFileBase = fso.OpenTextFile("Users.pw",1) "1 = for reading if Err.Number<>0 Then WScript.Quit(1) " читаємо в циклі пари рядків, пропускаючи порожні між цими парами, " і порівнюємо їх з тим, що ввів користувач. Do while not(UserPasswordFileBase.AtEndOfStream) NextUserName=UserPasswordFileBase.ReadLine if Err.Number<>0 Then WScript.Quit(1) if NextUserName<>"" then " якщо ім'я користувача треба порівнювати з урахуванням регістру, то видаліть тут UCase(...) if UCase(UserName)=UCase(NextUserName) then if Password=UserPasswordFileBase.ReadLine then " якщо ім'я та пароль збіглися з парою з бази , то завершуємо скрипт з результатом 0 " так потрібно для OpenVPN" a, це ознака успішної аутентифікації UserPasswordFileBase.Close WScript.Quit(0) end if else UserPasswordFileBase. 1 " так потрібно для OpenVPN"a, це ознака НЕуспішної автентифікації UserPasswordFileBase.Close WScript.Quit(1)

Також у папці config складаємо файл Users.pw туди пише логін і пароль нашого клієнта

UserVPN_1
123456

Якщо кілька клієнтів то:

UserVPN_1
123456

UserVPN_2
365214

UserVPN_3
14578

Далі потрібно в конфізі клієнта прописати рядок auth-user-pass, тепер коли клієнт буде підключатися до сервера у нього буде випливати вікно авторизації, де потрібно ввести логін і пароль, який ви призначили йому в Users.pwїх потрібно буде повідомити клієнту.

У мене налаштовано, що ім'я користувача (логін) відповідає імені клієнта в сертифікаті, тобто UserVPN_1. але можна встановити й інше ім'я відмінне від імені в сертифікаті, для цього потрібно дивитися налаштування в auth.vbs.

" відкриваємо змінну оточення common_name (це CN пред'явленого клієнтом сертифіката)
і порівнюємо її з введеним ім'ям користувача.
Якщо це порівняння не потрібно, то наступні 2 рядки видалити або закоментувати

CurrentCommonName = CreateObject("WscrIPt.Shell").ExpandEnvironmentStrings("%common_name%")
if UCase(CurrentCommonName)<>UCase(UserName) then WScrIPt.Quit(1)
WScrIPt.Echo "Debug: CurrentCommonName=" & CurrentCommonName

А для того, щоб аутентифікація працювала і за сертифікатом, і за логіном з паролем, але при цьому не випливало вікно авторизації користувача, так як це буде затримувати підключення клієнта до сервера, якщо, наприклад, у вас включена автоматичне завантаженняслужби OpenVPN Service (як налаштовано у мене) або ви просто не хочете щоразу вводити логін та пароль, у цьому випадку на клієнті в папці sslстворюємо файл pass.txtі пишемо в нього наш логін та пароль ось так:

UserVPN_1
123456

а в конфізі клієнта змінюємо рядок auth-user-passна auth-user-pass C:\OpenVPN\ssl\pass.txt.

Тепер я вмикаю машину, де встановлений OpenVPN -Server, запускається служба і сервер VPN автоматично піднімається. Клієнт запускає машину і в нього також відбувається автоматичне підключення до мого сервера. Тепер можна заходити в спільні папкиабо RDP працювати, наприклад, в 1С, встановленої в іншій організації.

контакти [email protected]

  • Теги:

Please enable JavaScript to view the

OpenVPN – один з варіантів VPN(virtual private network або приватних віртуальних мереж), що дозволяють реалізувати передачу даних спеціально створеним зашифрованим каналом. Таким чином можна з'єднати два комп'ютери або побудувати централізовану мережуз сервером та кількома клієнтами. У цій статті ми навчимося створювати такий сервер та налаштовувати його.

Як уже було сказано вище, за допомогою технології, про яку йдеться, ми можемо передавати інформацію безпечним каналом зв'язку. Це може бути обмін файлами або захищений доступ до Інтернету через сервер, що є загальним шлюзом. Для його створення нам не потрібне додаткове обладнання та особливі знання– все робиться на тому комп'ютері, який планується використовувати як сервер VPN.

Для подальшої роботинеобхідно буде налаштувати і клієнтську частину на машинах користувачів мережі. Вся робота зводиться до створення ключів та сертифікатів, які потім передаються клієнтам. Ці файли дозволяють при підключенні до сервера отримати IP-адресу та створити згаданий вище зашифрований канал. Вся інформація, передана по ньому, може бути прочитана лише за наявності ключа. Ця особливість дозволяє значно підвищити безпеку та забезпечити збереження даних.

Встановлення OpenVPN на машину-сервер

Інсталяція є стандартною процедурою з деякими нюансами, про які і поговоримо докладніше.


Налаштування серверної частини

За виконання таких дій слід бути максимально уважним. Будь-які огріхи призведуть до непрацездатності сервера. Ще одна обов'язкова умова – ваша обліковий записмає мати права адміністратора.

  1. Ідемо до каталогу "easy-rsa", який у нашому випадку знаходиться за адресою

    C:\OpenVPN\easy-rsa

    Знаходимо файл vars.bat.sample.

    Перейменовуємо його в vars.bat(видаляємо слово "sample"разом із точкою).

    Відкриваємо цей файл у редакторі. Це важливо, тому що саме цей блокнот дозволяє правильно редагувати та зберігати коди, що допомагає уникнути помилок під час їх виконання.

  2. Насамперед видаляємо всі коментарі, виділені зеленим кольором – вони нам тільки заважатимуть. Отримаємо таке:

  3. Далі змінюємо шлях до папки "easy-rsa"на той, який ми вказували під час встановлення. В даному випадку просто видаляємо змінну %ProgramFiles%і міняємо її на C:.

  4. Наступні чотири параметри залишаємо без змін.

  5. Інші рядки заповнюємо довільно. Приклад на скріншоті.

  6. Зберігаємо файл.

  7. Також потрібно відредагувати такі файли:
    • build-ca.bat
    • build-dh.bat
    • build-key.bat
    • build-key-pass.bat
    • build-key-pkcs12.bat
    • build-key-server.bat

    Вони потрібно поміняти команду

    на абсолютний шляхдо відповідного їй файлу openssl.exe. Не забуваймо зберігати зміни.

  8. Тепер відкриваємо папку "easy-rsa", затискаємо SHIFTі клацаємо ПКМ по вільному місцю(Не файлами). У контекстному меню вибираємо пункт "Відкрити вікно команд".

    Запуститься "Командна строка"із вже здійсненим переходом у цільовий каталог.

  9. Вводимо команду, вказану нижче, та натискаємо ENTER.

  10. Далі запускаємо ще один "батник".

  11. Повторюємо першу команду.

  12. Наступний крок – створення потрібних файлів. Для цього використовуємо команду

    Після виконання, система запропонує підтвердити дані, які ми вносили у файл vars.bat. Просто кілька разів натискаємо ENTER, доки не з'явиться вихідний рядок.

  13. Створюємо DH-ключ за допомогою запуску файлу

  14. Готуємо сертифікат для серверної частини. Тут є важливий момент. Йому потрібно присвоїти те ім'я, яке ми прописали в vars.batв рядку "KEY_NAME". У нашому прикладі це Lumpics. Команда виглядає так:

    build-key-server.bat Lumpics

    Тут також необхідно підтвердити дані за допомогою кнопки ENTER, а також двічі ввести букву «y»(yes), де потрібно (див. скріншот). Командний рядокможна закрити.

  15. У нашому каталозі "easy-rsa"з'явилася Нова папказ назвою "keys".

  16. Її вміст потрібно скопіювати та вставити в папку "ssl", яку необхідно створити у кореневому каталозі програми.

    Вигляд папки після вставки скопійованих файлів:

  17. Тепер йдемо до каталогу

    C:\OpenVPN\config

    Створюємо тут текстовий документ (ПКМ – Створити – Текстовий документ), перейменовуємо його на server.ovpnта відкриваємо в Notepad++. Вносимо наступний код:

    port 443
    proto udp
    dev tun
    dev-node "VPN Lumpics"
    dh C:\OpenVPN\ssl\dh2048.pem
    ca C:\OpenVPN\ssl\ca.crt
    cert C: OpenVPN ssl Lumpics.crt
    key C: OpenVPN ssl Lumpics.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:\OpenVPN\log\\status.log
    log C:\OpenVPN\log\openvpn.log
    verb 4
    mute 20

    Зверніть увагу, що назви сертифікатів та ключів повинні збігатися з розміщеними в папці "ssl".

  18. Далі відкриваємо "Панель управління"і переходимо в «Центр управління мережами».

  19. Натискаємо на посилання "Зміна параметрів адаптера".

  20. Тут нам потрібно знайти підключення, яке здійснюється через "TAP-Windows Adapter V9". Зробити це можна, натиснувши на з'єднання ПКМ і перейшовши до його властивостей.

  21. Перейменовуємо його в "VPN Lumpics"без лапок. Ця назва має збігатися з параметром "dev-node"у файлі server.ovpn.

  22. Завершальний етап – запуск служби. Натискаємо клавіші Win+R, вводимо рядок, вказаний нижче, і тиснемо ENTER.

  23. Знаходимо сервіс із назвою OpenVpnService, Клікаємо ПКМ і йдемо в його властивості.

  24. Тип запуску міняємо на «Автоматично», запускаємо службу та натискаємо «Застосувати».

  25. Якщо ми все зробили правильно, то біля адаптера має зникнути червоний хрестик. Це означає, що підключення готове до роботи.

Налаштування клієнтської частини

Перед початком налаштування клієнта необхідно зробити кілька дій на серверній машині – згенерувати ключі та сертифікат для налаштування підключення.


Роботи, які необхідно виконати на клієнтській машині:


На цьому налаштування сервера та клієнта OpenVPN завершено.

Висновок

Організація власної VPN-мережі дозволить вам максимально захистити інформацію, що передається, а також зробити інтернет-серфінг більш безпечним. Головне – бути уважнішими при налаштуванні серверної та клієнтської частини, при правильних діяхможна буде скористатися всіма перевагами приватної віртуальної мережі.