# Нагаев А. С. БСБО-04-20. Практическая работа №5 - Практика №5. OpenVPN L3 - туннелирование
Ход работы
Начнем с настройки OpenVPN-сервера на Кали.
Обновим репозитории и скачаем на машину скрипт для установки OpenVPM.

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

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

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

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

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

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

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

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

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

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

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

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


Таким образом, мы реализовали туннелирование на уровне L3 с помощью OpenVPN. Однако нам все равно нужно использовать статическую маршрутизацию, чтобы с компьютера с сервером VPN иметь доступ к инфраструктуре.
Например, чтобы получить доступ к Windows 7 во VLAN 20, нужно вносить изменения в client и добавлять маршрут на Kali. Это неудобно.

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