Кратък обзор за инсталиране на OpenVPN

Като VPN дълго време използвах ПЧП през SSH.
За един или двама души и всичко работи добре работещ (и конфигуриране на всички подръчни материали в продължение на 10 минути). Но когато взех решение VPN за 10+ души, освен това работи на Linux / Win, трябва да се грижи за нещо друго.

Наистина, CIPE. който се използва за свързване офиси изискват отделен порт за всеки тунел, не работи много надеждно (ядрото модул пада при сканиране на UDP портове), на един и същ източник dopilivat трябва да се изгради нов Linux ядро ​​2.6.
всички IPSec добро, но клиентите често са несъвместими един с друг, и настройката за Win много тривиално. И това често се случва, че няколко различни клиенти не получават заедно на една и съща машина.

Копаене на приятелите на мрежата и posprashivaya реши да завърже OpenVPN.

Книги, които препоръчват на сайта OpenVPN съдържат информация по един разпокъсан начин, точно както Въпроси / HOWTO, поради което аз написах това резюме.

Както обикновено, всички от източниците. Отнемането. За да се събере необходимата LZO библиотека, живее тук. Всички стандартни и ясно, т.е. / конфигуриране правя правят се инсталира (не забравяйте да кажете на ldconfig след библиотека монтаж), първо LZO, а след това OpenVPN.

Отделно от това, на клиента и сървъра е конфигуриран. OpenVPN работи чрез драйвера на TUN / TAP. In Win всички настройва автоматично, трябва да се даде възможност на TUN / TAP в ядрото (ядрото на персонала, който може да са били събрани, както трябва) в Linux:

За по-стари дистрибуции без Удев / devfs файл устройство трябва да се направи:

И двата сървъра и клиента използвате една и съща двоичен.

Създаване на сървъра (Unix)

Изходният код притежава всички необходими скриптове за работа със сертификати, копирайте всички (имам всички скриптове живеят в / ЮЕсАр / местни / скриптове):

За по-голяма сигурност, че има смисъл да се съхранява всичко, свързано с удостоверения на друга машина.

Логично е да редактирате файла с Варс и променете настройките за генериране на сертификати (KEY_EXPIRE, KEY_COUNTRY и т.н.).

Сега направи сертификата и ключа за сървъра

Генерира най-малко две ключови клиенти, client0 ключ само за отнемане на сертификата (виж по-долу), ключове client1, client2 и т.н. - за реални потребители:

След това се подава Diffie Hellman параметри:

и ключ за HMAC

На сървъра, създаде директория за сертификата и конфигурация

И от директорията / ЮЕсАр / местни / скриптове / лесно-RSA / ключове (машина, която прави сертификата) се копира в сървъра в / и т.н. / OpenVPN следните файлове:

Създаване на конфигурационен файл за сървър, /etc/openvpn/server.conf:

В примерите по-долу, се предлага да се използва PAM, MySQL или LDAP. Тъй като всички мои потребители вече имат достъп до защитени с парола Медузата и се оказа по-удобно да се използва същите идентификационни данни.

Написах един прост скрипт /etc/openvpn/auth-htaccess-file.plx:

Той току-що се храни потребителско име / ако съществува ncsa_auth'u точно като себе си калмари и ако ncsa_auth отговори "ОК", впуска juzverej.

Опитайте се да стартирате сървъра (не забравяйте modprobe бъчва!):

Ако всичко върви добре, конзолата ще бъде нещо като

За стартиране на сървър е удобно да се използва нещо като /etc/init.d/openvpn:

В заключение за настройките на защитната стена.
По подразбиране IPTABLES блокове трафик на всички мрежови устройства, така че трябва да го разреши изрично:

И разбира се позволи на маршрута:

За да конфигурирате клиента (Unix)

Binary използва едни и същи и всички сертификати и конфигурационни файлове - в / и т.н. / OpenVPN.
Копирайте клиентските файлове:

В този конфигурационен файл за клиент, /etc/openvpn/client.conf:

Искам да обърна внимание на редовното стартиране скрипт OpanVPN, която не винаги работи правилно, като например Debian машини Sarthe поискани потребителско име / ако съществува и ако те не са прави, процесът на OpenVPN продължава да тече, държейки tun0 устройство.

Конфигуриране на клиенти (Win)

Сложете OpenVPN-2.1.1-Install.exe. В versiiyu 2.1.1 включва удобен графичен интерфейс.

В C: \ Program Files \ OpenVPN \ конфигурационния \ копирате файловете (в този пример client2 - vinyuki):

Там можете да създадете client.ovpn:

Стартирайте GUI, а след това щракнете с десния бутон върху системния трей, изберете "Connect".

Накратко това! Допълнения и разяснения са получени.