ПредишенСледващото

Имало едно време, когато динята на дърветата са все още доста зелени, се запознах с един прекрасен проект OpenVPN. Аз си върша работата за свързване разпределени локални мрежи заедно. Първият опит беше настройката за FreeBSD на сървъра, и далеч отвъд, както се казва, тя започва. Към днешна дата почти всички сървъри, които са конфигурирани от мен, работещ на Ubuntu Linux един на друг или версия.

И последно, аз забелязах, че сред боклуци съхранява в /etc/init.d. скромно крие скрипт, наречен «OpenVPN». "Какво от това?" - след това да поиска опитен администратор. Работата е там, че доскоро, повишаване на мрежовите интерфейси, включително TUN. Аз организират изключително чрез / и т.н. / мрежа / интерфейси. термини предварително нагоре опции, за да започнат опциите на OpenVPN демон и предварително определени за неговото спиране. Всичко това "възмущение" универсално разрежда с различни екипи, манипулиране на таблицата за маршрутизация. Като цяло, картината е доста тромава. По принцип всичко е работил доста приличен, но след като е осигурено разработчик (Ubuntu-начин?) Път, защо да не се възползват от, по-специално, тъй като тя в голяма степен ще облекчи / и т.н. / мрежа / интерфейси. Така че това, което направих.

Инсталиране на OpenVPN

Инсталиране на OpenVPN на Ubuntu не изисква никакви финт ушите:

$ Ап-да инсталирате OpenVPN

Бъдете сигурни, за да потвърдите инсталацията на всички зависимости.

Но тези, които искат / трябва да инсталирате OpenVPN от източника, е необходимо да се запознаят със съответната информация.

Ако сте заинтересувани от бинарни пакети за други платформи, моля посетете изтегляне на страницата на проекта.

Поставянето на ключови файлове

Тъй като този в тази статия, реших да се говори за това как да конфигурирате OpenVPN от страна на клиента, той ще си помисли, че файловете с ключове за криптиране, които вече имате (сте им дали OpenVPN-сървър администратор). Броят и видът на ключове зависи от това как сте конфигурирали OpenVPN сървър към който се свързвате. Тази статия се предполага, че трите файлове се използват за криптиране и автентификация:

  • ключ частен клиент криптиране в .pem формат (наричаме client.key файл);
  • подписана от сертификационен център във формат на сертификата клиент .pem. (Call client.crt файл);
  • сървъра сертификат CA в .pem формат. който client.crt (нека наречем ca.crt файл) файл е бил подписан

След получаване на ключа и сертификати, не забравяйте да се грижи за тяхната безопасност. Добро решение ще бъде публикуване на всичко това върху флаш памет, криптирана, например, TrueCrypt. В тази статия, ние ще приемем, че ключовете и сертификатите са поставени в / Медии / ключовете директория. Също така, не забравяйте да оставите поне правата за достъп до директорията с ключове и сертификати:

конфигурационен файл

Фаловете конфигурация OpenVPN, обикновено се намира в директорията / и т.н. / OpenVPN или / ЮЕсАр / местни / и т.н. / OpenVPN. В тази статия, предполагам, че сте инсталирали OpenVPN от Ubuntu хранилища и директория за съхранение на конфигурацията е / и т.н. / OpenVPN.

Ако се свържете с OpenVPN сървър, конфигуриран да не сте, то това е обикновено някой трябва да ти дам "основен" конфигурационен файл, който съдържа минимално необходим набор от параметри. Сред параметрите за конфигуриране на OpenVPN за отделен клиент домакин, най-вероятният път към ключовете и сертификат файловете, както и на пътя към външен скриптове скрипт за инициализация.

клиент
дистанционно myvpnsrv.com
ва /media/keys/ca.crt
ключ /media/keys/client.key
серт /media/keys/client.crt
демон
Дев бъчва
прото UDP
комп-lzo

Първият ред казва, OpenVPN, тази връзка ще се осъществява в режим клиент.

Стойностите на параметрите на около CERT ключове и да определят пътя до файла на СО на сертификата, частния ключ и клиентски сертификат, съответно.

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

параметър Дев определя типа на мрежовия интерфейс, който ще се използва за обмен на кодиран трафик към сървъра. Може ли да има стойност бъчва или чешмяна. Основната разлика между тези два вида интерфейси могат да бъдат намерени тук и тук.

