# Практика №6. OpenVPN L2 - туннелирование Инфраструктура взята из прошлой лабораторной работы, только убран в этот раз Linux-OpenVpn, так как он уже не нужен. ![](https://i.imgur.com/MfeW1Fa.png) Так же остались все те же настройки интерфейсов ens3, ens4 и моста br0 на Debian. Так же на Kali Linux уже скачан Openvpn и создан файл, плэтому можно не создавать новый. Для начала нужно перейти в настройки сервера командой: `sudo nano /etc/openvpn/server.conf` ![](https://i.imgur.com/tgKSTOC.png) Закомментируем dev tun и выставим dev tap, так как это нужно для OpenVpnL2. **tun** - интерфейс работает на уровне сетевого уровня (L3). используется для маршрутизации IP-пакетов между виртуальными сетевыми устройствами и физическими сетевыми устройствами, такими как сетевые адаптеры. **tap** - интерфейс работает на уровне канального уровня (L2) в стеке протоколов TCP/IP. Используется для эмуляции сетевых устройств, таких как Ethernet-адаптеры, и позволяет приложениям работать с сетевыми пакетами, как если бы они были отправлены и получены через реальный Ethernet-адаптер. Остальное остается без изменений. ![](https://i.imgur.com/zwEFvXc.png) Перезапускаем Openvpn, чтобы настройки применились. ![](https://i.imgur.com/z6zUdQN.png) Так же необходимо настроить файл клиента. В нем так же прописываем интерфейс tap, а остальное не трогаем. Сохраняем. ![](https://i.imgur.com/1JjO4UL.png) Скопируем и перемименуем старый конфигурационный файл сервера, чтобы не путаться. ![](https://i.imgur.com/jlmSaHs.png) Затем нужно поменять название нашего Debian устройства. Для этого откроем файл командой `nano /etc/hosts` и переименуем в Debian-RPI4. ![](https://i.imgur.com/T0JhaaO.png) Так же изменим имя локальной машины с помощью `nano /etc/hostname`. ![](https://i.imgur.com/AjMZ18X.png) Затем нужно обновить репозиторий и установить openvpn. Делаем это командой: `apt update -y && apt install openvpn -y` ![](https://i.imgur.com/YrO5YE9.png) Далее передаем файл клиента с Kali Linux на Debian машинку командой: `scp user@192.168.186.130:/home/user/client.ovpn /etc/openvpn/client.conf` **scp (secure copy)** - позвоялет безопасно файлы и каталоги. **192.168.186.130** - Ip-адрес Kali Linux. **user** - Имя пользователя Kali Linux. **/home/user/client.ovpn** - файл, который будем забирать. **/etc/openvpn/** - куда он будет передан. ![](https://i.imgur.com/tgg4Fug.png) Откроем файл и убедимся, что успешно его получили. ![](https://i.imgur.com/cyGy94a.png) Затем запускаем openvpn командой: ``` openvpn /etc/openvpn/client.conf ``` ![](https://i.imgur.com/Fbo45qk.png) Открываем новое окно и проверяем, что интерфейс tap0 появился. ![](https://i.imgur.com/AvMiW4I.png) Затем открываем файл интерфейсов командой `nano /etc/network/interfaces` и добавляем туда интерфейс tap0. ![](https://i.imgur.com/69MpO2G.png) Затем перезапускаем сеть. ![](https://i.imgur.com/EwhCYG8.png) После этого можно убедиться, что появился наш интерфейс tap0 с ip 10.8.0.2. ![](https://i.imgur.com/jfH8Rs9.png) Далее установим tcpdump, который в дальнейшем понадобится. ![](https://i.imgur.com/ZtJvCfe.png) На Kali Linux так же появился интерфейс tap0 с ip 10.8.0.1, а еще уберем файл клиента и перезапустим Openvpn. ![](https://i.imgur.com/D3AzAEx.png) Так же перезапустим нашу Debian-машинку. ![](https://i.imgur.com/u70U5TX.png) Нужно настроить интерфейс, чтобы он постоянно был активным, чтобы с перезапуском системы он не перезапускался. Его нужно внести в настройки /etc/network/interfaces/ в bridge_ports. ![](https://i.imgur.com/UrOf114.png) После этого вернемся на Kali Linux и запустим tcpdump командой `sudo tcpdump -i tap0` для прослушки туннеля. Можно увидеть, что была передана информация о коммутаторе. ![](https://i.imgur.com/gchcTXW.png) Та же увидеть протокол **DTP** (Dynamic Trinking Protocol) -проприетарный сетевой протокол канального уровня, разработанный компанией Cisco для реализации транкинговой системы для связи в сети VLAN между двумя сетевыми коммутаторами и для реализации инкапсуляции. ![](https://i.imgur.com/a3WX7hL.png) Как видно, интерфейс tap0 получил свой ip-адрес по dhcp. ![](https://i.imgur.com/uI7azxs.png) Можно пропинговать ip-адрес фаерволла и убедиться, что он его спокойно пингует. ![](https://i.imgur.com/y3FVFnn.png) Так же можно успешно зайти на сайт pfsense. ![](https://i.imgur.com/OGUGAlm.png)