# Практика №6. OpenVPN L2 - туннелирование
Для реализации практики надо подсоединить RPi устройство между фаерволом и коммутатором. Оно будет выполнять роль моста. К нему извне будет подключаться OpenVPN Client на уровне L2.
## Реализация задания.
Надо настроить OpenVPN аналогично практике 5. Настройка Kali точно такая же, в ней надо будет поменять пару параметров.
Начнём с настройки RPi4.
На нём надо забрать c Kali конфиг и скачать openvpn.
1) Обновиться:
> apt update -y
2) Забрать конфиг:
> scp user@\<kali_ip\>:/home/user/client.ovpn ./client.conf
3) установить openvpn
> apt install openvpn
4) перекинуть конфиг в нужную директорию openvpn:
> mv client.conf /etc/openvpn
5) включить openvpn:
> openvpn /etc/openvpn/client.conf
На **kali** надо сохранить копию старого файла (для OpenVPN L3) и немного переписать файл для OpenVPN L2.
1) сделать бекап (на всякий):
> cp /etc/openvpn/server.conf /etc/openvpn/server.conf.l3
2) отредактировать файл:
> nano /etc/openvpn/server.conf
> (вместо dev tun надо поставить dev tap)
Благодаря этому по тоннелю будут передаваться не ip пакеты, а ethernet фреймы.
3) сохраняем настройки и перезапускаем сервис:
> service openvpn restart
Примерно эти же строчки надо будет поправить на Debian:
1) зайти в конфиг:
> nano /etc/openvpn/client.conf
2) поменять там ту же строчку - `dev tun` на `dev tup`
3) сохраняем настройки и перезапускаем сервис:
> service openvpn restart
После этого должен появиться tap интерфейс, который свидетельствует об успешном соединении. Осталось только добавить этот интерфейс в бридж.
На RPi4:
1) Зайти в network/interfaces
> nano /etc/network/interfaces
2) добавить 2 строчки для tap0 интерфейса и добавить tap0 в bridge.

3) перезапустить сеть
> service networking restart
Можно проверять:
> На kali: tcpdump -i tap0
Должны быть видны L2 протоколы (например, STP).
Также можно по dhcp получить ip с tap0
На Kali:
> dhclient tap0
После этого получаю полный доступ к инфре.