VPN-мост в локальную сеть

Протокол туннелирования

Как правило, выбор VPN начинается с выбора протокола туннелирования (далее ПТ). Сегодня на рынке имеется несколько вариантов ПТ для реализации виртуальной частной сети: OpenVPN, PPTP, L2TP/IPsec, IPsec IKEv2 и другие, не получившие широкого распространения. Сразу хотелось бы отметить, что OpenVPN не совсем верно называть протоколом туннелирования, это программное обеспечение для создания виртуальной сети, но пусть будет протокол, дабы избежать путаницы.

Что такое протокол? Представьте себе ситуацию: вы встретились с человеком и хотите с ним пообщаться, но говорите на разных языках. Разумеется, вы не поймете друг друга, и речи о каком-либо полноценном взаимодействии идти не может. Протокол – это и есть язык взаимодействия, в данном случае между компьютером и VPN-сервером.

PPTP

PPTP – первый протокол, поддерживаемый на платформе Windows. Протокол имеет слабое шифрование и может быть взломан как спецслужбами, так и квалифицированными злоумышленниками. Из плюсов стоит отметить отсутствие необходимости устанавливать дополнительное программное обеспечение и скорость работы. PPTP VPN требует минимальных ресурсов и по сравнению с OpenVPN почти не расходует заряд при использовании на мобильных устройствах.

Почему этот протокол до сих пор используется? Главная его проблема – слабая защита передачи ключа, но это не значит, что любой желающий может взломать шифрование. PPTP имеет и свои плюсы: простоту в настройке и использовании, неплохую защиту и смену IP-адреса. PPTP, может, и не самый защищенный протокол, но определенно лучше, чем ничего.

L2TP/IPsec

Что о нем надо знать: 

  • он медленнее других из-за двойного инкапсулирования (создается IPsec-туннель, а данные ходят через L2TP);
  • использует стандартные порты, и потому его легко может заблокировать интернет-провайдер или системный администратор;
  • операционные системы имеют встроенную поддержку этой технологии, нет необходимости ставить дополнительное ПО;
  • при его правильной настройке нет информации о возможности расшифровать данные.

Мы его не рекомендуем и не используем из-за скорости, потому много рассказывать о нем в рамках курса не станем.

IPsec IKEv2

Что такое IKEv2 в этой связке? Это, если говорить очень просто, авторизация через сертификат, и она, к сожалению, поддерживается не всеми устройствами.

Что о нем надо знать:

  • работает быстрее, нежели L2TP/IPsec, сопоставим с OpenVPN, медленнее PPTP;
  • поддерживается не всеми операционными системами (хотя сам IPsec поддерживается везде);
  • при правильной настройке его не могут расшифровать ни спецслужбы, ни злоумышленники (по крайней мере, так считается в среде IT-специалистов).

Стоит отметить поддержку IPsec на всех популярных операционных системах как положительный момент. Но есть по этому поводу и другое мнение: в отличие от встроенных систем шифрования диска, наличие встроенных систем IPsec не вызывало возмущений со стороны спецслужб. Его реализовали даже в Windows, где всегда воздерживались от инструментов защиты данных, недоступных для взлома спецслужбам. Этот факт многим кажется подозрительным.

OpenVPN

OpenVPN – бесплатное решение с открытым исходным кодом, которое, по признанию большинства специалистов, является самым лучшим на сегодняшний день для создания частной виртуальной сети (VPN).

Что надо знать об OpenVPN:

  • не входит в состав стандартных дистрибутивов современных операционных систем, потому требует установки дополнительного программного обеспечения;
  • при правильной настройке его не смогут расшифровать ни спецслужбы, ни злоумышленники;
  • при нестандартных настройках сложно блокируется.

Да, OpenVPN требует установки дополнительного программного обеспечения, но это проверенный временем софт с открытым исходным кодом, установка и настройка которого не создаст проблем даже новичку. OpenVPN работает на всех современных операционных системах: Windows, macOS, Linux, Android, iOS.

