# Практика №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)Настройка имени:


2)Настройка доменов:
В файле /etc/resolv.conf указываем dns 8.8.8.8
3)Настройка интерфейсов:

4)Разблокируем маршрутизацию в файле /etc/sysctl.conf и применяем sysctl -p

Эти действия необходимо проделать и на будущем сервере, и на будущих клиентах, однако у клиентов настраиваем статические адреса в соответствии с топологией.
Далее необходимо установить curl для дальнейшей загрузки скрипта:

Скачиваем скрипт с помощью curl:

Даем доступ на запуск скрипта:

Устанавливаем Wireguard с помощью скрипта, указывая стандартные настройки:

Добавляем клиентов:


На сервере создались конфиги сервера и клиентов:



Далее нам необходимо настроить клиенты
###### Debian
Смотрим в скрипт wireguard-install.sh и проводим обновление ядра и загрузку модулей для wireguard:

Вводим указанные команды на клиенте.
Далее нам необходимо создать файл конфигурации по пути /etc/wireguard/название.conf, куда мы скопируем сгенерированные данные из файла с сервера:

Для поднятия туннеля необходимо воспользоваться командой wg-quick:

###### Windows
Первоначальная настройка:

Создаем по удобному пути (можно на рабочем столе) конфигурационный файл, куда копируем данные для клиента с сервера.
Устаналиваем wireguard, скачав его из интернета и применяем настройки из конфигурационного файла созданного ранее:

Далее проверяем пинг через traceroute и wireshark.