fbpx
Перейти к содержимому

Подробное руководство по настройке и использованию Wireguard в RouteOS

Установку RouteOS (CHR) на виртуальный сервер мы рассматривали ранее, поэтому в данной статье мы разберем настройку Wireguard на RouteOS.

Параллельно с графической инструкцией будут представлены команды с помощью которых можно будет произвести настройки не заходя в winbox либо web интерфейс, а использовать терминальное подключение.

Видео инструкция

Создание Wireguard интерфейса

Подключаемся к RouteOS с помощью winbox, в боковом меню нажимаем на пункт меню Wireguard и в окне которое откроется нажимаем на знак +

В открывшемся окне указываем имя интерфейса и если нужно меняем порт. После нажатия на OK у нас будет создан интерфейс с именем wireguard и портом подключения 13231, а также будет сгенерирован Privat и Public Key.

Для просмотра Privat и Public Key необходимо еще раз открыть созданный интерфейс два раза кликнув на название.

Для создания wireguard интерфейса в терминале, необходимо выполнить команду

/interface/wireguard
add listen-port=13231 name=wireguard

Чтобы узнать Privat и Public Key выполняем следующую команду

/interface/wireguard print 

Для настройки соединения на стороне клиента мы будем использовать Privat Key

Создание Peer (пользователя)

Для того чтобы подключиться к серверу нам необходимо создать Peer, для каждого нового подключения необходимо создавать новый Peer.

Открываем окно Wireguard и переходим во вкладку Peer.

В Allowed Address вводим подсеть с которой разрешено подключение либо отдельный IP адрес с которого будет разрешено подключение, а в Publik Key вводим публичный ключ который мы сгенерируем с вами на стороне подключаемого устройства (компьютера, телефона, либо сервера)

После создания вы сможете просмотреть, изменить либо скопировать созданный Peer в одноименной вкладке.

Для добавления нового Peer через терминал выполняем следующую команду

/interface wireguard peers
add allowed-address=10.0.10.100/32 interface=wireguard public-key="ваш публичный ключ клиента"

Последним этапом настройки, добавим диапазон IP адресов для WireGuard интерфейса. В боковом меню выбираем IP и переходим в Addresses.

Нажимаем на + добавляем диапазон адресов который мы указывали в Allowed Address при создании нового Peer. Не забываем в Interface указать название вашего WireGuard интерфейса.

Для добавление диапазона адресов через терминал выполняем следующую команду

/ip address
add address=10.0.10.1/24 interface=wireguard network=10.0.10.0

На этом настройка на стороне RouteOS завершена и мы можем приступить к настройке клиента.

Настройка клиента

Все доступные клиенты вы найдете на официальном сайте WireGuard в разделе Installation

Клиент WireGuard для Windows

Скачиваем клиент и устанавливаем его.

Открываем окно и нажимаем на «Добавить туннель» и выбираем «Добавить пустой туннель»

Нам необходимо внести следующие данные:

[Interface] — блок отвечающий за настройки клиента

PrivateKey — генерируется автоматически при создании туннеля
Address — IP адрес нашего клиента , присваиваем IP адрес который мы указали в Allowed Address при создании Peer на стороне routeOS
DNS — DNS сервера

[Peer] — блок указывающий на то к какому серверу необходимо подключаться.

PublicKey — публичный ключ сервера к которому мы будем подключаться
AllowedIPs — диапазон IP адресов к которым будет доступ с данного подключения
Endpoint— IP адрес и порт подключения к серверу WireGuard
PersistentKeepalive — время в секундах в течении которого будут посылаться пакеты к серверу для проверки актуальности подключения

Ниже оставляю шаблон для добавления туннеля

[Interface]
PrivateKey = CLYP*****************HXM=
Address = 10.0.10.100/32
DNS = 1.1.1.1

[Peer]
PublicKey = 5cRPq/***************C6xzEjn9hRyk3Y=
AllowedIPs = 0.0.0.0/0, 128.0.0.0/0
Endpoint = server_ip:server_port
PersistentKeepalive = 10

Настройка клиент WireGuard для Linux Ubuntu/Debian

На данный момент в Linux нет графического интерфейса для управления туннелями, все настройки необходимо вносить в файлы конфигурации.

Первым делом установим Wireguard

sudo apt update
sudo apt install wireguard

Перейдем в директорию WireGuard и cгенерируем Privat и Public Key

cd /etc/wireguard
umask 077
sudo wg genkey > private-key
sudo wg pubkey > public-key < private-key

Создадим файл туннеля и назовем его wg0.cfg именно в него мы будем вносить данный для подключения.

sudo nano /etc/wireguard/wg0.conf

В данный файл вносим точно такую же информацию которую мы вносили при создании туннеля в Windows

[Interface]
PrivateKey = CLYP*****************HXM=
Address = 10.0.10.100/24
DNS = 1.1.1.1

[Peer]
PublicKey = 5cRPq/***************C6xzEjn9hRyk3Y=
AllowedIPs = 0.0.0.0/0, 128.0.0.0/0
Endpoint = server_ip:server_port
PersistentKeepalive = 10

[Interface] — блок отвечающий за настройки клиента

PrivateKey — сгенерированный нами ключ который находится в файле public-key в папке /etc/wireguard
Address — IP адрес нашего клиента , присваиваем IP адрес который мы указали в Allowed Address при создании Peer на стороне routeOS
DNS — DNS сервера

[Peer] — блок указывающий на то к какому серверу необходимо подключаться.

PublicKey — публичный ключ сервера к которому мы будем подключаться
AllowedIPs — диапазон IP адресов к которым будет доступ с данного подключения
Endpoint— IP адрес и порт подключения к серверу WireGuard
PersistentKeepalive — время в секундах в течении которого будут посылаться пакеты к серверу для проверки актуальности подключения

Настройка клиент WireGuard для macOS

Устанавливаем клиент WireGuard из AppStore .

Запускаем клиент и нажимаем на знак + который находится в левом нижнем углу, выбираем добавить пустой туннель Add Empty Tunnel

В окне вводим конфигурацию для подключения.

[Interface] — блок отвечающий за настройки клиента

PrivateKey — генерируется автоматически при создании туннеля
Address — IP адрес нашего клиента , присваиваем IP адрес который мы указали в Allowed Address при создании Peer на стороне routeOS
DNS — DNS сервера

[Peer] — блок указывающий на то к какому серверу необходимо подключаться.

PublicKey — публичный ключ сервера к которому мы будем подключаться
AllowedIPs — диапазон IP адресов к которым будет доступ с данного подключения
Endpoint— IP адрес и порт подключения к серверу WireGuard
PersistentKeepalive — время в секундах в течении которого будут посылаться пакеты к серверу для проверки актуальности подключения

Ниже оставляю шаблон для добавления туннеля

[Interface]
PrivateKey = CLYP*****************HXM=
Address = 10.0.10.100/32
DNS = 1.1.1.1

[Peer]
PublicKey = 5cRPq/***************C6xzEjn9hRyk3Y=
AllowedIPs = 0.0.0.0/0, 128.0.0.0/0
Endpoint = server_ip:server_port
PersistentKeepalive = 10

Нажимаем сохранить и для подключения к серверу нажимаем на Activate.

Настройка клиент WireGuard для Android

Переходив в Google Play Market и устанавливаем приложение WireGuard.

Нажимаем на + в левом нижнем углу , и выбираем создания пустого туннеля

В блоке Интерфейс генерируем новый приватный ключ либо используем публичный ключ который у вас уже имеется, в поле Адреса указываем IP адрес который будет присвоен данному подключению, в нашем случаи это 10.0.10.100/32, задаем DNS сервер, в примере это 1.1.1.1.

В блоке Пир вставляем публичный ключ сервера wireguard , его мы получили во время настройки WireGuard в routerOS, указываем IP сервера, порт и разрешенные IP адреса для данного подключения.

Сохраняем туннель и производим подключение.

Настройка клиент WireGuard для iOS

Устанавливаем клиент WireGuard из AppStore.

Запускаем приложение и добавляем новый туннель, нажимаем на Добавить туннель — Создать с нуля.

В блоке Интерфейс генерируем новый приватный ключ либо используем публичный ключ который у вас уже имеется, в поле Адреса указываем IP адрес который будет присвоен данному подключению, в нашем случаи это 10.0.10.100/32, задаем DNS сервер, в примере это 1.1.1.1.

В блоке Пир вставляем публичный ключ сервера wireguard , его мы получили во время настройки WireGuard в routerOS, указываем IP сервера, порт и разрешенные IP адреса для данного подключения.

Сохраняем туннель и производим подключение.