Как настроить сервер openvpn на windows

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

Создайте клиентский конфигурационный файл OpenVPN, сохраните его с расширением для Windows или для *nix систем и отошлите его вашему клиенту:

Традиционный (TUN) Клиент

dev tun
proto udp

log openvpn.log
verb 3

ca /etc/openvpn/ca.crt
cert /etc/openvpn/my-client.crt
key /etc/openvpn/my-client.key

client
remote-cert-tls server
remote SERVER_IP_ADDRESS 1194

Клиент в режиме моста (TAP)

dev tap
proto udp

log openvpn.log
verb 3

ca /etc/openvpn/ca.crt
cert /etc/openvpn/my-client.crt
key /etc/openvpn/my-client.key

client
remote-cert-tls server
remote SERVER_IP_ADDRESS 1194

Доступ к локальной сети

По инструкции выше мы сможем получить доступ только к серверу, на котором установлен OpenVPN. Для получения доступа ко всей внутренней сети, выполним следующие шаги.

1. Настройка реестра

Для включения IP маршрутизации в Windows необходимо в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters найти параметр IPEnableRouter и задать ему значение 1. Это можно сделать в утилите редактирования реестра (regedit) или командой:

reg add «HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters» /v IPEnableRouter /t REG_DWORD /d 1 /f

* командную строку необходимо запускать от администратора.

2. Настройка OpenVPN Server

В конфигурационный файл OpenVPN добавим:

push «route 172.16.10.0 255.255.255.0»
push «route 192.168.2.0 255.255.255.0»

* где 172.16.10.0 — VPN сеть; 192.168.2.0 — локальная сеть, в которую необходимо «попасть» пользователям openvpn.

При необходимости использовать DNS внутренней сети также добавим:

push «dhcp-option DNS 192.168.0.15»
push «dhcp-option DNS 192.168.0.16»
push «dhcp-option DOMAIN dmosk.local»

* где 192.168.0.15 и 192.168.0.16 — внутренние DNS-серверы; dmosk.local — домен, который будет добавляться к узлам, обращение к которым идет по неполному имени.

Если нам нужно, чтобы все запросы клиента (в том числе, Интернет) ходили через сервер OpenVPN, добавляем:

push «redirect-gateway def1»

* в таком случае, нам не обязательно добавлять push route, который мы использовали выше.

Перезагружаем службу OpenVpnService.

3. Разрешаем доступ к локальной сети

Заходим в управление сетевыми подключениями (Панель управления\Сеть и Интернет\Сетевые подключения). Кликаем правой кнопкой мыши по адаптеру локальной сети — Свойства:

На вкладке Доступ ставим галочку Разрешить другим пользователям сети использовать подключение к Интернету данного компьютера:

… и сохраняем настройки.

Operating systems supported

We distribute OpenVPN Access Server via our software repository on a number of popular Linux distributions. Refer to OpenVPN Access Server system requirements for the compatible Linux operating systems. 

To install the repository and install Access Server:

Choose the platform from our download page and get the instructions for installing the repository and Access Server.

  • Refer to the software repository download page.
  • Find and click on the platform you’re using.
  • Use the commands to install the repository and software.

We provide quick start guides for all supported operating systems as well; refer to OpenVPN Access Server installation options.

Our quick start guides step you through launching OpenVPN Access Server on:

  • Ubuntu
  • Debian
  • Red Hat Enterprise Linux
  • CentOS
  • AWS
  • Google Cloud
  • Azure
  • DigitalOcean
  • Oracle
  • VMWare
  • Hyper-V

The Admin Web UI

The Admin Web UI is available at the same IP address or hostname that the Client Web UI uses, but at the /admin path. For example:

  • https://123.456.78.90/admin
  • https://vpn.businessname.com/admin

Once you finish the setup, the credentials and address for the web interface are printed on screen:

Note: Access Server versions older than 2.10 do not automatically generate a password. On older versions you set the password manually by typing on the command line.

Note: The root user credentials can’t be used to sign in to the Admin Web UI.