Сценарий использования (начальная настройка)

Пользователь хочет безопасно соединиться с OpenWrt маршрутизатором. На данный момент пользователь уже может получить доступ к OpenWrt маршрутизатору, но через внешнюю сеть, такую как Интернет. Конечным результатом станет прямое частное соединение между OpenVPN клиентом и сервером. В основном это будет выглядеть так, будто OpenVPN клиент находится в подсети маршрутизатора(но не в той подсети, которая является для маршрутизатора внешней).

Это руководство описывает 3 файла конфигурации для OpenVPN:

Стандартный (TUN) Сервер: Простейший вид OpenVPN сервера, Клиенты управляются исключительно OpenVPN, им также может быть выделена отдельная подсеть.

Сервер в режиме моста (TAP) : Также может называться “ethernet-bridge”. Эта конфигурация создаст виртуальный ethernet кабель между сервером и клиентом. Это означает что OpenVPN клиенты будут такими же участниками подсети, как и те которые подключены к маршрутизатору физически. IP-адреса им будет раздавать DHCP-сервер.

Клиент: OpenVPN будет работать в режиме клиента и соединится с OpenVPN сервером.

Следует отметить, что TAP это не синоним сетевого моста, тем не менее TAP адаптер нужен для сетевого моста, в то же время рекомендуется использовать TUN, если не нужен сетевой мост. Для простоты мы будем использовать эти термины как взаимозаменяемые, так как сравнение терминов “сервер” и “сервер-мост” может привести к путанице. TUN будет использоваться для обозначения традиционного сервера, в то время как TAP будет относиться к “серверу-мосту”.

Можно настраивать OpenVPN на OpenWrt удалённо. Однако рекомендуется делать это локально, так как это упростит поиск и устранение неисправностей.

TUN сервер расходует меньше ресурсов и только отсылает трафик, предназначенный только для клиента. В то время, как TAP сервер менее эффективный и отсылает клиентам широковещательный трафик.

TUN сервер может использовать ту же подсеть, что и сервер DHCP, если это требуется, однако рекомендуется выделять диапазон IP-адресов для TUN сервера за пределами диапазона DHCP, иначе могут возникнуть IP конфликты (один IP-адрес будет использоваться как DHCP, так и TUN сервером для двух разных клиентов).

Для TUN сервера легче настроить безопасность, так как его клиенты могут находиться в отдельной подсети, которая может легко контролироваться межсетевым экраном. Благодаря тому, что клиентам в данном режиме не отсылается широковещательная информация, злоумышленник не сможет получить доступ к большому объёму данных.

Сервер TAP объединяет клиентов в сеть более бесшовной образом, это может упростить процесс настройки различных сетевых приложений

Обратите внимание на то, что независимо от выбранного метода, создание правил межсетевого экрана имеет более важное значение безопасности, чем выбор между TUN и TAP сервером.. При использовании TAP сервера рекомендуется изменить маску подсети на отличную от 192.168..XXX или 192.168.1.XXX. Они очень распространены и приведут к конфликтам в маршрутизации

Это обычно может быть достигнуто путём изменения IP-адреса OpenWrt/OpenVPN маршрутизатора к чему-то наподобие 192.168.7.1

Они очень распространены и приведут к конфликтам в маршрутизации. Это обычно может быть достигнуто путём изменения IP-адреса OpenWrt/OpenVPN маршрутизатора к чему-то наподобие 192.168.7.1

При использовании TAP сервера рекомендуется изменить маску подсети на отличную от 192.168..XXX или 192.168.1.XXX. Они очень распространены и приведут к конфликтам в маршрутизации. Это обычно может быть достигнуто путём изменения IP-адреса OpenWrt/OpenVPN маршрутизатора к чему-то наподобие 192.168.7.1

Настройка OpenVPN под Ubuntu