Параметър прото определя протокола, който ще завърши на криптиран трафик. За предпочитане е да изберете UDP.

Наличието на параметъра комп-lzo прави компрес OpenVPN трафик, което е много полезно, ако има "тесен" канал за данни.

Фрезоване и външни скриптове

OpenVPN наред с други неща, ви позволява да стартирате външна програма след старта, както и преди, така и след спирането на демона. Много удобно нещо, ако имате нужда да шаман таблици за маршрутизация, когато се качват тунел.

Веднага се провери един прекрасен момент. За да OpenVPN-демон може да изпълнява външни програми, е необходимо изрично да се даде възможност да се направи, да зададете параметрите на сценарии за сигурност на стойност не по-малко от 2. безопасност, обаче.

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

За да се изпълни външно приложение, след изключване на мрежовия интерфейс, използвайте меню. казвайки му, разбира се, по пътя и параметрите на програмата, наречена. Ако е необходимо, че програмата работи, преди да изключите интерфейса, и уточни надолу предварително параметър без стойност.

Сега малко за спецификата на повикване външни програми демон OpenVPN. Фактът, че те не са просто "глупав" се наричат, и те премина още няколко възможности за свързване, което е много удобно при работа с таблици за маршрутизация.

Форматът на призива на външна програма OpenVPN демон инициализация бъчва-интерфейсът е, както следва:

tun_dev tun_mtu link_mtu ifconfig_local_ip ifconfig_remote_ip [първоначален | рестартиране]

За докосване интерфейс в същия формат, с изключение на това, че вместо ifconfig_remote_ip премина ifconfig_netmask. съдържащ маска на подмрежата, която е наш клиент.

Също така, трябва да се отбележи, че всички опции, които ще предават външна програма, с помощта нагоре / надолу. Те ще се добавя в предната част на параметрите, посочени по-горе.

Теория, според мен, е достатъчно, за работа. Да речем, че трябва да се по време на стартиране / рестартиране / стоп демона OpenVPN е по някакъв начин да бъде променяна маршрутната таблица на вашия хост. В продължение на два мрежови интерфейси, аз решен този проблем в следния скрипт най-Баш:

Скрипт обаждане от два параметъра OpenVPN:

нагоре "/usr/local/bin/routes.sh нагоре"
надолу "/usr/local/bin/routes.sh надолу"

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

  • $ 1 - нагоре или надолу;
  • $ 2 - име на интерфейса. През разглеждания мен тяхната система може да се tun0 или tun1;
  • 3 $ - например, 1500;
  • $ 4 - например, 1542
  • $ 5 - например 10.8.0.5
  • $ 6 - например, 10.8.0.6
  • $ 7 - първоначален или рестартиране (параметър не ми обърна внимание напълно, така че манипулирането на маршрутите са винаги доволни, дори и да не е имало мрежовия интерфейс е забранено, но само се състоя "редовни" демон рестартира поради липса на комуникация).

От само себе си се разбира, можете да (и трябва) да се използва стойността от $ 3 - $ 6. Например, ако искате някаква "увиване" на движението през тунела VPN, че е възможно да използвате скрипт нещо като:

IP маршрут добавяне от 192.168.0.0/24 чрез $

Пускането и спирането на демона

В действителност, това, което всички тези танци се обадите на външни скриптове и отхвърляне на добрите стари / и т.н. / мрежа / интерфейси. И ето какво.

Отворете файла / и т.н. / по подразбиране / OpenVPN и променлива AUTOSTART укажете името на файла (или няколко, разделени с интервал) конфигурация от директорията / и т.н. / OpenVPN. ухапване експанзия «.conf». За нашия пример, че ще изглежда така:

Или, ако имате нужда да се свържете OpenVPN извършва въз основа на всички конфигурационни файлове намерени:

Сега "достатъчно един Tabletka" под формата на:

Sudo старт услуга OpenVPN

и сценария на /etc/init.d/openvpn внимателно започне OpenVPN за всички конфигурации намерени.

демон стоп също не е много сложно:

Sudo услуга OpenVPN спирка

И най-накрая. Ако трябва да се, така че нито един от съществуващите / и т.н. / OpenVPN конфигурационни файлове не са обработени достатъчно, за да се определи в / и т.н. / по подразбиране / OpenVPN:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!