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

### L3-tunneling
Переходим по адресу https://github.com/angristan/openvpn-install и ставим на Kali-Машину:

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

Видим, появился наш клиент (название клиента (в данном случае client.ovpn) устанавливается в этом же скрипте):

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

Отредактируем конфиг server.conf командой `sudo nano /etc/openvpn/server.conf`:

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

Отредактируем настройки клиента командой `sudo nano client.ovpn`

Командой `ip a` посмотрим, какие адреса присвоены сетевым интерфейсам:

Перейдем Debian-машину и передатим с Kali на Debian конфигурационный файл клиента командой `scp root@192.168.198.133:/home/user/client.ovpn ./client.conf`. Данная команда используется для копирования файла `client.ovpn` с удаленного хоста, расположенного по адресу `192.168.198.133` (Kali), в локальную директорию (Debian), где эта команда была запущена. Копирование выполняется с помощью протокола SSH (Secure Shell), который обеспечивает безопасный обмен данными между клиентом и сервером. В результате выполнения команды, в текущей локальной директории будет создан файл `client.conf` , содержащий те же данные, что и файл `client.ovpn` на удаленном хосте.:

Можно увидеть, что данный файл появился в локальной директории (при желании можно посмотреть его содержимое командой `cat client.conf`):

Поставим openvpn на Debian-клиент:

Перекидываем конфиг клиента в директорию openvpn (`mv client.conf /etc/openvpn/`) после устанавливаем соединение (`openvpn /etc/openvpn/client.conf`):

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

Также можно подключиться к Debian по SSH:

Пробросим коннект до роутера через 10.8.0.2:

Попытка пропинговать роутер (не выходит):

Переходим в директорию и создаем файл:

Добавляем в нем маршрутизацию:

Перезагружаем openvpn клиент:

Разрешаем роутинг в Debian (`sudo nano /etc/sysctl.conf`) раскомментировав `net.ipv4.ip_forward=1` и убеждаемся в наших действиях:

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

В Debian тормозим прошлое соединение и запсукаем его заново:

Попытка пропинговать роутер (в этот раз пингует):

Pfsense:

### L2-tunneling
Отредактируем server.conf:
Для этого сохраним старый конфиг:

и отредактируем текущий:

Перезапускаем openvpn (`service openvpn restart`)
То же самое делаем на Debian-rpi4 (`sudo nano /etc/openvpn/client.conf`):

В интерфейсах добавим tap0 (`sudo nano /etc/network/interfaces`):

Далее перезапускаем openvpn и сетевые настройки `service networking restart`; `service openvpn restart`;
Информация о сетевых интерфейсах Debian-RPi4:

Информация о сетевых интерфейсах Kali:

Захват пакетов:

Пинг роутера:

Подключение к pfsense:
