---
# System prepended metadata

title: Нагаев А. С. БСБО-04-20. Практическая работа №5 - Практика №5. OpenVPN L3 - туннелирование

---

# Нагаев А. С. БСБО-04-20. Практическая работа №5 - Практика №5. OpenVPN L3 - туннелирование 

Ход работы

Начнем с настройки OpenVPN-сервера на Кали.

Обновим репозитории и скачаем на машину скрипт для установки OpenVPM.

![](https://i.imgur.com/M4WnsKi.png)

Установщик спрашивает первичную информаицю для развертывания сервера. Нужно указать адрес интерфейса, адрес хоста, порт для OpenVPN, протокол и DNS-резолвер. Большинство этих параметров оставляем по умолчанию.

![](https://i.imgur.com/7Ky7JX5.png)

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

![](https://i.imgur.com/Yjrs4rw.png)

Заглядываем в конфигурацию сервера и убираем пуш DNS и пуш дефолтного роутера.

![](https://i.imgur.com/S3YxfQt.png)

В конфигурации клиента убираем блокирование внешних DNS.

![](https://i.imgur.com/kkH6rfl.png)

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

![](https://i.imgur.com/XqJXNC4.png)

Через apt install установим OpenVPN на машине.

![](https://i.imgur.com/E3X50o7.png)

Перекидываем файл конфигурации в директорию openvpn и запускаем его.

![](https://i.imgur.com/03p2irq.png)

В интерфейсах Кали можно увидеть новый tun0.

![](https://i.imgur.com/i4i6DHk.png)

Соединение установлено - мы можем пинговать Дебиан, но не можем достучаться до остальной инфраструктуры. Чтобы это исправить, нужно на сервере перейти в папку openvpn/ccd и создать файл client, в котором прописать iroute 192.168.1.0 255.255.255.0 - то есть за клиентом существует сеть 192.168.1.0.

![](https://i.imgur.com/cAkerkZ.png)

Также с Кали нужно указать маршрут до устройства, которое мы хотим пропинговать.

![](https://i.imgur.com/Z8I5R0u.png)


Перезапускаем VPN на Дебиане.

![](https://i.imgur.com/FpdupL5.png)

Мы можем пинговать внутренний интерфейс фаерволла. В tcpdump на Дебиане видно информацию о пингах, значит, все сделано верно.

![](https://i.imgur.com/slIlF0V.png)


![](https://i.imgur.com/bFfoH9C.png)

Таким образом, мы реализовали туннелирование на уровне L3 с помощью OpenVPN. Однако нам все равно нужно использовать статическую маршрутизацию, чтобы с компьютера с сервером VPN иметь доступ к инфраструктуре. 

Например, чтобы получить доступ к Windows 7 во VLAN 20, нужно вносить изменения в client и добавлять маршрут на Kali. Это неудобно.

![](https://i.imgur.com/n7zkTmm.png)

Эта проблема может быть решена с помощью тунеллирования на уровне L2, реализованного в следующей практике.