Начинаем с того, что, как и на Windows, устанавливаем пакет OpenVPN на серверную и клиентские машины. Директива установки консольной версии ПО через терминал следующая: sudo apt-get install openvpn. При желании можете установить графические версии пакетов из центра приложений Ubuntu.

Однако важнейший компонент – модуль easy-rsa, предназначенный для генерации сертификатов и ключей, в Linux-дистрибутив не входит. Его придется установить отдельно, выполнив команду: sudo apt-get install easy-rsa.

Настройка серверной части

  • После инсталляции программы и дополнительного модуля создаем каталог «easy-rsa» в папке /etc/openvpn: sudo mkdir /etc/openvpn/easy-rsa. Копируем в него содержимое из места установки: cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa.
  • Следом переходим в новый каталог: cd /etc/openvpn/easy-rsa/ и приступаем к созданию сертификатов и ключей.

Открываем с помощью консольного редактора nano файл переменных vars (аналог vars.bat в Windows) и импортируем в него те же данные, что и в vars.bat, с измененными значениями:

  • Копируем криптографический пакет openssl: cp openssl-1.0.0.cnf openssl.cnf.
  • Загружаем переменные из vars: source ./vars.
  • Удаляем ранее созданные данные: clean-all.
  • Создаем новый основной сертификат: build-ca. Блок вопросов в рамке пропускаем.
  • Следом – ключ Диффи-Хельмана: build-dh.
  • За ним – сертификат сервера: .build-key-server myVPN (myVPN, как вы помните, – это имя, у вас оно может быть другим). Выделенный блок пропускаем (на скриншоте он сокращен), на 2 последних вопроса отвечаем «Y».

Последним создаем сертификат клиента: ./build-key user1 (вместо «user1» можете придумать другое имя). При этом снова пропускаем выделенный на скрине блок и на два последних вопроса отвечаем «Y».

Все созданные ключи и сертификаты сохраняются в подкаталоге etc/openvpn/easy-rsa/keys. Перемещаем их в папку /openvpn: cp -r /etc/openvpn/easy-rsa/keys /etc/openvpn.

На завершающем этапе создаем файл конфигурации сервера в папке /etc/openvpn: nano /etc/openvpn/server.conf и заполняем его так же, как заполняли аналогичный документ на Windows. Единственное отличие – другие пути:

Наконец, создаем каталог для конфигурации клиентских машин: mkdir /etc/openvpn/ccd, и  запускаем сервер: service openvpn start.

Если сервер не стартует, вероятно, в конфигурации допущена ошибка. Сведения о проблеме можно посмотреть в документе /var/log/openvpn.log с помощью команды tail -f /var/log/openvpn.log.

Настройка клиентской части

После установки приложения на клиентскую машину переносим на нее сгенерированные на сервере ключ и сертификаты и создаем конфиг.

Ключ и сертификаты – ca.crt, user1.crt и user1.key, находятся в папке /etc/openvpn/keys. Копируем их на флешку и вставляем в одноименную папку на компьютере клиента.

Файл конфигурации создаем с помощью nano: nano /etc/openvpn/client.conf, и заполняем по образцу Windows. Не забудьте прописать в нем правильные пути:

Всё готово. Для подключения к серверу используем ту же команду: service openvpn start.

***

Инструкция получилась длинной, но на самом деле выполнение этих действий занимает 5-10 минут. Более подробная информация о работе с OpenVPN находится в разделе «» официального сайта приложения. Пробуйте, и всё у вас получится!

Как настроить сетевой мост между двумя сетями для Open VPN сервера?

В моем случае необходимо, чтобы клиенты подключаясь  к нашей сети видели наши  доступные компьютеры,  а наши сервера «видели» бы нужные   сетевые принтеры в соседней сети. Для этого нам нужно  создать сетевой мост — объединить два сетевых устройство между собой.

В нашем случае  это наш сетевой адаптер, который «смотрит» в интернет и только что созданный адаптер TAP. Настройки IP обнуляем. Выделяем оба адаптера мышкой и объединяем в «мост»:

После установки устройства «Сетевой мост» нужно сделать ему настройки через «свойства» IP адреса, шлюза, маски а так же адреса DNS -серверов (выданные провайдером) . Если IP не было — назначить постоянный, внутренний

Это важно, без этого наш сервер не заработает!

Настройки IP адаптеров включенных в мост не изменяем и ничего не трогаем!

Отключаем брандмауэр windows.  Дополнительно, там же идем в «Разрешение обмена данными с приложениями в брандмауэре  Windows,  добавляем наш установленный open vpn в список (C:\Program Files\OpenVPV\Bin\OpenVPNgui,exe).

Сняли возможную блокировку соединения. Идем далее! Предварительная подготовка почти закончена. Теперь займемся непосредственно сервером. Идем в папку C:\Program Files\OpenVPV\easy-rsa

В ней находятся программы  с которыми мы сейчас будем взаимодействовать. Открываем командную строку от имени Администратора. Переходим в папку easy-rsa, для чего в командную строку скопируем команду  cd C:\Program Files\OpenVPN\easy-rsa

Все операции далее совершаем через командную строку. Для создания конфигурации сервера запустим файл init-config.bat

Создастся файл vars.bat, в нем мы заполним информацию, которую будут содержать сертификаты безопасности и с их помощью будут шифроваться данные. Для этого в блокноте открываем файл vars.bat и произвольно заполняем значения (командную строку не закрываем!):

rem down TLS negotiation performance
rem as well as the one-time DH parms
rem generation process.
set DH_KEY_SIZE=2048

rem Private key size
set KEY_SIZE=4096

rem These are the default values for fields
rem which will be placed in the certificate.
rem Change these to reflect your site.
rem Don’t leave any of these parms blank.

Значения «server»  не изменяем. Все значения (страна, регион, город, организация, почтовый адрес) проставляем произвольно английским шрифтом. Сохраняем файл. Переходим в командную строку снова. Набираем  первой команду Vars.bat  

Если OpenVPN устанавливался ранее -набираем команду clean-all.bat  Она удалит созданную до этого  папку с ключами (keys) со всем содержимым . При установе сервера  OpenVPN с нуля  делать эту команду необязательно.

Если у вас так как на фото, нормально. Идем далее

Теперь с помощью проводника перейдем в каталог C:\Program Files\OpenVPN\bin и скопируем файлы библиотек (*.dll) , файл openssl.exe в каталог, где лежат наши исполняемы файлы и который открыт сейчас   в командной строке (C:\Program Files\OpenVPN\easy-rsa):

Библиотеки нужны в этом каталоге, чтобы не возникало ошибок при создании сертификатов центра авторизации и файла  Диффи-Хеллмана. Начнем с последнего. Файл Диффи-Хеллмана  препятствует расшифровке информации (если файлы ключей были похищены), а так же отвечает за шифрование. Создадим его для нашего сервера в командной строке набрав команду build-dh.bat

Ждем, пока файл генерируется на основании информации указанной в vars.bat Далее, сгенерируем сертификат нашего удостоверяющего центра. Он будет необходим для  дальнейшей выдачи серверного и клиентских сертификатов. Наберем в командной строке команду build-ca.bat Последовательно и не спеша нажимаем клавишу Enter…

…после появления очередной строчки; данные в сертификате будут скопированы по значениям указанным в файле vars.bat Следующий этап —  создадим сертификат нашего сервера. В командной строке набираем команду build-key-server.bat server (server -имя серверного сертификата):

Так же последовательно и не спеша нажимаем Enter пока не дойдем до строчки Common Name(eg, your name or your servers hostname Здесь нужно обязательно указать имя сервера ( можно имя компьютера) и нажать Enter. Далее будут оставшиеся поля и запрос на создание пароля от сертификата. Просто нажимаем Enter. На вопросы записи сертификата и добавления его в базу данных  нажимаем Y и Enter

Срок действия сертификата — 10 лет.

Теперь нам необходимо создать файл конфигурации сервера,  выбрать протокол соединения, имя сетевого виртуального адаптера, порт соединения и еще много чего.

В папке sample-config лежит пример файла server.ovpn, находим его, открываем блокнотом( от имени администратора!):

Расширение сетевых границ VPN

Расширение границ VPN для включения дополнительных машин из подсетей на стороне клиента или сервера. Включение нескольких машин на стороне сервера при использовании маршрутизируемого VPN (dev tun)

Поскольку VPN действует только в режиме точка-точка, может возникнуть желание расширить границы VPN так, чтобы клиенты могли связываться с другими машинами в сети сервера, а не только с самим сервером.

Чтобы проиллюстрировать это примером, предположим, что в локальной сети на стороне сервера используется подсеть 10.66.0.0/24 и для пула VPN-адресов используется 10.8.0.0/24, о чем говорится в директиве server в файле конфигурации OpenVPN-сервера.

Во-первых, вы должны сообщить VPN-клиентам, что подсеть 10.66.0.0/24 доступна через VPN. Это легко можно сделать с помощью следующих директив в конфигурационном файле сервера:

push "route 10.66.0.0 255.255.255.0"

Далее, необходимо настроить на LAN— шлюзе в сети сервера маршрут для маршрутизации пакетов, предназначенных для подсети VPN-клиентов (10.8.0.0/24) через OpenVPN-сервер (это необходимо только тогда, когда сервер OpenVPN и LAN-шлюз – разные машины).

Убедитесь, что вы включили (параметр ядра net.ipv4.ip_forward должен быть равен 1) и TUN/TAP на машине OpenVPN-сервера.

Безопасность OpenVPN

  • Используйте proto udp, потому что он по сравнению с TCP обеспечивает более надежную защиту от DoS-атак и сканирования портов.
  • Используйте Алгоритм HMAC для OpenVPN

  • Запускайте демон OpenVPN сервера от имени непривилегированного пользователя: user nobody group nobody

Firewall iptables

Открываем UDP порт 1194 и разрешаем пакеты приходящие с интерфейса TUN и TAP или tun.

iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -i tap+ -j ACCEPT
or
iptables -A INPUT -i tun+ -j ACCEPT

OpenVPN управление

Для управления сервером OpenVPN существует не так много программ для управления пользователями.

  • Настройка и управление сервером OpenVPN при помощи Webmin

  • Модуль на основе Webmin: OpenVpn Admin Module + пример настройки OpenVPN Server

Проблема PPPoE и OpenVPN

Проблема: Если сервер подключён к ISP при помощи технологии Как работает PPPoE, в этом случае OpenVPN не сможет сделать доступными сети за подключённым клиентом. Не будет отрабатывать команда iroute. Это связано с тем, что PPP прописывает маршрут по умолчанию в таком виде:

# netstat -rn
Kernel IP routing table              
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         0.0.0.0         0.0.0.0         U         0 0          0 ppp0

Т.е. указывается маршрутом по умолчанию интерфейс (ppp0), а не IP адресс, такой записи сервер OpenVPN не понимает, для корректной работы сервера OpenVpn маршрут должен бы вида:

# netstat -rn
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         91.196.96.35    255.255.255.255 UGH       0 0          0 ppp0

Решение: Исправить маршрут по умолчанию можно командой (соответственно указав нужный вам IP)

route add 0/0 gw 91.196.96.35

или в скрипте при загрузке системы, но после поднятия интерфейса ppp0

route del default
route add default gw 91.196.96.35 dev ppp0

Проблема OpenVPN + Virtualbox + Dnsmasq

Окружение: Клиент выходит в интернет с Ubuntu 14.04.3 LTS + Настройка Dnsmasq Ubuntu установленной в FAQ VirtualBox. Сеть установлена в VirtualBox как сетевой мост. IP получается от Настройка DHCP сервера Linux, FreeBSD на интернет роутере (Netis WF2419R).

Проблема: Не работает push «dhcp-option DNS 10.26.95.254″. Соответственно все Что такое DNS Dnsmasq отсылает основному DNS серверу. Все бы ничего если бы клиенту не нужны локальные Что такое DNS.

Решение: Был доустановлен основной пакет

aptitude install dnsmasq

добавлены описания наших локальных зон (non-public domains) в конфигурационный файл dnsmasq.conf

server=gaga.lan10.26.95.254
server=m86a.lan10.26.95.254
server=atlex.lan10.26.95.254
 
server=95.26.10.in-addr.arpa10.26.95.254
server=168.192.in-addr.arpa10.26.95.254
server=85.161.10.in-addr.arpa10.26.95.254

Клиенты OpenVPN для разных ОС

  • Клиент OpenVPN для Windows

  • Клиент OpenVPN для Android

  • Для Linux проще всего ставить этот же пакет OpenVPN, но настраивать его клиентом.

    aptitude install openvpn

    Пример рабочего конфига для Ubuntu 14.04.3 LTS

    client.conf
    client
    proto udp
    dev tun
    ca ca.crt
    dh dh2048.pem
    cert client.crt
    key client.key
    remote xxx.xxx.xxx.xxx 1194
    tls-auth ta.key 1
    cipher AES-256-CBC
    user nobody
    group nogroup
    verb 2
    mute 20
    keepalive 10 120
    comp-lzo
    persist-key
    persist-tun
    float
    resolv-retry infinite
    nobind

Начальная установка OpenVAS в Kali Linux

У OpenVAS много движущихся частей, и настройка вручную может быть проблемой. К счастью, Kali содержит простую в использовании утилиту под названием «openvas-setup», которая занимается настройкой OpenVAS, загрузкой подписей и созданием пароля для пользователя admin.

Эта первоначальная настройка может занять довольно много времени, даже при быстром подключении к Интернету, чтобы просто сидеть сложа руки и позволить ей делать это. В конце настройки будет отображаться автоматически созданный пароль для пользователя admin. Обязательно сохраните этот пароль где-нибудь в безопасности.

Работа с ошибками установки

Иногда скрипт «openvas-setup» будет отображать ошибки в конце загрузки NVT, аналогичные приведенным ниже.

Если вам посчастливилось столкнуться с этой проблемой, вы можете запустить «openvas-check-setup», чтобы узнать, какой компонент вызывает проблемы. В этом конкретном случае мы получаем следующее из сценария.

Сценарий «openvas-check-setup» обнаруживает проблему и даже предоставляет команду для запуска (надеюсь) решения этой проблемы. После восстановления коллекции NVT, как рекомендуется, все проверки передаются.

Управление пользователями OpenVAS

Если вам нужно (или хотите) создать дополнительных пользователей OpenVAS, запустите ‘openvasmd’ с параметром -create-user, который добавит нового пользователя и отобразит случайно сгенерированный пароль.

Если вы похожи на нас, вы забудете сохранить пароль администратора или случайно удалите его. К счастью, изменение паролей пользователей OpenVAS легко осуществляется с помощью опции «openvasmd» и «new-password.

Запуск и остановка OpenVAS

Сетевые службы по умолчанию отключены в Kali Linux, поэтому, если вы не настроили OpenVAS для запуска при загрузке, вы можете запустить необходимые службы, запустив «openvas-start».

Когда службы завершают инициализацию, вы должны найти TCP-порты 9390 и 9392, которые прослушивают ваш loopback-интерфейс.

Из-за нагрузки на системные ресурсы вы, вероятно, захотите остановить OpenVAS, когда вы закончите использовать его, особенно если вы не используете специальную систему для сканирования уязвимостей. OpenVAS можно остановить, запустив «openvas-stop».

Команды OpenVPN

Теги: OpenVPN

OpenVPN — очень гибкое, удобное, а главное быстрое и безопасное, решение для построения виртуальных частных сетей VPN. В данной статье я попытаюсь наиболее подробно описать основные команды, используемые в OpenVPN.

Приведенные в статье команды без «—» (двумя знаками дефиса) перед командой должны быть использованы в конфигурационном файле, команды с «—» в начале используются только из командной строки. Подробности использования команд и их параметры — man openvpn.

remote — определяет удаленный конец туннеля. Могут использоваться записи IP и DNS.

local — определяет локальный ip или имя хоста, на котором будет работать OpenVPN. Актуально, если на локальной машине несколько адресов.

dev — определяет какой использовать тип устройства tun или tap. Например: dev tun или dev tap При одном из таких указаний будет использован свободный интерфейс tun или tap. Так же можно явно указывать номер виртуального интрефейса, например tun0.

port — указывает на каком порту будет работать OpenVPN (локально и удаленно).

proto — какой протокол будет использоваться. Возможные значения: udp, tcp, tcp-client, tcp-server. С первыми двумя все ясно, а на последних двух остановимся чуть подробнее: tcp-client — сам пытается установить соединение tcp-server — только ждет подключений Примечательно, что с использованием протокола udp VPN будет работать чуть быстрее, чем tcp. Но в плане стабильности работы лучше выбирать tcp (как показывает практика, VPN-соединение более устойчиво)

remote-random — если указана данная опция и в random перечисленно несколько удаленных хостов, то OpenVPN в случайном порядке будет к ним подключаться. Применяется для балансировки нагрузки.

float — позволяет удаленному хосту изменять IP во время работы туннеля. Соединение при этом не разрывается.

ipchange — выполняет скрипт или команду указанную в , если IP сменился. Пример: ipchange script-ip.sh

connect-retry — пробует переподключиться через указанное время в секундах, если соединение было разорвано.

connect-retry-max — максимальное количество повторов если соединение было разорвано

resolv-retry — если OpenVPN не удалось узнать имя удаленного хоста по DNS, то через указанное количество секунд попытаться переподключиться.

lport — указывает на локальный порт для использования OpenVPN

rport — аналогично для удаленного порта. Пример: rport 8000 — OpenVPN будет пытаться подключится к удаленному порту 8000

nobind — использовать динамический порт для подключения (только для клиента)

shaper — указывает скорость передачи данных в байтах для исходящего трафика (только для клиента)

tun-mtu — устанавливает максимальный размер MTU. По умолчанию tun-mtu равен 1500. Использование: tun-mtu 1200

dev-node — устанавливает имя виртуального интерфейса. Например: dev-node openvpn1

ifconfig — устанавливает локальный IP и маску подсети для туннельного интерфейса. Например: ifconfig 10.3.0.1 255.255.255.0

server — автоматически присваивает адреса всем клиентам (DHCP) в указанном диапазоне с маской сети. Данная опция заменяет ifconfig и может работаеть только с TLS-клиентами в режиме TUN, соответственно использование сертификатов обязательно. Например: server 10.3.0.0 255.255.255.0 Подключившиеся клиенты получат адреса в диапазоне между 10.3.0.1 и 10.3.0.254.

server-bridge — сервер в режиме моста для TAP устройств. Пример: server bridge 10.3.0.1 255.255.255.0 10.3.0.128 10.3.0.254 Клиентам будут выданы адреса в диапазоне 10.3.0.128 — 10.3.0.254, в качестве шлюза будет указан 10.3.0.1.

mode server — переключает OpenVPN в режим сервера (начиная с 2-й версии)

mode p2p — данная опция идет по умолчанию.

Что такое OpenVPN технология и GUI клиент

Назначение статических IP-адресов клиентам OpenVPN

Данная заметка является дополнением к статье Настройка OpenVPN с использованием сертификатов X.509 и описывает назначение статических IP-адресов клиентам OpenVPN. Этот вопрос уже обсуждался в комментариях к вышеназванной статье, однако, посетители сайта не перестают задавать его.

Назначение статических IP-адресов клиентам OpenVPN облегчает организацию систем учета трафика и упрощает настройку брандмауэра сервера OpenVPN как в направлении ограничения прав доступа к сетевым службам, так и в направлении управления полосой пропускания. Назначение статических IP-адресов клиентам OpenVPN описано в HOWTO, не представляет каких-либо сложностей и не требует изменения файлов конфигурации клиентского программного обеспечения. Процедура назначения статических IP-адресов клиентам OpenVPN состоит в добавлении строки ifconfig-push в файлы конфигурации клиентов, которые содержат команды, выполняемые сервером при подключении клиентов, и находятся в папке /usr/local/etc/openvpn/ccd (определяется параметром client-config-dir файла конфигурации сервера OpenVPN). Выбранные пары IP-адресов, во-первых, должны быть уникальными, во-вторых, должны входить в состав последовательных подсетей, ограниченных маской /30 (255.255.255.252), и, в-третьих, должны находиться в пределах пула IP-адресов, выделенного для виртуальной частной сети (определяется параметром server файла конфигурации сервера OpenVPN). С учетом перечисленных условий для клиентов и сервера подойдут пары IP-адресов со следующими парами последних октетов:

Рассмотрим процедуру назначения статических IP-адресов клиентам OpenVPN на примере виртуальной частной сети, которая была описана в статье Настройка OpenVPN с использованием сертификатов X.509:

Для назначения филиалу №1 статического адреса 10.0.0.1 необходимо добавить в файл /usr/local/etc/ccd/client1 строку:

ifconfig-push 10.0.0.1 10.0.0.2

Для назначения филиалу №2 статического адреса 10.0.0.5 необходимо добавить в файл /usr/local/etc/ccd/client2 строку:

ifconfig-push 10.0.0.5 10.0.0.6

Для назначения сисадмину статического адреса 10.0.0.9 необходимо добавить в файл /usr/local/etc/ccd/client3 строку:

ifconfig-push 10.0.0.9 10.0.0.10

После редактирования файлов конфигурации клиентов необходимо перезапустить сервер OpenVPN командой /usr/local/etc/rc.d/openvpn restart. При этом произойдет переподключение всех активных клиентов и назначение им IP-адресов, которые были заданы выше.

http://www.sergeysl.ru/freebsd-openvpn-client-static-ip/

Обновлено: 12.03.2015

Вот здесь я обещал, что расскажу поподробнее о настройке OpenVPN. Пришло время выполнить это обещание.

VPN и OpenVPN – это такая замечательная штука, которая позволяет объединить несколько компьютеров в одну общую сеть через открытые каналы; и при этом обеспечивается высокая безопасность соединения – за счет шифрования передаваемых данных.

Основное преимущество VPN соединения – это простота настройки у клиентов.

Заключение

Протокол OpenVPN остается отраслевым стандартом, ведь он объединяет в себе высокую скорость, надежное шифрование и безопасный код. Лучшие VPN-сервисы предлагают своим пользователям приложения, которые либо по умолчанию используют OpenVPN, либо предоставляют возможность перейти на этот протокол через настройки.

Разумеется, в определенных обстоятельствах вам потребуется вручную настраивать протокол — может, у вас старое устройство, или вы заинтересованы в самом процессе. В любом случае, теперь вы знаете, как избавиться от необходимости использовать собственные приложения сервисов и установить подключение по протоколу OpenVPN в несколько простых действий!

Если вы хотите побольше узнать о разнице между основными VPN-протоколами, почитайте наше подробное руководство по самым безопасным (и самым уязвимым) методам VPN-туннелирования.

5.0/5 Читать отзыв
2 4.9/5 Читать отзыв
3 4.8/5 Читать отзыв
4 4.7/5 Читать отзыв
5 4.7/5 Читать отзыв
Ссылка на основную публикацию