# Практика №5-6. OpenVPN L3,L2 - туннелирование
# Выполнение задания
# L3-tunneling
Инфраструктура:

Устанавливаем openvpn на кали

Запускаем скрипт:

Проверяем, что наш клиент установился в том же скрипте

Выводим список открытых сетевых соединений и видим, что openvpn поднялся

Редактируем server.conf:

Перезапускаем openvpn, чтобы применить наши настройки

Редактируем настройки клиента(client.openvpn):

Смотрим ip адреса:

Получаем нам файл с kali:

Перетаскиваем client.conf в другую директорию 
```
sudo nano /etc/sysctl.conf
```
Раскоментируем строку

Устанавлием соединение:

Получили адрес 10.8.0.2 и пингуем его с Kali:

Пробрасываем коннект до роутера 10.8.0.2:

Создаем файл client в директории /etc/openvpn/ccd и добавляем в нем директорию:

Перезапускаем openvpn:

Проверяем sysctl на нашем openvpn клиенте:

Ввведем команду `iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE` - она изменяет исходный адрес пакетов на адрес хоста, через который они отправляются

Запускаем заново наше openvpn соединение:

Пингуем 192.168.1.1:

Все работает, заходим на сайт pfsense


# L2-tunneling
Редактируем server.conf, закоменнтируем строчки и добавим dev tap

В файле client.ovpn также добавим dev tap и закомментируем строчки

Перезапускаем `service openvpn restart` и проверяем интерфейсы

Установим openvpn на Debian

Получим файл клиента с Kali на Debian

Запускаем openvpn

Появился tap0:

Добавим его в `/etc/network/interfaces`

И перезапустим `service networking restart` и `service openvpn restart`


Так же назначить ip по dhcp на интерфейс tap0 `sudo dhclient -i tap0`
Пингуем 192.168.1.1

Заходим на pfsense:

