# Практика №3. Протокол OpenVPN-L3 ## Выполнила Валеева Рената ## Группа ББСО-02-20 В данной работе необходимо научиться строить VPN соединения на основе протокола OpenVPN, используя технологию IP-туннелей (OpenVPN L3). Дополнительно - настраивать взаимодействие сетей удаленных филиалов # Описание практический работы: **Целью практической работы является:** * Научиться работать с протоколом OpenVPN * Научиться настраивать работу VPN протокола OpenVPN на уровне L3 на операционной системе Linux * Научиться настраивать сетевую связанность офисов через OpenVPN L3 протокол VPN. # Задание к практической работе: - Настроить OpenVPN сервер уровня L3 в соотвествии с топологией сети. Допускается настройка с помощью скрипта автонастройки сервера OpenVPN https://github.com/angristan/openvpn-install - Настроить OpenVPN клиент в соотвествии с топологией сети и подключиться к серверу. - Настроить сетевую связанность офисов таким образом, чтобы из любого сетевого устройства в сети 172.16.4.0/24 можно было достучаться до сетей первого офиса (172.16.3.0/24, 172.16.12.0/24, 172.16.11.0/24), а также наоборот. # Настройка **Первоначальные настройки** 1)Настройка имени: ![](https://hackmd.io/_uploads/S1KpCE8P3.jpg) ![](https://hackmd.io/_uploads/Hy5a0V8vh.jpg) 2)Настройка доменов: В файле /etc/resolv.conf указываем dns 8.8.8.8 3)Настройка интерфейсов: ![](https://hackmd.io/_uploads/H14W1S8w3.jpg) 4)Разблокируем маршрутизацию в файле /etc/sysctl.conf и применяем sysctl -p ![](https://hackmd.io/_uploads/HkSQJB8P2.jpg) Эти действия необходимо проделать и на будущем сервере, и на будущих клиентах, настраиваем статические адреса в соответствии с топологией. Далее используем apt update && apt upgrade - y для обновления ядра, устаналиваем curl для загрузки скрипта. Загружаем скрипт и даем доступ на запуск: curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh chmod +x openvpn-install.sh На сервере создались конфиги сервера и клиента: ![](https://hackmd.io/_uploads/HJqneH8Dh.jpg) ![](https://hackmd.io/_uploads/B11aeSUwn.jpg) Создаем пустой конфиг на клиенте и копируем туда содержимое файла с сервера (с помощью ssh), убираем строки касающиеся dns: ![](https://hackmd.io/_uploads/S15GbSLDn.jpg) Далее пробуем запустить openvpn на клиенте с помощью команды openvpn название_конфигурационного_файла(в моем случае client.conf): ![](https://hackmd.io/_uploads/ByxY-rLPh.jpg) Все успешно запустилось, мы также можем увидеть, что на клиент передались маршруты прописанные для передачи в конфигурационном файле сервера. Проверим поднялся ли туннель: ![](https://hackmd.io/_uploads/SyH35HUv3.jpg) Появились полученные маршруты: ![](https://hackmd.io/_uploads/rkqxsBUw3.jpg) Далее для пингов со стороны сервера пропишем iroute: ![](https://hackmd.io/_uploads/HyHd6HUD2.jpg) Также необходимо провести настройки на фаерволах и настроить на обоих устройствах nat postrouting masquerade: ![](https://hackmd.io/_uploads/S1xueLUvh.jpg) ![](https://hackmd.io/_uploads/Bygdg8Uw3.jpg) ![](https://hackmd.io/_uploads/H1l_e8IDn.jpg) Пробуем пинговать как с сервера, так и с клиента: ![](https://hackmd.io/_uploads/rkSqgU8P2.jpg) ![](https://hackmd.io/_uploads/SkW0eUUPn.png)