Установка OpenVpn на Ubuntu Server 18.04 с доступом клиентам к локальной сети

Задача:
Настроить vpn сервер с возможностью подключения клиентов с любой точки мира, а также самое главное «видеть» устройства которые находится в сети Vpn сервера. Иными словами настроить маскарадинг на VPN сервере, что позволит клиентам которые подключились взаимодействовать со всеми устройствами в локальной сети.

Шаг 1. Устанавливаем Ubuntu Server 18.04. В интернете полно мануалов как это сделать , потому здесь описывать не буду
После установки подключаемся к серверу по ssh (Если у вас Linux) или putty (Если у вас Windows)
Команда для подключения в Linux терминале


ssh [email protected]   // user — пользователь которого Вы создали при установке системы, 192.168.88.25 — ip адрес самого сервера, чтоб узнать какой ip на сервере наберите команду ifconfig

Шаг 2. Вводим команду чтоб работать под root правами на сервере
sudo -i
Вводим пароль Вашей учетной записи.
Затем скачиваем уже настроенный пакет OpenVPN с github
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

Шаг 3. Откроется мастер настройки в котором необходимо пройтись по настройке openvpn

I need to ask you a few questions before starting the setup.
You can leave the default options and just press enter if you are ok with them.
First, provide the IPv4 address of the network interface you want OpenVPN
listening to.
IP address: 192.168.88.24 //ip адрес сервера на котором установлен OpenVPN
This server is behind NAT. What is the public IPv4 address or hostname?
Public IP address / hostname: 176.48.68.12 // Внешний Ip адрес (Тот который приходит на Wan порт роутера) должен быть белым и статическим, можете уточнить у своего провайдера
Which protocol do you want for OpenVPN connections?
1) UDP (recommended)
2) TCP
Protocol [1-2]: 1 // Последуем рекомендации
What port do you want OpenVPN listening to?
Port: 1194 //Порт который будет открыт в мир, через него клиенты будут подключатся к серверу OpenVPN
Which DNS do you want to use with the VPN?
1) Current system resolvers
2) 1.1.1.1
3) Google
4) OpenDNS
5) Verisign
DNS [1-5]: 1// Лучше использовать DNS который предлагает провайдер во избежания проблем с доступом
Finally, tell me your name for the client certificate.
Please, use one word only, no special characters.
Client name: client//Имя нового пользователя которого хотите добавить

Шаг 4. Извлечение сертификата и передача его клиенту
Сертификат будет сохранен в директорию /root/client.ovpn
Теперь необходимо скопировать его на свой ПК
Вариант 1. Если у Вас Linux, через консоль по ssh
scp /root/client.ovpn [email protected]:/home/user    // user — это имя учетной записи на Вашем ПК(с котрого делаете настройку), 192.168.88.32 — ip ПК, /home/user — директория для скачивания файла
Вариант 2. Если у Вас Windows используем программу WinScp
cp /root/client.ovpn /user // Копируем сертификат в директорию пользователя User
С помощью WinScp подключаемся к серверу и копируем на свой ПК сертификат

Шаг 5. Вводим команду
nano /etc/openvpn/server.conf
Приведете значение строк как на скриншоте, только подставьте свои данные

push «route 10.0.8.0 255.255.255.0» //vpn сеть
push «route 192.168.88.0 255.255.255.0» //локальная сеть
Сохраняем документ командой Сtrl+O ( Cначала нажать Сtrl после этого английскую букву O на клавиатуре)
nano /etc/sysctl.conf
Найдите и уберите # перед строкой net.ipv4.ip_forward=1 //Сохраняем документ командой Сtrl+O
/sysctl -p /etc/sysctl.conf //Команда изменения настроек настроек
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE //Проброс сети VPN в локальную сеть, где 10.8.0.0/24 — это сеть VPN
/sbin/iptables-save //Сохранение настроек

Пробрасываете порт 1194 на роутере с переадреацией на свой сервер с VPN