For more information about the features in the Admin Web UI, refer to the OpenVPN Access Server Admin Manual.

Ubuntu network management program

There is also the option of connecting through the GUI using the openvpn extension for the Gnome network manager plugin. But this is currently a bit tricky to set up. There is for example the incorrect assumption that all VPNs will be able to redirect Internet traffic, and older versions might not understand the .ovpn file format, requiring you to split up the certificate embedded in it into separate file. And you would likely have to dig into the options to ensure that a default Internet traffic route going through the VPN server is not always enabled by default, especially for servers where you only give access to some internal resources, and not the entire Internet. However the advantage of using the GUI component is that you can start/stop the connection from the desktop environment on Linux.

Install repository, then upgrade

Check your operating system

You need to know the correct operating system to use the appropriate commands for adding the repository and installing OpenVPN Access Server.

  • Determine your operating system.

    Run these commands to find the necessary OS information:cat /etc/issuelsb_release -auname -a

Select your OS from our software repository page

  • From the software repository page, click on the appropriate OS to open up the instructions for installing the repository.
  • Ensure you select the correct version of your OS as well.
  • The instructions work for upgrades and new installations of OpenVPN Access Server.
  • Run the commands on your server’s command line as a root user.
  • We recommend rebooting your server:

Note: If your operating system version is no longer listed on our software repository page you should not try to force instructions for a newer operating system onto your outdated system. In this situation you should consider either upgrading your operating system or migrating your Access Server configuration to a more up-to-date installation.

II. Post-auth интеграция

Используйте этот вариант интеграции, если ваш поставщик учётных записей – локальная директория учётных записей OpenVPN AS.

Первые шаги

  1. Создайте аккаунт и войдите в административную панель Мультифактор.
  2. В разделе ресурсы кликните Добавить ресурс. В появившемся списке выберите Другой в разделе Сетевой экран. Заполните необходимые поля для того, чтобы получить параметры NAS Identifier и Shared Secret. Эти параметры потребуются для завершения настройки.
  3. В случае аутентификации локальных пользователей OpenVPN AS создайте соответствующих пользователей в системе Мультифактор. Перейдите в раздел
    пользователи и кликните Добавить пользователя или Импортировать.
  4. Загрузите Post-auth плагин Мультифактор для OpenVPN Access Server.

Настройка Post-auth плагина

  1. Откройте файл c помощью текстового редактора. В файле необходимо задать значения параметрам NAS_IDENTIFIER и SHARED_SECRET.

    Сохраните изменения и закройте текстовый редактор.

  2. Разместите скрипт в директории на сервере OpenVPN Access Server.

    Замените и на фактические имя пользователя и IP-адрес сервера. Сначала загрузите скрипт в домашнюю директорию, т.к. по умолчанию у административного пользователя OpenVPN AS нет прав на запись без .

    Если сервер был развернут с помощью средств виртуализации Microsoft Hyper-V, VMWare ESXi, Amazon AWS, Microsoft Azure, Google Cloud Platform и других, SSH вход может быть защищён приватным ключом. В таком случае, задайте путь к ключу с помощью опции .

  3. Откройте новую SSH-сессию.

  4. Переместите в директорию со скриптами.

  5. Убедитесь, что файл является исполняемым.

Установка Post-auth плагина

  1. Задайте Post-auth скриптом по умолчанию с помощью инструмента командной строки sacli. Если у SSH-пользователя нет прав на выполнение , задайте имя административного пользователя из веб-консоли с помощью опции .

  2. Запустите сервисы.

Тестирование входа

После настройки и установки Post-auth плагина Мультифактор попробуйте подключиться к VPN с помощью веб-интерфейса или клиента OpenVPN Connect.

Если установка прошла успешно, клиент запросит второй фактор для аутентификации с помощью SMS или OTP-кода.

  • Для аутентификации по SMS или OTP-коду введите код в отдельном окне ввода OpenVPN Connect.
  • Для аутентификации с помощью мобильного приложения Мультифактор (iOS, Android) или Telegram нажмите Да, это я в уведомлении с запросом подтверждения аутентификации.

