Направи си сам OVPN (OpenVPN) - TheWired

Направи си сам OVPN (OpenVPN)

В самото начало на този блог написах как да се заобиколят ключалките, но тази инструкция е малко остаряла. Мисля, че е време да го актуализирам и реших да го направя не в оригиналния пост, а да напиша нов, въз основа на настоящите реалности. В резултат на това ще получите работата си OVPN (OpenVPN), свързване с едно щракване. Така че да тръгваме ...

сертификати ключове

Извинение: предполага се, че вече имате сървър с Ubuntu на борда, ако не, стартирайте го (за да направите това има две връзки вдясно, едната на Linode, другата на DigitalOcean). От опит не всички читатели разбират очевидните неща, затова ще пиша подробно.

# 1: инсталирайте и конфигурирайте OpenVPN сървъра и неговата среда

Сега нека инсталираме OpenVPN и Easy-RSA ...

По подразбиране конфигурацията трябва да бъде разопакована в/etc/openvpn, така че правим това ...

Сега трябва да отворите файла server.conf и да го редактирате ...

Този файл се нуждае от някои промени. Намерете секция от файла, която изглежда по следния начин:

Заменете dh1024.pem с dh2048.pem - това ще удвои дължината на RSA ключа при генериране на сървърни и клиентски ключове. Сега трябва да намерите този раздел на файла:

След това търсим този раздел:

По подразбиране OpenVPN се изпълнява като root и има пълен достъп до машината - по мое мнение това не е правилно, така че ние просто го конфигурирахме да работи като потребителски никой с групата nogroup. Това е потребител без никакви привилегии, обикновено запазен от системата за ненадеждни приложения. Сега можете да запазите файла и да излезете.

Основната конфигурация на сървъра OpenVPN е завършена, но все още има нюанси, без които нищо няма да работи. По-специално, има такава системна опция sysctl, която инструктира ядрото на сървъра да пренасочва трафика от клиентски устройства към Интернет. В противен случай трафикът няма да отиде никъде извън сървъра ви. Не се нуждаем от тази опция, така че нека активираме препращането на пакети:

Също така се нуждаем от тази настройка, за да бъде постоянна и да не се срива всеки път, когато сървърът се рестартира, така че:

Почти в самия връх на файла трябва да видите редове като този:

Сега можете да запазите този файл и да излезете. В Ubuntu, като се започне от версия 14.04, има нещо, наречено Некомплицирана защитна стена (ufw), ще ни трябва. ufw е интерфейс за iptables, лесно е да се настрои, просто трябва да създадете няколко правила и да промените конфигурации и след това да включите защитната стена. Отивам…

Ще конфигурираме OpenVPN да работи през UDP, така че ufw трябва да разреши UDP трафик на порт 1194.

Също така, за самия ufw, трябва да зададете правило за препращане на пакети, отворете конфигурацията:

Търсим реда DEFAULT_FORWARD_POLICY = "DROP". Стойността му трябва да бъде променена от DROP на ACCEPT, така че в крайна сметка да изглежда така:

Сега трябва да добавим някои допълнителни правила за ufw, за да активираме NAT и маскиране за свързани клиенти:

Веднага след този раздел:

Сега можете да запазите файла и да излезете. След това активирайте ufw:

ufw може да попита:

Да кажем да и натиснете enter:

Ако всичко е направено правилно, ще напише:

Можете да проверите състоянието му (по избор):

Отговорът най-вероятно е нещо подобно:

Това завършва конфигурацията на сървъра и защитната стена на OpenVPN, нека продължим;-)

# 2: създайте сертификати и ключове

OpenVPN използва сертификати за криптиране на трафика между клиент и сървър.

Нека създадем директория за съхранение на ключове:

Easy RSA има файл с променливи, които можем да редактираме (или можем да го оставим на мира, това не е задължително), за да създадем сертификати изключително за себе си, за бизнеса си и т.н. Тази информация се копира в сертификати и ключове и помага да се идентифицират ключовете по-късно. Нека отворим файла:

Можете да редактирате всичко, което е в кавички, като въведете данните си (по избор). В същия файл се уверете, че редът изглежда така:

Сега трябва да генерираме параметрите на Diffie-Hellman, това ще отнеме няколко минути (в зависимост от капацитета на сървъра):

Нека променим работната директория:

Инициализираме PKI (инфраструктура с публичен ключ):

Отговорът трябва да бъде следният:

Сега нека изчистим работната директория от всички възможни стари (или демо) ключове:

Почти окончателно ... Остава да се направи CA изграждане, в процеса те ще питат за данните - можете или да ги въведете, или да оставите стандартните (с натискане на enter), това не е важно:

След това трябва да генерираме сертификат и ключ за сървъра (в процеса той също може да поиска данни и парола за предизвикателство, навсякъде, където натиснем enter):

Ако всичко беше наред, той ще каже следното:

Сега трябва да преместим сървърните сертификати и ключове:

За да проверите дали са копирани правилно:

Това изглежда всичко, можете да изпълните:

Това завършва конфигурацията на сървъра. Сега трябва да генерираме сертификати и ключове за клиента:

Както обикновено, всичко това може да остане празно, навсякъде, където натискаме enter:

Тогава ще има две заявки:

И на двамата отговаряме да:

Ако никъде не сте сгрешили, то трябва да е така:

Всичко. Сега трябва да влезете в сървъра чрез sftp и да вземете следните файлове на вашия клиентски компютър:

# 3: конфигуриране на клиентския компютър

openvpn

Препоръчвам платен софтуер, наречен Viscosity. Това струва само $ 9 и наистина си струва парите - не съжалявайте, купете го. Има версии както за Windows, така и за мак. Лицензът не е заменяем. Няма да давам снимки на екрани - там всичко е просто, ще го разберете. Трябва да създадете нова връзка, в раздела „Удостоверяване“ изберете типа „SSL/TLS клиент“ и да го подадете на файловете, които сте изтеглили по-рано. След това има раздел „Мрежа“, трябва да поставите отметка (активиране) на елемента „Изпращане на целия трафик чрез VPN“. Всичко.

Сега трябва

Какво мога да кажа ...
Ти си просто кросоувър.
Първите често задавани въпроси по тази тема се дъвчат отвътре и отвън!
Работи за първи път.
Имаше проблем само с прехвърлянето на файлове от сървъра на локалната машина.
Добавяне. Файлът client1.key трябва да се редактира чрез chmod, в противен случай няма да бъде извлечен от сървъра ... Въпреки че hz. как се справи

Страхотни неща! Благодаря ви много за настройката на сървъра. Всичко излезе 1 в 1.
Само самата схема на приложение не е жизнеспособна ...
Сега, ако все пак завърша материала за това как иначе да конфигурирам ubuntu-сървър под формата на клиенти, така че всичко към всички да се пренасочва през централния ubuntu-сървър, конфигуриран точно като сървър, както е написано в статията, златният материал би се получил. Плюсове - консумира се само 1 публичен IP адрес, тъй като клиентите са свързани поради NAT и централният офис е разпределена мрежа - клонове с нулеви режийни разходи. Да. ще има злато, но само сребро.

Е, благодаря на човека .))

За „заобикаляне на ключалките“, ако разбирам правилно за какво говоря (ако е грешно, тогава „извинете, мили“), не е ли по-лесно да използвате Tor Brauser (https://ru.wikipedia.org/wiki/ Tor), отколкото да огради градина от избрания сървър?

Добре, съгласен съм, въпросът за религията ... Да не се задълбочаваме .))

Но по същество въпросът е:

в /etc/openvpn/server.conf необходим ли е параметърът на демона? Изглежда, че всичко започва автоматично без него?

Не, не е по-лесно. Тъй като изходните възли в Тората са под прицел;) И частни сървъри, от които има стотици, особено виртуални машини - всъщност не;) Така че вашият трафик е вашият трафик и нямате нужда от торус;)

Що се отнася до въпроса по същество. Попитах се, отговорих си.

Добър вечер, абсолютно не разбирам всичко това за принципа - копирах, поставих, проверих, всичко се получи (включително comodo и това няма да се разбере от 2ip)). Благодаря. Отивам в Joycasino днес (за първи път), но доставчикът ми на интернет не ме пуска там. Не знам защо започнах да ровя в интернет в клиента, но докато бърках, се появиха още няколко въпроса.
1. Защо доставчикът блокира?, Открих нещо, свързано по някакъв начин с DNS. Има ли решение?
2. Това пише Вискозитет, когато е свързан със сървъра (ПРЕДУПРЕЖДЕНИЕ), не можах да намеря отговор за ума си:
11 ноември 17:08:22: Държавата е променена на Създаване ...
11 ноември 17:08:24: Състоянието е променено на Прекъснато
11 ноември 17:08:35: Състоянието е променено на Свързване
11 ноември 17:08:35: Вискозитет Windows 1.6.6 (1461)
11 ноември 17:08:35: Работи на Microsoft Windows 10 Home Single Language
11 ноември 17:08:35: Включване на интерфейса ...
11 ноември 17:08:35: Проверка на наличността на връзката ...
11 ноември 17:08:35: Връзката е налична. Свържете.
11 ноември 17:08:35: OpenVPN 2.3.12 Windows-MSVC [SSL (OpenSSL)] [LZO] [PKCS11] [IPv6], построен на 24 август 2016 г.
11 ноември 17:08:35: библиотечни версии: OpenSSL 1.0.2h 3 май 2016 г., LZO 2.09
11 ноември 17:08:36: ПРЕДУПРЕЖДЕНИЕ: Не е активиран метод за проверка на сертификат на сървър. Вижте http://openvpn.net/howto.html#mitm за повече информация.
11 ноември 17:08:36: UDPv4 връзка локална: [undef]
11 ноември 17:08:36: UDPv4 връзка за дистанционно: [AF_INET] XX.XX.XX.XXX:1194
11 ноември 17:08:37: ПРЕДУПРЕЖДЕНИЕ: размерът на блока на този шифър е по-малък от 128 бита (64 бита). Помислете за използването на –цифър с по-голям размер на блока.
11 ноември 17:08:37: ПРЕДУПРЕЖДЕНИЕ: размерът на блока на този шифър е по-малък от 128 бита (64 бита). Помислете за използването на –цифър с по-голям размер на блока.
11 ноември 17:08:37: [сървър] Peer Connection стартиран с [AF_INET] XX.XX.XX.XXX:1194
11 ноември 17:08:40: do_ifconfig, tt-> ipv6 = 0, tt-> did_ifconfig_ipv6_setup = 0
11 ноември 17:08:40: open_tun, tt-> ipv6 = 0
11 ноември 17:08:40: Устройството TAP-WIN32 [Връзка] е отворено: \ .Global.tap
11 ноември 17:08:40: Уведомен драйвер за TAP-Windows за задаване на DHCP IP/мрежова маска от 10.8.0.6/255.255.255.252 на интерфейса [DHCP-serv: 10.8.0.5, време за наем: 31536000]
11 ноември 17:08:40: Успешно ARP Flush на интерфейса [11]
11 ноември 17:08:45: Последователността на инициализацията завърши
11 ноември 17:08:45: Използва се пълен DNS режим
11 ноември 17:08:45: Статусът е променен на Свързан

Абонирайте се, за да не пропускате нови интересни статии;) Съветвам ви да прочетете в InoReader.