# Практика №5. Протокол WireGuard ## Выполнила Валеева Рената ## Группа ББСО-02-20 # Описание практической работы: **Целью практической работы является:** * Научиться работать с протоколом WireGuard * Научиться настраивать работу VPN протокола WireGuard на операционной системе Linux (в качестве сервера). # # Практика №5. Протокол WireGuard В данной работе необходимо научиться строить VPN соединения на основе протокола WireGuard, используя технологию IP-туннелей. Дополнительно - настраивать взаимодействие сетей удаленных филиалов # Описание практический работы: **Целью практической работы является:** - Научиться работать с протоколом WireGuard - Научиться настраивать работу VPN протокола WireGuard на операционной системе Linux (в качестве сервера) # Задание к практической работе: - Настроить WireGuard сервер в соотвествии с топологией сети. Допускается настройка с помощью скрипта автонастройки сервера WireGuard https://github.com/angristan/wireguard-install - Настроить WireGuard клиент в соотвествии с топологией сети и подключиться к серверу. (Обязательна настройка клиента на Linux OS) - Настроить сеть таким образом, чтобы любое сетевое устройство из офиса 4 (сеть 172.16.2.0/24) выходило в интернет через WireGuard тоннель, но при этом сохранился доступ до офисных сетей инфраструктуры. # Настройка **Первоначальные настройки** 1)Настройка имени: ![](https://hackmd.io/_uploads/r1LB96xBh.png) ![](https://hackmd.io/_uploads/Bk_IqpeH3.png) 2)Настройка доменов: В файле /etc/resolv.conf указываем dns 8.8.8.8 3)Настройка интерфейсов: ![](https://hackmd.io/_uploads/H1SPi6eHn.png) 4)Разблокируем маршрутизацию в файле /etc/sysctl.conf и применяем sysctl -p ![](https://hackmd.io/_uploads/ry3iopxSn.png) Эти действия необходимо проделать и на будущем сервере, и на будущих клиентах, однако у клиентов настраиваем статические адреса в соответствии с топологией. Далее необходимо установить curl для дальнейшей загрузки скрипта: ![](https://hackmd.io/_uploads/ryQ_n6eSn.png) Скачиваем скрипт с помощью curl: ![](https://hackmd.io/_uploads/rJ-C36eH2.png) Даем доступ на запуск скрипта: ![](https://hackmd.io/_uploads/SkPlpalr2.png) Устанавливаем Wireguard с помощью скрипта, указывая стандартные настройки: ![](https://hackmd.io/_uploads/H1c7pTxrn.png) Добавляем клиентов: ![](https://hackmd.io/_uploads/HJxYTTgB3.png) ![](https://hackmd.io/_uploads/ByR3pTgB3.png) На сервере создались конфиги сервера и клиентов: ![](https://hackmd.io/_uploads/HJYPRaeH2.png) ![](https://hackmd.io/_uploads/Bk32CplS3.png) ![](https://hackmd.io/_uploads/BkxRekAxS2.png) Далее нам необходимо настроить клиенты ###### Debian Смотрим в скрипт wireguard-install.sh и проводим обновление ядра и загрузку модулей для wireguard: ![](https://hackmd.io/_uploads/S1Hwe0gHh.png) Вводим указанные команды на клиенте. Далее нам необходимо создать файл конфигурации по пути /etc/wireguard/название.conf, куда мы скопируем сгенерированные данные из файла с сервера: ![](https://hackmd.io/_uploads/ry8Gb0lB3.png) Для поднятия туннеля необходимо воспользоваться командой wg-quick: ![](https://hackmd.io/_uploads/HkidXRgrn.png) ###### Windows Первоначальная настройка: ![](https://hackmd.io/_uploads/rkPfGAgr3.png) Создаем по удобному пути (можно на рабочем столе) конфигурационный файл, куда копируем данные для клиента с сервера. Устаналиваем wireguard, скачав его из интернета и применяем настройки из конфигурационного файла созданного ранее: ![](https://hackmd.io/_uploads/Sy0azAgrn.png) Далее проверяем пинг через traceroute и wireshark.