Решение проблем

Причины наиболее частных проблем с аутентификацией:

  1. Вы используете bootstrap-пользователя , для которого игнорируются правила post-auth аутентификации. Пользователя после полной настройки сервера. ;
  2. Вы используете auto-login профиль, который игнорирует правила Post-auth;
  3. Логины пользователей в админ-панели Multifactor не соответствуют логинам локальных пользователей в OpenVPN Access Server;
  4. В файле неверно указаны NAS Identifier и Shared Secret;
  5. Плагин не имеет прав на исполнение ;
  6. Плагин некорректно установлен;
  7. Сервер не был перезапущен после установки плагина.

Test with local hosts file

Most operating systems have something called a local hosts file. With this you can define FQDN entries or host names and point them to IP addresses. Using this you can have the rest of the world still use the old address for the old server, while you can test the new server locally on your own system. There are usually programs available for your operating system to edit the hosts file and to point a specific host name to a specific IP. Using this method, you could point only the name vpn.yourcompany.com on your computer, or whatever your Access Server has as a DSN FQDN name, to the IP of the new server, and you can test while everybody else is still using the old server.

You can do this by editing the hosts file on your OS. You can usually find tools to do this properly for you, like Hosts File Editor for Windows. If you download and run the installer or portable .exe file for that on Windows you can quickly and easily edit your hosts file to point your Access Server’s domain name to the IP of your new server — but only on your computer. Do your tests and when things look good, you can undo the hosts file entry and do it for real on the real DNS record — point it to your new server.

Сетевая конфигурация сервера

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

Отправка IP

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

Изменения необходимо вносить в файл /etc/sysctl.conf, поэтому сначала нужно открыть его:

$ sudo nano /etc/sysctl.conf

Теперь найдите строку с net.ipv4.ip_forward. Раскомментируйте ее, удалив знак решетки в начале:

net.ipv4.ip_forward=1

Затем сохраните и закройте файл.

Для того, чтобы применить изменения к вашему сеансу, наберите:

$ sudo sysctl -p

Настройка UFW правил для сокрытия клиентских соединений

Наверняка у вас на сервере фаервол уже используется для того, чтобы блокировать нежелательный трафик. В случае работы с OpenVPN фаервол поможет работать с тем трафиком, который поступает на сервер. Вам будет необходимо изменить файл с правилами для того, чтобы включить маскарадинг (или по-английски masquerading, маскировка). Маскарадинг – это определенный тип трансляции сетевого адреса, при котором отправитель имеет адрес, подставляемый динамически. Перед тем, как перейти к настройке фаервола и включению маскарадинга, нужно найти публичный интерфейс сети используемой машины. Введите команду:

$ ip route | grep default

Название вашего публичного интерфейса будет иди сразу после слова “dev’. В примере ниже интерфейс называется wlp22s0:

default via 203.0.113.1 dev wlp22s0 proto static metric 600

Увидели и запомнили название интерфейса? Тогда идем дальше. Откройте файл /etc/ufw/before.rules для того, чтобы добавить нужную конфигурацию:

$ sudo nano /etc/ufw/before.rules

В этом файле содержатся настройки, которые следует внести до того, как будут применены правила UFW. Ближе к началу файла добавьте строки, написанные ниже (вставить их можно после закомментированного блока rules.before):

# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT 
# Allow traffic from OpenVPN client to wlp22s0 (change to the interface you discovered!)
-A POSTROUTING -s 10.8.0.0/8 -o wlp22s0 -j MASQUERADE
COMMIT
# END OPENVPN RULES

Обратите внимание, что в строчке -A POSTROUTING нужно вставить то название интерфейса, которое вы выяснили ранее. Внесенное изменение позволяет установить правила

которые по умолчанию будут применяться к цепочке POSTROUTING (именно эта цепочка отвечает за маскарадинг) в таблице nat, и весь трафик, который идет от VPN, будет скрыт

Внесенное изменение позволяет установить правила. которые по умолчанию будут применяться к цепочке POSTROUTING (именно эта цепочка отвечает за маскарадинг) в таблице nat, и весь трафик, который идет от VPN, будет скрыт.

После внесенного изменения сохраните и закройте файл.

Теперь нужно сделать так, что фаервол по умолчанию пропускал перенаправленные пакеты. Для этого откройте вот этот файл:

$ sudo nano /etc/default/ufw

И в нем найдите директиву DEFAULT_FORWARD_POLICY. Ее значение с DROP нужно изменить на ACCEPT.

DEFAULT_FORWARD_POLICY="ACCEPT"

Затем сохраните и закройте файл.Открытие порта OpenVPN и применение изменений

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

Если ранее вы не меняли номер порта и протокол в файле /etc/openvpn/server.conf, то вам нужно открыть трафик UDP для порта 1194. Соответственно, если вы используете другой порт и протокол, то в настройках вам нужно будет использовать ваши значения.

Также нужно будет добавить SSH-порт (если ранее вы этого не сделали):

$ sudo ufw allow 1194/udp
$ sudo ufw allow OpenSSH

После этого для того, чтобы изменения вступили в силу, вам нужно выключить включить фаервол:

$ sudo ufw disable
$ sudo ufw enable

Теперь сервер настроен правильно для того, чтобы работать с OpenVPN трафиком.

Admin Web UI Features

These sections provide an introduction to the Admin Web UI and how you can retrieve the server status, a configuration overview, and the number of current connected users. There are details on an easy way to query the log database and what the log reports look like.

Server Status

The Status Overview section indicates whether the VPN server is currently on or off. If it’s on, you can click on Stop the Server to stop the OpenVPN daemons. If the server is off, you can click on Start the Server to start the OpenVPN daemons.

Stopping or starting the daemons won’t affect the Admin Web UI service — it continues to actively listen on its configured port, which is by default TCP port 943. However, if you stop the daemons, this also stops the automatic internal routing of browser traffic to the standard HTTPS port TCP 443. With internal routing turned off, you must specify port 943 to access your Admin Web UI. For example:

  • https://123.456.78.90:943/admin
  • https://vpn.businessname.com:943/admin

Active Configuration

The Active Configuration section displays some important configuration settings that are managed in the configuration and authentication sections of the Admin Web UI.

Current Users

The Current Users section displays actively connected users with information in the following columns:

Common Name The username.
Real Address The originating IP address of the connecting client.
VPN Address The IP address assigned by your OpenVPN Access Server.
Bytes Sent Received The data (in bytes) received and sent through the VPN tunnel.
Connected Since When the currently active connection was last connected or reconnected.
Block Block the user, denying access to the VPN.

If an administrator blocks a user from the Current Users page, that block can be removed by unchecking the Deny Access box on User Management > User Permissions.

Querying the log database

The Log Reports section displays the log in your browser and provides the option to download it as a comma separated values (CSV) file. You can query your logs or filter the output using the fields under Query by Start Time and Filter by Number of Log Entries. You can also filter your results based on any text you enter into the filter records field.

There is a log database available through the CLI interface called logdba, which you can use to extract and export information.

Query log results

The results of a log query display below search and filter fields with information in the following columns:

Node The name of the OpenVPN Access Server. This is different for a multi-server setup, where the node name is different for each server.
Username The username of the client connection, as authenticated by Access Server
Start Time The date and time that a specific connection or attempted connection occurred.
Duration The length in time of the connection. Note: When a user’s connection is momentarily interrupted, a new, separate session is logged.
Service One of the following:VPN: Clients connecting through the OpenVPN daemon using a client.WEB_CLIENT: Users signing into, or attempting to sign into the client web server using a browser.WEB_ADMIN: Users signing into, or attempting to sign into the admin web server or Admin Web UI using a browser.XML_API: Any XML-RPC API requests are logged with this service when the XML debug flag is enabled.
Real IP The real IP address of the client connected to the Access Server or the user attempting to connect to a web service.
VPN IP The IP address assigned to the client by the Access Server.
Proto The protocol used for the OpenVPN tunnel itself — UDP is generally the better choice here.
Port The port the client connected on — the default ports are TCP 443 and UDP 1194.
Bytes In The total number of bytes sent from the client to the Access Server.
Bytes Out The total number of bytes sent from the Access Server to the client.
Error Any error messages display here, usually in short and technical phrases.

Admin Web UI User Manual

For more information about each Admin Web UI section, refer to the OpenVPN Access Server Admin Manual, which provides details about the different configuration options through your Admin Web UI portal as well as details on typical network configurations.

Аутентификация пользователей

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

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

Открываем конфигурационный файл openvpn:

vi /etc/openvpn/server.conf

И добавляем следующие строчки:

plugin /usr/lib/openvpn/plugins/openvpn-plugin-auth-pam.so login
tmp-dir /etc/openvpn/tmp

* где:

  • plugin — путь до библиотеки проверки введенных логина и пароля. Как путь, так и название файла openvpn-plugin-auth-pam.so могут отличаться. Это зависит от версии Linux и OpenVPN. Чтобы найти путь до нужного файла, можно воспользоваться командой find / -name «openvpn-*auth-pam*.so» -print.
  • tmp-dir — указание пути до директории хранения временных файлов. Если не указать, то будет использоваться /tmp, однако, на практике это может привести к ошибке Could not create temporary file ‘/tmp/openvpn_<набор символов>.tmp’: No such file or directory (errno=2).

Создаем каталог для временных файлов и задаем на него права:

mkdir /etc/openvpn/tmp

chmod 777 /etc/openvpn/tmp

Перезапускаем сервер:

systemctl restart openvpn@server

Создаем учетную запись для авторизации:

useradd vpn1 -s /sbin/nologin

passwd vpn1

В конфигурационный файл клиента добавляем:

auth-user-pass

Можно пробовать подключаться.

Вход без ввода пароля

Если необходимо настроить авторизацию, но автоматизировать вход клиента, открываем конфигурационный файл последнего и строку для авторизации меняем на:

auth-user-pass auth.txt

* где auth.txt — файл, в котором мы будем хранить логин и пароль.

Создаем текстовый файл auth.txt в той же папке, где находится файл конфигурации со следующим содержимым:

username
password

* где username — логин пользователя, а password — пароль.

Переподключаем клиента.

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

настройка OpenVPN сервера с аутентификацией через LDAP (написана на базе Linux Ubuntu).

Настройте правила брандмауэра, чтобы разрешить доступ

В разделе «Брандмауэр / Правила» нажимаем WAN и создаем правило со следующими значениями:

Сохраняем и у нас будет правило, созданное в Интернете WAN.

Теперь нам нужно перейти в раздел «Брандмауэр / Правила / OpenVPN», в этом разделе мы собираемся определить доступ клиентов OpenVPN. Если мы хотим разрешить клиентам OpenVPN доступ к любой подсети pfSense, а также к Интернету, нам нужно будет создать правило «Пропустить все», определяющее следующее:

Если мы хотим создать определенные правила для запрета трафика в определенные подсети, то нам нужно будет создать правила, отвечающие этому условию.

Как только у нас будет доступ из глобальной сети Интернет, а также к любой подсети операционной системы и перенаправление в Интернет, мы собираемся экспортировать файл конфигурации OpenVPN для клиентов.

Конфигурация OpenVPN

OpenVPN может быть настроен как с помощью интерфейса UCI(характерного для OpenWrt), так и с помощью традиционных конфигурационных файлов OpenVPN (*.conf). OpenVPN будет автоматически подгружать все *.conf файлы из /etc/openvpn/.

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

Для простоты и последовательности, остальная часть этого руководства будет использовать интерфейс OpenWRT UCI для настройки OpenVPN, как описано ниже. Следует отметить, что раздел содержит инструкции для UCI интерфейса (Пользователям, использующим традиционные файлы конфигурации, придется подкорректировать эти команды под свою систему).

Традиционный (TUN) Сервер

echo > etcconfigopenvpn # очистите UCI конфигурацию для OpenVPN
uci set openvpn.myvpn=openvpn
uci set openvpn.myvpn.enabled=1
uci set openvpn.myvpn.verb=3
uci set openvpn.myvpn.port=1194
uci set openvpn.myvpn.proto=udp
uci set openvpn.myvpn.dev=tun
uci set openvpn.myvpn.server='10.8.0.0 255.255.255.0'
uci set openvpn.myvpn.keepalive='10 120'
uci set openvpn.myvpn.ca=etcopenvpnca.crt
uci set openvpn.myvpn.cert=etcopenvpnmy-server.crt
uci set openvpn.myvpn.key=etcopenvpnmy-server.key
uci set openvpn.myvpn.dh=etcopenvpndh2048.pem
uci commit openvpn

Сервер в режиме моста (TAP)

echo > etcconfigopenvpn # очистите UCI конфигурацию для OpenVPN
uci set openvpn.myvpn=openvpn
uci set openvpn.myvpn.enabled=1
uci set openvpn.myvpn.verb=3
uci set openvpn.myvpn.proto=udp
uci set openvpn.myvpn.port=1194
uci set openvpn.myvpn.dev=tap
uci set openvpn.myvpn.mode=server
uci set openvpn.myvpn.tls_server=1
uci add_list openvpn.myvpn.push='route-gateway dhcp'
uci set openvpn.myvpn.keepalive='10 120'
uci set openvpn.myvpn.ca=etcopenvpnca.crt
uci set openvpn.myvpn.cert=etcopenvpnmy-server.crt
uci set openvpn.myvpn.key=etcopenvpnmy-server.key
uci set openvpn.myvpn.dh=etcopenvpndh2048.pem
uci commit openvpn

Клиент

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

echo > etcconfigopenvpn # очистите UCI конфигурацию для OpenVPN
uci set openvpn.myvpn=openvpn
uci set openvpn.myvpn.enabled=1
uci set openvpn.myvpn.dev=tun
uci set openvpn.myvpn.proto=udp
uci set openvpn.myvpn.verb=3
uci set openvpn.myvpn.ca=etcopenvpnca.crt
uci set openvpn.myvpn.cert=etcopenvpnmy-client.crt
uci set openvpn.myvpn.key=etcopenvpnmy-client.key
uci set openvpn.myvpn.client=1
uci set openvpn.myvpn.remote_cert_tls=server
uci set openvpn.myvpn.remote="SERVER_IP_ADDRESS 1194"
uci commit openvpn

Если ваш сервер требует проверки подлинности пароля:

uci set openvpn.myvpn.auth_user_pass=pathtopassword.txt

Файл password.txt должен содержать в себе логин на первой строке и пароль на второй. Этот файл следует хранить в безопасном месте.

Вы можете также использовать опцию route.nopull. Это отключит автоматическую маршрутизацию. Имейте ввиду, что вам придётся самостоятельно прописывать все маршруты, к тому же сервер по-прежнему будет сам определять свойства TCP/IP для вашего TUN/TAP устройства:

uci set openvpn.myvpn.route_nopull=1

На этом вы закончили базовую настройку. Запустите OpenVPN:

etcinit.dopenvpn enable
etcinit.dopenvpn start

Finishing configuration and using the product

Verify configuration completes

Once OpenVPN Access Server installs, it automatically runs an initial configuration with default settings.

When the initial configuration completes, review the output for the admin account and addresses to access your Admin Web UI.

  • Get the username and password for your admin user.

    Take note of the randomly generated password for the administrative account openvpn. Access Server versions older than 2.10 do not automatically generate a password. On older versions you set the password manually by typing passwd openvpn on the command line.

  • Get the URLs for your Admin Web and Client UIs.
    • The output provides the URL to connect to your Admin Web UI to configure your VPN server. From the Admin Web UI you can manage the configuration, certificates, users, and more settings in a web-based GUI. An example address: https://192.168.70.222/admin.
    • The output also provides the URL to connect to your Client UI for downloading pre-configured OpenVPN Connect as well as connection profiles. An example address: https://192.168.70.222/.
    • For more details about the web service, refer to OpenVPN Access Server web services.
  • Sign in to the Admin Web UI.
    • Enter the URL for your Admin Web UI into your web browser and sign in with your openvpn admin account.
    • When you first sign in, you encounter a browser warning due to the self-signed certificate. This is expected and you can accept the warning and continue. To resolve this you can install a properly signed web SSL certificate.
    • Once signed in, you can activate your Access Server with an activation key, set up authentication systems such as RADIUS or LDAP, add users to the local authentication database, manage access control, and so on.

Refer to further documentation to configure specific functions and configuration options for the OpenVPN Access Server:

User ManualGet Started GuideLinux Video Tutorials

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

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

Для примера, ниже рассмотрим настройку клиентов на компьютере с системами Windows и MacOS.

Windows

  1. После установки скопируйте полученный файл конфигурации в папку .
  2. Запустите OpenVPN. Это необходимо сделать от имени администратора: кликните на значке правой кнопкой и выберите «Запуск от имени администратора». Чтобы OpenVPN всегда по умолчанию запускался от имени администратора, кликните на его значке правой кнопкой и выберите Свойства. На вкладке «Совместимость» отметьте пункт «Выполнять эту программу от имени администратора» и сохраните. 
  3. В появившемся при запуске окне с предупреждением (разрешить программе внести изменения) нажмите «Да.»
  4. Кликните правой кнопкой мыши на значке OpenVPN в трее, выберите загруженный профиль и нажмите Connect / Подключиться.

Откроется окно с логом соединения, и, как только соединение будет установлено, появится соответствующее уведомление.

Для отключения снова кликните на значок OpenVPN в трее, выберите нужный профиль и нажмите Disconnect / Отключиться.

MacOS

  1. Для MacOS можно использовать бесплатный клиент Tunnelblick.
  2. Дважды кликните на загруженном файле и пройдите процесс установки.
  3. При завершении установки выберите «Нет» в ответ на вопрос о наличии конфигурационных файлов.
  4. После завершения установке откройте Finder и кликните дважды на вашем конфигурационном файле. Tunnelblick автоматически установит профиль.

Для установки соединения запустите Tunnelblick, после чего кликните на его иконку в верхней части экрана и нажмите Connect. Далее выберите установленный профиль.

Установка и настройка Dnsmasq

Dnsmasq — это легкий и быстроконфигурируемый DNS, DHCP и TFTP сервер, предназначенный для обеспечения доменными именами и связанными с ними сервисами небольшие сети. Может обеспечивать именами локальные машины, которые не имеют глобальных DNS-записей. DHCP сервер интегрирован с DNS сервером.

Настройку будем проводить на сервере с операционной системой CentOS7

Настройка DHCP-сервера

Настройка производится в конфигурационному файле /etc/dnsmasq.conf

cat /etc/dnsmasq.conf


# Указываем пользователя и группу с правами которых будет запущен демон

user=nobody
group=nobody

# Указываем интерфейсы на которых будут приниматься запросы
interface=eth0
interface=eth1

# Или интерфейсы на которых не будут приниматься запросы

except-interface="интерфейс" 

# Или ip-адреса

listen-address= "ip-адрес"

#Если вы хотите что бы интерфейс принимал только DNS запросы

no-dhcp-interface= "интерфейс"


# Указываем диапозон адресов и время аренды

dhcp-range=192.168.0.50,192.168.0.150,10h

# Для статической привязки адресов указываем MAC-адрес хоста и 
#адрес, который будем ему выдавать

dhcp-host=11:22:33:44:55:66,192.168.0.51

# или ip-адрес и имя хоста

dhcp-host=11:22:33:44:56:77,mail-server,192.168.0.55,60m

# Можем выдать один ip-адрес одному из хостов кто первый успеет

dhcp-host=12:21:33:43:88:11,22:11:55:44:88:81,192.168.0.59

# Указание опций DHCP

# Шлюз по умолчанию

dhcp-option,3,192.168.0.1

# DNS сервер

dhcp-option,6,192.168.0.1

# Лимит на аренду ip-адреса в секундах (по-умолчанию 150)

dhcp-lease-max=3600

# Указание файла для хранения информации об аренде адресов

dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases

# Указание, что DHCP сервер работает в режиме authritative

dhcp-authoritative


Возможных настроек намного больше, но мы рассмотрели самые часто используемые, для полного перечня обращайтесь к документации

Перечень всех опций DHCP можно найти по сслыке IANA (Internet Assigned Numbers Authority).

Настройка DNS

Настройка DNS сервера производится в том же конфигурационном файле /etc/dnsmasq.conf

cat /etc/dnsmasq.conf

# Указание интерфейсов и ip-адрес мы рассмотрели в секции DHCP

# Указываем доменое имя

domain=test.un

# можно указать отдельное доменое имя, для отдельной сети

domain=wifi.test.un,192.168.100.0/24

#Или для определенного диапозона адресов

domain=range.test.un,192.168.100.100,192.168.100.200

# Указание серверов для форвардинга запросов

server=8.8.8.8

# Указание адресов доменных серверов для перенаправления запроса к определенным зонам

server=/office.un/192.168.50.10

# Аналогично можно указать для обратной зоны

server=/50.168.192.in-addr.arpa/192.168.50.10

#По умолчанию dnsmasq использует файл /etc/hosts для сопоставления имен
#хостов IP-адресам, но это тоже можно изменить. Если вы не хотите
#использовать /etc/hosts, вы можете указать это при помощи опции

no-hosts

# Если вы хотите использовать для этих целей другой файл

addn-hosts= "путь к файлу"

#Записи зоны

#Запись типа А

address=/mail-server.test.un/192.168.0.55

address=/ldap.test.un/192.168.0.210

#Запись CNAME

cname=mail-server,mail # алиасом для mail-server будет имя mail

#Запист типа SRV

srv-host=_ldap._tcp.test.un,ldap.test.un,389

#Алиасы или подмена ip-адресов
#Кроме задания собственных записей DNS можно изменять информацию,
#получаемую от внешних DNS-серверов путем подмены полученного IP-адреса.
#Для замены одного адреса

alias=10.10.1.1,172.20.1.1 # если при запросе от внешнего DNS сервера мы получили адрес 
						   #10.10.1.1 то мы подменим его на 172.20.1.1

#Или можно заменять целую сеть

alias=10.10.1.0,172.20.1.0,255,255,255,0


#Dnsmasq читает файл /etc/resolv.conf для определения перечня DNS серверов
#для форвардинга, если вы хотите поменять это и указать другой файл для этих целей

resolv-file= "путь к файлу"


Для того, чтобы обращения к DNS шли именно на dnsmasq на том же сервере, где он сам работает, необходимо указать первой записью в /etc/resolv.conf следующую строку

nameserver 127.0.0.1

IP address change, DNS record update

If your migration to a new Access Server installation also means you get a new IP address on your server, then first check to see if in the Admin UI in the Network Settings page you have the Host name or IP address field set to a proper FQDN DNS name. For example like vpn.yourcompany.com. If you do, then it’s likely that all your currently installed OpenVPN clients also are using a DNS name to find the server on the Internet. If that’s so, then when you update the DNS record to the new IP address of your new server, then your clients can connect again, once you complete all the necessary steps to migrate your data.However, if you have installed the Access Server and all your clients while using an IP address only, then when your server changes IP address, none of your clients can connect to the new server. They are preprogrammed to look for the old IP address. Changing the value in the Admin UI after the OpenVPN clients have already been installed will not update this on the already existing client installations. In such a case you should be prepared to reinstall your VPN clients when your server changes IP address.

It is worth noting that an FQDN DNS address is required to get a properly validated and signed SSL certificate installed and working on your Access Server, and we do recommend this.

If you’re on Amazon AWS, and your old server has an Elastic IP, you can just deassociate the Elastic IP from the old instance, and associate it with the new instance, and then you don’t need to update any DNS record or IP settings at all.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: