Tech Recipe Book
My Services
  • Book
    • About the author
    • Architect
      • Algorithms
        • DB index algorithms
          • How does database indexing work
        • Neural network optimization
          • Neural Network Optimization
        • Route search
          • Road network in a database to build a route
          • Traveling Salesman Problem (TSP)
      • Architecture Frameworks
        • DODAF
        • TOGAF
        • Enterprise Architecture (EA) Tools Reviews 2023 | Gartner
      • Zero Trust
      • Billing
        • SHM billing system
      • Bots
        • Discord
        • Telegram
          • Chat GPT Telegram bot
          • Получаем статистику Telegram-канала при помощи api и python или свой tgstat с регистрацией и смс
          • Как хостить телеграм-бота (и другие скрипты на Python) на Repl.it бесплатно 24/7
          • Создание Telegram бота на PHP #1: основные понятия для работы с API
          • Создание Telegram бота на PHP #2: создание первого бота для Telegram
          • Создание Telegram бота на PHP #3: примеры отправки сообщений с кнопками в Telegram
          • Создание Telegram бота на PHP #4: отправка файлов и изображений в Telegram
          • Создание Telegram бота на PHP #5: работа с хуками
      • Business intelligence
      • Cloud Storage
        • Ceph
        • Virtual Distributed File System
      • Cryptography
        • Open Source PKI Software
        • OpenPGP
          • Email Encryption
          • Kleopatra
          • Miscellaneous Tools
          • Server side applications
      • Message broker
        • Kafka
          • Kafka UI-tools
          • Kafka streams ksqlDb
        • RabbitMQ
      • DB
        • MySQL
          • Auto sharding
          • MariaDB Zabbix monitoring
          • MySQL and MariaDB replication with Zabbix monitoring
        • Postgres
          • HA PostgreSQL with Patroni, Haproxy, Keepalived
          • Mass parallel requests - Greenplum
          • PostgreSQL cluster for development and testing
        • Vitess - Scalable. Reliable. MySQL-compatible. Cloud-native. Database.
      • Identity and Access Management (IDM)
        • FreeIPA - Identity, Policy, Audit
        • FreeIPA as an Enterprise solution
        • Keycloak
          • Keycloak HA cluster
        • Open Identity Platform
        • SSO
          • Keycloak for Java app
          • OpenAM
          • OpenIG
      • Firewall
        • nftables
      • Infrastructure As a Code
        • Ansible
        • IaC Packer Ansible Teraform
        • Installing Jenkins using terraform in Kubernetes in Yandex Cloud with letsencypt
        • Teraform Crosplan Pulumi
        • Yandex IaC solutions
      • Kubernetes
        • Installation
          • Install Kubernetes cluster
          • Deploying a Kubespray cluster to OpenStack using Terraform
          • Kube deploy in Yandex cloud
        • Frameworks
          • Deckhouse
            • LDAP authentification
            • On premise Install
            • Yandex Cloud Install
          • K3S
          • OpenShift OKD
          • RKE2
          • Rancher
            • Rancher Install
        • Auth
          • Keycloak in k8s
          • LDAP
        • GUI management Lens
        • Monitoring
          • Monitoring with Falco
          • Network monitoring
          • Nginx ingress
          • Prometheus Graphana for sample Nodejs app
          • Rsource monitoring Avito
        • Exposing services
          • Exposing Kubernetes Services
          • Cilium BGP
        • CNCF
        • Helm
          • Repositories
            • Artifact Hub | official
            • Bitnami | vmware
          • Awesome helm charts and resources
          • Essential Services for Modern Organizations
          • Security and Compliance
          • Additional charts
        • Isolation
          • vcluster - Virtual Kubernetes Clusters
          • Kiosk
          • KubeArmor
          • Control Plane Hardening
          • Hierarchical namespaces
        • Security Center
          • Minesweeper
          • NeuVector by SUSE
          • SOAR in Kubernetes
          • Security Сenter for Kubernetes
        • Terraform CI security
          • Terraform plan analysis with Checkov and Bridgecrew
          • Yandex Terraform scan
        • Vulnerability management
          • Aqua
          • Sysdig
          • Kyverno
          • GitLab
          • NeuVector by SUSE
        • Image scanning
          • Snyk
          • Sysdig
          • Harbor
          • Trivy
        • Signature verification
          • Sigstore
        • Control plane security
          • Gatekeeper
            • Applying OPA Gatekeeper
          • Kyverno
            • Policy as a code. Kyverno
        • Runtime Security
          • Osquery
          • Falco
          • ClamAV
        • Network security
          • Cilium
          • Control Plane Hardening (API restriction)
          • Network policy recipes
          • Service mesh
            • Istio HA, LoadBalance, Rate limit
          • mTLS Autocert
        • Honeypot
          • Building honeypot using vcluster and Falco
        • Backup
          • Kasten K10
        • Secrets
          • Vault CSI Driver
      • Load Balance
        • Nginx
        • HAProxy
          • Proxy methods
          • HAProxy for RDP
          • Payment gateway A/B test with HAProxy
          • HAPRoxy for Percona or Galera
      • Monitoring
        • Zabbix
          • Apache Zabbix
          • Disc Quota
          • Nginx Zabbix
          • SSL certificates Zabix
          • Zabbix notifications
        • Nagios
          • Datacenter monitoring
        • Prometheus and Grafana
      • Windows
        • Sysmon enhanced Windows audit
        • Sysmon to Block Unwanted File
      • Linux
        • Rsync
        • Debian based
          • Apt-Cacher NG
          • Unattended Upgrades in Debian / Ubuntu
        • RedHat basede
          • RPM Server
        • Logs analysis
        • Build armhf qemu
      • NGFW
      • CI/CD
        • DevSecOps
          • DAST
            • Burp
              • Dastardly
            • StackHawk
            • ZAP and GitHub Actions
          • SAST
            • Checkmarx
            • OSV by Google
            • Snyk
            • SonarQube
        • GitLab Runner in Yandex Cloud
        • Dynamic Gitlab Runners in Yandex Cloud
        • GitLab runner in Kubernetes with Werf
        • Kubernetes deploy strategies
        • Kubernetes highload deploy. part 1
        • Kubernetes highload deploy. part 2
        • Kubernetes Argo Rollouts
        • Jenkins in Kubernetes
        • Ansible Semaphore
        • Image storage, scaning and signing
        • Install WireGuard with Gitlab and Terraform
        • CI/CD example fror small web app
        • Threat matrix for CI CD Pipeline
      • SIEM / SOC
        • Datadog
        • Splunk
          • Splunk — general description
        • MaxPatrol
          • MaxPatrol 8 and RedCheck Enterprise
        • QRadar IBM
        • Cloud Native Security Platform (CNAPP) - Aqua
        • OSSIM | AT&T
          • AlienVault (OSSIM) install
        • Wazuh
        • EDR
          • Cortex XDR | Palo Alto Networks
          • Cynet
          • FortiEDR | Fortinet
          • Elastic
        • Elastic
          • Install Elasticsearch, Logstash, and Kibana (Elastic Stack) on Ubuntu 22.04
          • Setting Up Elastic 8 with Kibana, Fleet, Endpoint Security, and Windows Log Collection
        • Threat Intelligence
          • MISP
          • msticpy Microsoft
          • X-Force | IBM
          • Elastic
      • VPN
        • Full-Mesh VPN fastd, tinc, VpnCloud
        • Wireguard
          • WireGuard for Internet access
          • WireGuard on MikroTik and Keenetic
          • WireGuard site to site
        • SoftEther VPN Project
        • Cisco AnyConnect client
        • OpenConnect
        • SSTP python server
      • OS hardening
        • CIS Benchmarks
      • Cloud Providers
      • OpenNebula
        • OpenNebula Edge Cloud - Open Source Cloud & Edge Computing
        • Discover OpenNebula – Open Source Cloud & Edge Computing Platform
        • OpenNebula Multi-Cloud
        • Kubernetes on OpenNebula
        • The Open Source Alternative to Nutanix
        • The Simple Alternative to OpenStack
        • OpenNebula Partner Ecosystem
      • OpenStack
        • Install manual
        • Install with DevStack
      • VM
        • Create a VHD file from a Linux disk
        • Backup / Migration
          • Coriolis
          • Proxmox Backup Server
        • oVirt
        • VMware vCenter
        • Proxmox
      • Docker
        • Container optimization
        • Ubuntu RDP container
      • LXC
        • LXD on Ubuntu 18.04
        • Install, Create and Manage LXC in Ubuntu/Debian
    • Big Data
      • OLAP data qubes
      • Storage and autoscale in Lerua
    • Machine Learning
      • Yandex YaLM 100B. GPT model
      • Kaggle Community Datasts Models
      • AI in video production
      • Image search
      • Chat bots
        • You.com
        • Chat GPT
          • Implementing GPT in NumPy
        • Jailbreak Chat
      • Coding plugins CodeWhisperer
    • Malware
      • Isiaon/Pitraix: Modern Cross-Platform Peer-to-Peer Botnet over TOR
      • theZoo A repository of LIVE malwares
    • Pentest
      • Red Team
        • MITRE ATT&CK matrix
        • C2 Frameworks
          • Brute Ratel C4
          • Cobalt Strike
          • Covenant
          • Havoc Framework
          • Merlin
          • Metasploit
          • Sillenttrinity
          • Sliver
        • Manage and report
          • Dradis Framework
          • Hexway
        • Underground
      • Social engineering
        • Social Engineer Toolkit setoolkit
      • OSINT
        • OSINT for comapny
        • Instagram fishing
      • Forensics
        • Forensics tools
      • Pentesting Methodology
      • Web
      • CI/CD Methodology
      • Cloud Methodology
        • Hacking The Cloud
      • Kubernetes Pentesting
      • Android
        • SSL Unpinning for Android applications
      • iOS
        • SSL unpinning iOS and macOS applications
      • HackBar tool
      • CyberChef Tools
      • Python virtualenv
      • IppSec - YouTube
      • Hacktricks.xyz
    • Compliance
      • 152 ФЗ. Personal data
      • PCI DSS and ГОСТ Р 57580.1-2017
      • Cloud compliance
      • ГОСТ Р 57580.1-2017 для Kubernetes
      • Kubernets as DevSecOps and NIST compliance
      • NIST SP 800-61 cyberincidece control
      • CIS Kubernetes Benchmark v1.6 - RKE2 v1.20
      • CIS Kubernetes Benchmark v1.23 - RKE2
      • Requirements for Russian Banks
      • Tools
        • Chef InSpec
        • Elastic SIEM
    • Asset management
      • CMDBuild
    • Project management
    • Incident management SRE
    • Risk management
      • IT risk management
      • BSI-Standard 200-3
    • Web Dev
      • Cookie security
      • OWASP Top 10 2021
      • Docker nginx php mysql
      • Docker tor hiddenservice nginx
      • Docker Compose wp nginx php mariadb
      • Dependency Checking
        • Nexus Analyzer
        • OWASP dependency-check
      • Yii skeeks cms
      • YiiStudio
    • Art
      • GTK Themes
      • Themes for Xfce Desktop
      • XFCE / Xubuntu Windows 95
      • Moscow events
      • Photo goods
      • Russian style gifts
    • Cryptocurrency
      • News
      • Arbitrage
      • Stocks
      • Exchange aggregators
      • Where to use
      • Prepaid cards
        • BitFree
        • Pyypl Your Money at Your Fingertips
    • IT magazines
      • WIKI and Writeups tools
        • BookStack
        • GitBook
        • MkDocs
        • Wiki.js
        • DokuWiki
    • Languages
    • Learning
      • (ISC)2
        • CISSP
      • Offensive Security
        • OSCP
        • OSEP
        • OSED
      • DevSecOps
        • Certified DevSecOps Professional (CDP)
        • Certified DevSecOps Expert (CDE)
      • Web Security Academy: PortSwigger
    • Relocation
      • London experience
      • IT visas in 2022
      • Remote work
      • Running business in UAE
    • Freenet
      • Independent online services: the philosophy of a free Internet
      • Tor Project Anonymity Online
      • I2P Anonymous Network
    • Services
      • SMS Registration
        • Registering ChatGPT in Russia
      • Local and regional eSIMs for travellers - Airalo
      • Digital busines cards
      • No KYC services and exchanges
Powered by GitBook
On this page
  • Настройка VPN-сервера
  • Настройка NAT и брандмауэра
  • Настройка WireGuard клиента в Windows
  • Настройка WireGuard клиента в Linux

Was this helpful?

  1. Book
  2. Architect
  3. VPN
  4. Wireguard

WireGuard for Internet access

Last updated 1 year ago

Was this helpful?

Для многих обычных пользователей слово VPN сразу ассоциируется со средством доступа в сеть интернет. Действительно, это один из самых популярных сценариев использования данной технологии. Но если для большинства это всего лишь способ обхода ограничений, то специалисты чаще рассматривают VPN как защищенный канал в сетях с низким уровнем доверия: публичный Wi-Fi, сети баров, гостиниц, аэропортов. А если вы работаете с чувствительной информацией, то для таких целей лучше использовать собственный сервер, например, создав его на базе WireGuard.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на . Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

WireGuard в последнее время стремительно набирает популярность благодаря своей простоте и скорости работы. Конечно, есть и обратная сторона медали, но в данном сценарии раскрываются в основном только плюсы.

Напомним, WireGuard - это туннель без сохранения состояния, а следовательно применять к нему термины "клиент" и "сервер" некорректно, каждый узел WireGuard может как подключаться к другим узлам, так и принимать соединения. Но если мы говорим об организации выхода в интернет посредством VPN, то здесь данные термины уместны. В данном случае VPN-сервер - это узел предоставляющий возможность выхода в интернет, а VPN-клиенты - узлы, которые данную возможность используют, при этом технология реализации самого VPN-канала роли не играет.

Настройка VPN-сервера

Для обеспечения доступа в интернет VPN-сервер должен находиться на узле, обладающем достаточной пропускной способностью и точкой выхода в определенном географическом положении, которое зависит от того, к каким именно ресурсам вам нужно получать доступ. В большинстве случаев отлично подойдет VPS (виртуальный выделенный сервер) с минимальным тарифом в нужном расположении и ОС семейства Linux. Если говорить о семействе Debian / Ubuntu, то WireGuard поддерживается начиная с Debian 10 и Ubuntu 18.04 LTS. Все описанные ниже действия следует выполнять с правами суперпользователя root или через sudo.

Если вы используете Debian 10, то вам потребуется подключить backports-репозиторий:

echo deb http://deb.debian.org/debian buster-backports main > /etc/apt/sources.list.d/buster-backports.list

Обновим источники пакетов и установим WireGuard:

apt update
apt install wireguard

Следующим шагом выполним генерацию ключей, для этого перейдем в директорию /etc/wireguard:

cd /etc/wireguard

Временно изменим маску для обеспечения нужного набора прав на создаваемые файлы:

umask 077

Выполним генерацию ключевой пары:

wg genkey > privatekey
wg pubkey < privatekey > publickey

И вернем маску к стандартным значениям:

umask 022

Получим содержимое закрытого ключа, для этого воспользуемся командой:

cat /etc/wireguard/privatekey

Скопируем его содержимое, оно понадобится нам на следующем шаге, помним, что приватный ключ является секретным!

Создадим и откроем на редактирование конфигурационный файл WireGuard:

nano /etc/wireguard/wg0.conf

В данном случае мы используем nano, если вам больше по душе редактор mс, то просто замените nanо на mcedit.

Прежде всего настроим сетевой интерфейс WireGuard, для этого добавим в файл следующую секцию:

[Interface]
Address = 10.20.0.1/24
ListenPort = 34567
Privatekey = kNYGiCR3/ikepyURjFnEu5ueoCBsP2pjvGdcj2pggG8=

Настроек немного, указываем адрес интерфейса в VPN-сети, порт и секретный ключ. Зарезервированного порта для службы WireGuard нет, поэтому можем использовать любой.

Сохраним конфигурацию и добавим службу в автозагрузку, одновременно запустив ее:

systemctl enable --now wg-quick@wg0

В качестве имени службы используется wg-quick@<имя_конфигурационного_файла>.

Посмотреть статус WireGuard можно командой:

wg

Если все сделано правильно, то вы увидите информацию о созданном интерфейсе, в частности порт и публичный ключ.

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

Настройка NAT и брандмауэра

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

Прежде всего включим маршрутизацию, чтобы иметь возможность пересылать пакеты между интерфейсами, для этого откроем файл /etc/sysctl.conf, найдем и раскомментируем в нем следующую опцию:

net.ipv4.ip_forward = 1

Затем перечитаем настройки:

sysctl -p

Остальными настройками будет управлять iptables и этот вопрос может вызвать ряд затруднений. Настройки iptables не сохраняются при перезагрузке и существуют различные способы сделать это, наиболее простые и понятные - это скрипты, более современные - это специальные утилиты.

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

Создадим файл скрипта и разместим его в /etc:

nano /etc/nat-rules

И добавим в него следующее содержимое:

#!/bin/sh

# Сбрасываем настройки брандмауэра
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

# Разрешаем уже установленные соединения. Первое правило в цепочке!!!
iptables -A INPUT -i ens33 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешаем подключения по SSH
iptables -A INPUT -i ens33 -p tcp --dport 22 -j ACCEPT
# Разрешаем подключения к WireGuard
iptables -A INPUT -i ens33 -p udp --dport 34567 -j ACCEPT
#Запрещаем входящие извне. Последнее правило в цепочке!!!
iptables -A INPUT -i ens33 -j DROP

# Разрешаем уже установленные транзитные соединения
iptables -A FORWARD -i ens33 -o wg0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Запрещаем транзитный трафик извне
iptables -A FORWARD -i ens33 -o wg0 -j DROP

# Включаем маскарадинг для WireGuard клиентов
iptables -t nat -A POSTROUTING -o ens33 -s 10.20.0.0/24 -j MASQUERADE

Это минимальная конфигурация брандмауэра, разрешающего только SSH и WireGuard подключения к серверу, по мере необходимости следует добавить в нее собственные правила. Все они должны располагаться между правилами, разрешающими уже установленные соединения и запрещающего входящие соединения извне. В качестве внешнего интерфейса сервера используется ens33.

Сделаем данный файл исполняемым:

chmod + x /etc/nat-rules

Для его запуска можно добавить в секцию [Interface] конфигурационного файла WireGuard опцию:

PostUp = /etc/nat-rules

В большинстве случаев этого достаточно, но, если вдруг у нас не запустится WireGuard мы останемся без брандмауэра. Поэтому мы предлагаем пойти другим путем.

Прежде всего убедимся, что все правила работают как следует, для этого достаточно просто запустить скрипт.

/etc/nat-rules

Посмотреть состояние брандмауэра можно командой:

iptables -L -vn

Если все работает нормально, то установим утилиту iptables-persistent:

apt install iptables-persistent

Во время установки вам будет предложено сохранить текущие правила, с чем следует согласиться. После чего ваши правила будут автоматически сохранены в /etc/iptables/rules.v4, откуда будут восстанавливаться при загрузке. Скрипт нам больше не нужен, можем его убрать.

Можно ли обойтись без скрипта? Можно. Но не все обладают достаточными навыками работы с iptables, поэтому предложенный нами способ, хоть и является более длинным и избыточным, позволяет выполнить настройку брандмауэра наиболее просто для начинающих.

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

При этом автоматически будет создана ключевая пара и откроется окно редактирования конфигурационного файла, который уже будет содержать секцию [Interface] и закрытый ключ, все что нам останется, это добавить туда опцию с адресом интерфейса, его следует выбирать из того же диапазона, который вы указали на сервере.

Address = 10.20.0.101/24

Ниже добавим секцию [Peer] для подключения к серверу:

[Peer]
PublicKey = kKxQ4wF+kUrpsTGwjMvlSwX45WV4nixG76/+sKlzEQA=
AllowedIPs = 10.20.0.0/24, 0.0.0.0/0
Endpoint = 203.0.113.2:34567
PersistentKeepalive = 25

Которая содержит публичный ключ сервера, его адрес и порт, разрешенные сети. Так как нам требуется обеспечить выход в интернет через WireGuard подключение, то в список сетей мы добавили 0.0.0.0/0, что обеспечит направление в туннель всего исходящего трафика. Опция PersistentKeepalive предполагает обмен служебным трафиком с указанным пиром раз в 25 секунд, что требуется для поддержания нормальной работы клиента в том случае, если он находится за NAT.

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

Так что же означает Подключен? Только то, что в конфигурации нет ошибок и туннельный интерфейс успешно поднят. Поэтому скопируем публичный ключ клиента и снова вернемся на сервер. Откроем конфигурационный файл и добавим в него следующую секцию:

[Peer]
PublicKey =i p9UjCFHiLnhQTcVgS/Y7j0s8caNj9hhn5RS2UqMXRo=
AllowedIPs = 10.20.0.101/32

Где мы укажем публичный ключ клиента и его внутренний IP-адрес, с которого следует принимать пакеты.

Перезапустим службу WireGuard на сервере:

systemctl restart wg-quick@wg0

Теперь можем проверить связь, для начала пропингуем внутренний адрес сервера 10.20.0.1 - если он отвечает, то туннель работает нормально.

Как мы уже говорили, при тех настройках, которые мы указали в туннель будет заворачиваться весь исходящий трафик клиента, в т.ч. и DNS-запросы. Поэтому если у вас в системе указаны локальные адреса DNS, скажем 192.168.1.1 роутера или адреса провайдера, недоступные из внешнего интернета, то разрешение имен работать не будет. Внешне это будет проявляться в том, что интернет работать не будет с указанием на ошибку DNS.

WireGuard прост, и обратная сторона этой простоты заключается в том, что мы не можем передавать нужные опции с сервера на клиента, как в OpenVPN, поэтому спасение утопающих - дело рук самих утопающих. К счастью, WireGuard позволяет задать опции для конфигурирования локального сетевого интерфейса, поэтому откройте приложение Wireguard, найдите свой туннель и выберите Редактировать, в открывшемся окне в секцию [Interface] добавьте опцию:

DNS = 8.8.8.8, 1.1.1.1

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

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

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

С правами root или через sudo выполним установку и генерацию ключей точно также, как мы это делали на сервере, затем также создадим конфигурационный файл:

nano /etc/wireguard/wg0.conf

И внесем в него следующее содержимое:

[Interface]
Address = 10.20.0.102/24
Privatekey = 4Hfj7lZuaQZWkW2OGHPlkhr3Jxheg/lpcJkwiosvG0w=
DNS = 8.8.8.8, 1.1.1.1

[Peer]
PublicKey = kKxQ4wF+kUrpsTGwjMvlSwX45WV4nixG76/+sKlzEQA=
AllowedIPs = 10.20.0.0/24, 0.0.0.0/0
Endpoint = 203.0.113.2:34567
PersistentKeepalive = 25

Секция [Interface] описывает сетевой интерфейс, в ней мы указываем секретный ключ клиента, желаемый адрес в VPN-сети и DNS-сервера. Секция [Peer] отвечает за подключение к серверу, у всех клиентов она общая, содержит публичный ключ сервера, его адрес и порт, а также параметры подключения и роутинга.

Для управление туннелем в ручном режиме можно использовать утилиту wg-quick, для подключения выполните:

wg-quick up wg0

где wg0 - имя вашего конфигурационного файла, с этим же именем будет создан сетевой интерфейс. Если запустить команду от имени обычного пользователя будет автоматически запрошено повышение прав.

Для отключения используйте:

wg-quick down wg0

При этом не забудьте добавить секцию [Peer] для этого узла на сервере и перезапустить службу, для этого понадобится указать публичный ключ клиента и его адрес, точно также как мы это делали для Windows-клиента.

Более подробно о всех этих способах вы можете прочитать в нашей статье:

Скачайте и установите WireGuard для Windows c . В приложении выберите Добавить туннель - Добавить пустой туннель.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на . Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Основы iptables для начинающих. Как сохранить правила и восстановить их при загрузке
официального сайта
углубленном курсе по администрированию MikroTik
https://interface31.ru/tech_it/2022/04/nastroyka-wireguard-vpn-dlya-dostupa-v-internet.html
углубленном курсе по администрированию MikroTik