Wireguard debian 9 настройка

Обновлено: 04.07.2024

WireGuard – это современная высокопроизводительная VPN для Linux,Windows, MacOS. Главной функцией WireGuard является обеспечение безопасного соединения между сторонами через сетевой интерфейс, зашифрованный с помощью аутентификации по открытому ключу. Это означает, что, в отличие от большинства виртуальных частных сетей, WireGuard не применяет топологию, что позволяет создавать различные конфигурации путем изменения конфигураций окружающей сети. Эта модель предлагает большую производительность и гибкость.

Сейчас WireGuard готовится к включению в состав ядра Linux. Если быть точнее, то он появится в ядре версии 5.6, он даже получил похвалу от Линус Торвальдса и в американском сенате.

Специалисты проверили скорость работы WireGuard и выяснили, что он способен обойти большинство протоколов шифрования в том числе широко известный протокол OpenVPN.

Установка WireGuard на Ubuntu

Установку нашего VPN WireGuard я буду производить на сервере под управлением операционной системы Ubuntu/Debian. И так поехали.

Ubuntu 18.04

Для начала надо добавить официальный репозиторий в систему:

  • Обновляем индексы
  • Устанавливаем wireguard

Ubuntu 20.04

Так как пакет входит в офицмальный репозиторий, то необходимо набрать всего лишь данные команды:

  • Обновляем индексы
  • Устанавливаем wireguard

Установка WireGuard на Debian

Для того чтобы установить WireGuard на Debian с начало необходимо авторизоваться под root пользователем:

Далее набираем следующее:

Для остальных операционных систем можете посмотреть официальную страничку инсталляции.

Также установите заголовки для вашего ядра, если вы еще этого не сделали:

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

Давайте теперь настроим наш высокопроизводительный VPN на сервере wireguard. Для этого создадим файл конфигурации и необходимые ключи шифрования. Все действия выполняем из под root.

Далее отрываем файл на редактирования и вносим необходимую информацию о нашей VPN сети.

Конфигурационный файл vpn wireguard

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

В разделе Interface нужно также определить IP-адрес VPN, который будет использовать этот узел, и порт, который он будет прослушивать для соединений с одноранговыми узлами.

Давайте добавим в него следующие строки ListenPort, SaveConfig и Address:

  • ListenPort — указываем свободный порт который будет прослушивать наш сервис wg-quick (VPN WireGuard)
  • SaveConfig — имеет значение true, чтобы сервис wg-quick мог автоматически сохранять свою активную конфигурацию в этом файле при завершении работы.
  • Address — это наш IP-адрес и маска сети
  • PostUP и PostDown — запускают необходимые правило для iptables

Пробуем поднять нашу сеть скриптом wg-quick:

В системах с systemd вместо этого можно использовать следующую запись:

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

sudo systemctl enable wg-quick@wg0.service

Настройка VPN WireGuard на клиентской машине

В качестве клиента у меня будет выступать ноутбук с операционной системой Ubuntu Desktop 18.04 LTS

Все действия выполняем из под root.

Для Ubuntu 20.04 необходимо повторить тоже самое, что и при установке на серверную часть. (см. Выше)

Далее создаем конфигурационный файл и генерируем ключи:

Создайте раздел под названием [Peer] после раздела [Interface] .

  • PublicKey — укажите значение открытого ключа сервера. Вы можете найти это значение, набрав на сервере команду: wg
  • AllowedIPs — указывает на пропуск трафика через VPN. В данном случае будет проходить через VPN только трафик сети 10.0.0.0/24. Весть остальной трафик пойдет через вашего провайдер. Для заворота всего трафика через VPN указываем значение 0.0.0.0/0
  • PersistentKeepalive — время в секундах для постоянной проверки доступности ресурса.

Запускаем сервис на Ubuntu:

Запускаем сервис на Debian:

Peer на стороне сервера

На сервере также необходимо добавить информацию о клиенте. Иначе ваш туннель VPN не откроется. Для этого возвращаемся на сервер и останавливаем службу wireguard:

Далее открываем конфигурационный файл:

И вносим информацию о клиенте.

  • PublicKey — ключ клиента можно посмотреть на клиентской машине при помощи команды wg.
  • AllowedIPs — указывает на IP клиента. Обязательно с маской 32

Запускаем наш сервис:

Пробуем пропинговать клиента.

Со стороны клиента также должен проходить пинг до сервера.

Хотя статья получилась большой, но все настраивается очень быстро.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.

Favorite

Добавить в избранное

Главное меню » Debian » Как установить VPN-сервер и клиент Wireguard на компьютер с Debian Linux

(2 оценок, среднее: 3,00 из 5)

Как установить VPN-сервер и клиент Wireguard на компьютер с Debian Linux

П рограммная технология Virtual Private Network (VPN) была применена предприятиями несколько лет назад для безопасного установления соединений между офисами и для предоставления сотрудникам поездок доступа к собственным приложениям. С тех пор VPN оказался полезной технологией для людей, которые хотят для защиты их конфиденциальности или доступа к географически ограниченным услугам из других регионов. До сих пор было очень сложно настроить VPN-сервис с собственным хостингом, но теперь Wireguard VPN уже здесь.

Wireguard был в разработке в течение нескольких лет. Важная веха, версия 1.0, была достигнута в марте 2020 года. В то же время она была включена в ядро Linux версии 5.6. Поскольку не многие (серверные) компьютеры в производственном использовании используют последнее ядро, Wireguard должен быть установлен и настроен на этих машинах для безопасной работы в сети. В этой статье мы устанавливаем Wireguard на компьютеры Debian Linux, которые выполняют роли VPN-сервера и клиента.

Установка Wireguard на Debian

Вам также может понадобиться установить:

После выполнения этих команд проверьте, что все необходимое для Wireguard установлено:

Если команда ничего не выводит, все необходимые модули должны быть там.

Настройка сервера Wireguard

Точно такое же программное обеспечение Wireguard установлено на серверах и клиентах Linux, потому что конфигурация VPN каждого компьютера определяет его роль. Приложения Wireguard доступны также для Windows, Android, Apple MacOS и iOS.
Давайте начнем работу по настройке, создав каталог для настроек Wireguard:

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

В приложении редактора создайте файл wg0.conf в каталоге /etc/wireguard и вставьте в него следующие строки:

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

Скопируйте и вставьте значение в поле Privatekey из файла /etc/wireguard/privatekey.

Listenport может быть любым свободным портом, 51820 по умолчанию для Wireguard.

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

Если вы собираетесь настроить один или несколько VPN-клиентов, сейчас самое время убедиться, что вы можете легко копировать ключи с одного устройства на другое. Мы использовали Nextcloud в качестве временного хранилища для передачи ключей с одного устройства на другое, но вполне подойдет Yandex Диск, Evernote, Dropbox, электронная почта или любой другой сервис, которому вы доверяете и который удобно использовать.

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

Создайте закрытый и открытый ключи в каталоге /etc/wireguard, как вы это делали на сервере.

Создайте следующий файл wg0.conf в клиентском каталоге /etc/wireguard в редакторе.

Чтобы завершить настройку клиента, вы также должны отредактировать файл wg0.conf на сервере. Вставьте следующие строки в конец файла:

Publickey: Вы должны вставить открытый ключ клиентского компьютера здесь.

AllowedIPs указывает IP-адрес клиента внутри VPN-туннеля.

Читать Как установить LAMP (Linux, Apache, MySQL & PHP) и PhpMyAdmin на Debian 8

Теперь вы можете протестировать новый VPN, если он надежно соединяет ваши компьютеры. Введите следующую команду как на сервере, так и на клиенте:

На клиенте проверьте, может ли он общаться с сервером:

(или пинг 192.168.2.2, если вы нажимаете на клавиатуре сервера)

Если вы получите ответ, поздравляем, у вас есть безопасный туннель между этими двумя компьютерами.
Это, однако, не конец истории. Вы, вероятно, хотите выйти в публичный интернет через VPN. Требуется немного больше работы: маршрутизация трафика в туннель из Интернета и из туннеля.

Маршрутизация трафика сети Wireguard VPN в интернет

Поскольку на этом этапе используются стандартные iptables брандмауэра Linux, существует множество способов сделать это, и правильные настройки также зависят от правил, уже сохраненных в iptables сервера. Вот настройки, которые работали для всех моих серверов Debian.
Введите следующие команды:

Введите следующую команду, чтобы просмотреть текущие настройки сети

Команда отображает длинный список элементов, но ищет значение net.ipv4.ip_forward
Если оно равно 0, пересылка на внешние адреса отключена. Разрешить пересылку с помощью команды:

Пинг на внешний адрес для проверки. Если это работает, вы можете сделать настройку постоянной, создав файл /etc/systctl.d/local.conf и вставив эту строку в файл:

(советы по сохранению изменений в файле conf находятся в файле readme Debian, расположенном в каталоге sysctl.d).

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Как установить WireGuard на Debian или Ubuntu

В репозиториях Debian 10 и Ubuntu 20.04 уже есть пакет WireGuard, поэтому для его установки вам достаточно выполнить одну команду:

в зависимости от ваших привилегий в операционной системе.

Как создать публичный и приватный ключи WireGuard

После того как демон (сервис) WireGuard установлен для организации VPN тоннеля необходимо для каждого устройства создать два ключа: приватный и публичный. В минимальной конфигурации из 2-х участников всего нам понадобятся 4 ключа.

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

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

Ключ — это просто строка (набор символов), которую мы будем указывать в файлах конфигурации VPN WireGuard. Сгенерированные строки мы запишем в файлы с уникальными названиями, чтобы потом их (строки с набором символов) оттуда взять. Сами файлы ключей напрямую нигде не использутся.

Создадим приватный и публичный ключи на сервере с операционной системой Debian

Для удобства сделаем отдельную директорию для хранения файлов ключей:

А затем создадим ключи для сервера и сохраним их.

Аналогичным способом создадим приватный и публичный ключи клиента.

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

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

Файл конфигурации сервера WireGuard

Создайте любым удобным для вас способом файл конфигурации сервера /etc/wireguard/wg0.conf со следующим содержимым. Я, как правило, использую для этого редактор файлового менеджера Midnight Commander.

Разделов [Peer] в файле конфигурации WireGuard может быть несколько.

Обратите внимание, что при построении VPN тоннеля WireGuard в файле конфигурации первого устройства мы указали приватный ключ сервера (unit1-private) и публичный ключ клиента (unit2-public).

При конфигурации второго устройства VPN WireGuard мы должны использовать unit2-private в качестве ключа сервера, а unit1-public в качестве ключа клиента.

Более наглядно покажу на рисунке:

Как установить и настроить WireGuard VPN на сервере Debian и маршрутизаторе Keenetic

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

Файл конфигурации клиента WireGuard

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

Настройка маршрутизатора серии Keenetic в качестве клиента будет описана чуть ниже.

Запуск WireGuard на Debian и Ubuntu

В случае systemd используйте следующую команду для запуска сервиса WireGuard:

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

Как установить WireGuard на маршрутизаторе Keenetic

В роутерах торговой марки Keenetic необходимо установить компонент операционной системы Wireguard VPN:

Как установить и настроить WireGuard VPN на сервере Debian и маршрутизаторе Keenetic

Как установить и настроить WireGuard VPN на сервере Debian и маршрутизаторе Keenetic

Добавьте данные сервера:

Как установить и настроить WireGuard VPN на сервере Debian и маршрутизаторе Keenetic

Как установить и настроить WireGuard VPN на сервере Debian и маршрутизаторе Keenetic

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

Для чего используют VPN

VPN используют для объединения в единую сеть нескольких компьютеров (серверов) через интернет. При этом доступ в эту сеть могут получить только устройства этой сети. То есть задача VPN не только передать информацию между вашими компьютерами, но и защитить ее (информацию) от посторонних глаз.

Таким способом вы можете объединить системы находящиеся в разных городах и даже странах.

Обход блокировок Рунета

Одним из частных случаев использования VPN является обход блокировок доступа к тем или иным сайтам.

Как установить и настроить WireGuard VPN на сервере Debian и маршрутизаторе Keenetic

Почему WireGuard?


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

В установке и использовании WireGuard нет ничего сложного.

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

Первым делом установим сервер WireGuard и все необходимые пакеты

Операционная система Ubuntu 19.10 и старше

Операционные системы до Ubuntu 19.10

Операционная система Debian

Операционная система Centos 8

Операционная система Centos 7

Операционная система FreeBSD

Для последующего добавлении профиля в телефон используя QR код , установим пакеты mawk grep iproute2 qrencode

После завершения установки WireGuard приступим к его настройки. Настроить WireGuard нам поможет скрипт easy-wg-quick скачиваем его следующей командой

Устанавливаем права на запуск скрипта

Все необходимые настройки скрипт сделает за нас и по завершению вы получите QR код


Для добавления подключения на мобильных устройствам Вам нужно установить программу WireGuard для Andorid или iOS и войдя в приложение сканировать QR код который вы получили.

Для подключения к серверу использую компьютер под управление операционной системы Windows Вам нужно установить приложение WineGuard for Windows и после его установки нужно скопировать код туннеля в программу. Для этого нужно выполнить команду

В ответ вы получите примерно следующий текст

В случаи если вы создали дополнительный туннель то указать имя туннеля, имя туннеля начинается c wgclient.


В приложении для Windows нажимаем Add Tennel - Add empty tunnel. и вставить текст который получите после выполнения команды которая указана выше и задайте имя подключения. Для подключения к серверу WireGuard нужно нажать кнопку Activate.

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

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

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

На этом установка и настройка сервера WireGuard завершена.

  • wireguard, vds, vps, установка, настройка, уроки
  • 14 Пользователи нашли это полезным

Связанные статьи

Для установки SSH-соединения из-под Windows скачайте и запустите программу-клиент PuTTYЗапустите.

VPS (англ. Virtual Private Server) или VDS (англ. Virtual Dedicated Server) — услуга, в рамках.

КомандаОписание Системная информация arch отобразить архитектуру компьютера uname.

ВАЖНО: для успешного создания NS в ISP Manager Вам нужно не менее 2 ip. Убедитесь, что вы.

Связка двух веб-серверов, один из которых выполняет функцию фонтенда (Nginx), другой - бэкенда.

Читайте также: