---
# System prepended metadata

title: Практика №3. Протокол OpenVPN-L3

---

# Практика №3. Протокол OpenVPN-L3
## Выполнила Валеева Рената
## Группа ББСО-02-20
В данной работе необходимо научиться строить VPN соединения на основе протокола OpenVPN, используя технологию IP-туннелей (OpenVPN L3). Дополнительно - настраивать взаимодействие сетей удаленных филиалов

# Описание практический работы:
**Целью практической работы является:**
* Научиться работать с протоколом OpenVPN 
* Научиться настраивать работу VPN протокола OpenVPN на уровне L3 на операционной системе Linux
* Научиться настраивать сетевую связанность офисов через OpenVPN L3 протокол VPN.

# Задание к практической работе:

- Настроить OpenVPN сервер уровня L3 в соотвествии с топологией сети. Допускается настройка с помощью скрипта автонастройки сервера OpenVPN https://github.com/angristan/openvpn-install
- Настроить OpenVPN клиент в соотвествии с топологией сети и подключиться к серверу.
- Настроить сетевую связанность офисов таким образом, чтобы из любого сетевого устройства в сети 172.16.4.0/24 можно было достучаться до сетей первого офиса (172.16.3.0/24, 172.16.12.0/24, 172.16.11.0/24), а также наоборот.

# Настройка
**Первоначальные настройки**
1)Настройка имени:
![](https://hackmd.io/_uploads/S1KpCE8P3.jpg)
![](https://hackmd.io/_uploads/Hy5a0V8vh.jpg)

2)Настройка доменов:
В файле /etc/resolv.conf указываем dns 8.8.8.8

3)Настройка интерфейсов:
![](https://hackmd.io/_uploads/H14W1S8w3.jpg)

4)Разблокируем маршрутизацию в файле /etc/sysctl.conf и применяем sysctl -p
![](https://hackmd.io/_uploads/HkSQJB8P2.jpg)

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

Далее используем apt update && apt upgrade - y для обновления ядра, устаналиваем curl для загрузки скрипта.

Загружаем скрипт и даем доступ на запуск:
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh


На сервере создались конфиги сервера и клиента:
![](https://hackmd.io/_uploads/HJqneH8Dh.jpg)
![](https://hackmd.io/_uploads/B11aeSUwn.jpg)

Создаем пустой конфиг на клиенте и копируем туда содержимое файла с сервера (с помощью ssh), убираем строки касающиеся dns:
![](https://hackmd.io/_uploads/S15GbSLDn.jpg)

Далее пробуем запустить openvpn на клиенте с помощью команды openvpn название_конфигурационного_файла(в моем случае client.conf):
![](https://hackmd.io/_uploads/ByxY-rLPh.jpg)

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

Проверим поднялся ли туннель:
![](https://hackmd.io/_uploads/SyH35HUv3.jpg)

Появились полученные маршруты:
![](https://hackmd.io/_uploads/rkqxsBUw3.jpg)

Далее для пингов со стороны сервера пропишем iroute:
![](https://hackmd.io/_uploads/HyHd6HUD2.jpg)

Также необходимо провести настройки на фаерволах и настроить на обоих устройствах nat postrouting masquerade:
![](https://hackmd.io/_uploads/S1xueLUvh.jpg)

![](https://hackmd.io/_uploads/Bygdg8Uw3.jpg)

![](https://hackmd.io/_uploads/H1l_e8IDn.jpg)

Пробуем пинговать как с сервера, так и с клиента:
![](https://hackmd.io/_uploads/rkSqgU8P2.jpg)

![](https://hackmd.io/_uploads/SkW0eUUPn.png)
