Как настроить Wireguard VPN на Linux

Он предлагает быструю и легкую альтернативу традиционным VPN, таким как IPsec и OpenVPN. Сегодняшняя статья покажет вам, как установить Wireguard и создать простую настройку VPN, используя 3 машины Linux.

Скачать Wireguard

Первым шагом к настройке Wireguard на Linux является загрузка его основных инструментов из репозитория дистрибутива. Это позволяет управлять встроенным модулем ядра Wireguard с помощью команд пользовательского пространства.

Чтобы установить основные инструменты в Ubuntu и Debian, выполните следующую команду:

sudo apt install wireguard wireguard-tools

В Fedora вы можете использовать менеджер пакетов dnf:

sudo dnf установить wireguard-tools

Для Arch Linux вы можете запустить pacman, чтобы загрузить основные инструменты Wireguard:

sudo pacman -S wireguard-tools

Убедитесь, что вы правильно установили инструменты Wireguard, загрузив экран справки:

РГ-ч

Как настроить Wireguard VPN на Linux, рисунок 1

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

Предположения: В этой статье предполагается, что вы устанавливаете сервер Wireguard на системе Linux с общедоступным адресом IPv4. Инструкции будут работать и на сервере за NAT, но он не найдет узлы за пределами своей подсети.

С помощью набора основных инструментов Wireguard на вашем компьютере Linux вы теперь можете настроить узел сервера VPN. Этот узел будет действовать как интернет-шлюз для клиентских узлов в сети.

Начните с перехода в папку конфигурации Wireguard и установки для нее разрешений по умолчанию «только root»:

cd /etc/wireguard sudo umask 077

Примечание: Некоторые системы могут помешать вам получить доступ к каталогу “/etc/wireguard” как обычному пользователю. Чтобы исправить это, переключитесь на пользователя root с помощью sudo -s.

Создайте открытый и закрытый ключи для сервера Wireguard:

sudo sh -c 'wg genkey | tee /etc/wireguard/server-private-key | wg pubkey > /etc/wireguard/server-public-key'

Создайте файл конфигурации сервера с помощью вашего любимого текстового редактора:

судо нано /etc/wireguard/wg0.conf

Вставьте следующий блок кода в файл конфигурации сервера:

(Интерфейс) PrivateKey = ВСТАВЬТЕ-СЮДА-СВОЙ-КЛЮЧ-СЕРВЕРА Адрес = 10.0.0.1/32 ListenPort = 60101 PostUp = iptables -t nat -I POSTROUTING -o NETWORK-INTERFACE-HERE -j MASQUERADE PostDown = iptables -t nat -D POSTROUTING -o NETWORK-INTERFACE-HERE -j MASQUERADE

Откройте новый сеанс терминала, затем распечатайте закрытый ключ Wireguard сервера:

sudo cat /etc/wireguard/server-private-key

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

Как настроить Wireguard VPN на Linux, изображение 2

Замените значение переменной PrivateKey ключом из буфера обмена.

Как настроить Wireguard VPN на Linux, рисунок 3

Найдите сетевой интерфейс, имеющий доступ в Интернет, с помощью команды ip:

ip маршрут получить 8.8.8.8

Как настроить Wireguard VPN на Linux, изображение 4

Установите значение флага -o для переменных PostUp и PostDown на интерфейс с доступом в Интернет, затем сохраните файл конфигурации.

Как настроить Wireguard VPN на Linux, изображение 5

Откройте файл сервера «/etc/sysctl.conf» с помощью вашего любимого текстового редактора:

sudo nano /etc/sysctl.conf

Прокрутите вниз до строки, содержащей net.ipv4.ip_forward=1, затем удалите знак решетки (#) в начале.

Как настроить Wireguard VPN на Linux, изображение 6

Перезагрузите новую конфигурацию sysctl, выполнив: sudo sysctl -p .

Как настроить Wireguard VPN на Linux, изображение 7

Настройте и подключите клиент Wireguard

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

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

cd /etc/wireguard sudo umask 077

Создайте пару ключей Wireguard клиента с помощью следующей команды:

sudo sh -c 'wg genkey | tee /etc/wireguard/client1-private-key | wg pubkey > /etc/wireguard/client1-public-key'

Создайте файл конфигурации Wireguard клиента с помощью вашего любимого текстового редактора:

судо нано /etc/wireguard/wg0.conf

Вставьте следующий блок кода в файл конфигурации клиента:

(Интерфейс) PrivateKey = ВСТАВЬТЕ-СЮДА-ВАШЕГО-КЛИЕНТА1-ЧАСТНЫЙ-КЛЮЧ Адрес = 10.0.0.2/32 ListenPort = 60101 (Одноранговый) PublicKey = ВСТАВЬТЕ-СЮДА-ВАШЕГО-СЕРВЕРА-ПУБЛИК-КЛЮЧ Разрешенные IP-адреса = 0.0.0.0/0 Конечная точка = ВСТАВЬТЕ-СЮДА-IP-АДРЕС-ВАШЕГО-СЕРВЕРА:60101 Постоянная поддержка = 25

Замените переменную PrivateKey закрытым ключом клиента.

Как настроить Wireguard VPN на Linux, изображение 8

Откройте терминальный сеанс сервера Wireguard, затем распечатайте его открытый ключ:

sudo cat /etc/wireguard/server-public-key

Установите значение переменной PublicKey равным открытому ключу сервера.

Как настроить Wireguard VPN на Linux, изображение 9

Измените переменную Endpoint на IP-адрес сервера Wireguard.

Как настроить Wireguard VPN на Linux Изображение 10

Сохраните файл конфигурации, затем используйте команду wg-quick для запуска клиента Wireguard:

sudo wg-quick вверх wg0

Как настроить Wireguard VPN на Linux Изображение 11

Примечание: Эта команда отключит сетевое подключение клиента, пока вы не запустите сервер Wireguard. Чтобы вернуться к исходной сети, выполните sudo wg-quick down wg0.

Подключите сервер Wireguard к клиенту

Откройте терминальный сеанс сервера Wireguard, затем откройте файл конфигурации сервера:

судо нано /etc/wireguard/wg0.conf

Вставьте следующий блок кода после раздела (Интерфейс):

(Peer) Открытый ключ = ВСТАВЬТЕ-СЮДА-ВАШ-КЛИЕНТ1-ОТКРЫТЫЙ-КЛЮЧ Разрешенные IP-адреса = 10.0.0.2/32 Постоянный контроль = 25

Установите переменную PublicKey на открытый ключ клиента Wireguard.

Как настроить Wireguard VPN на Linux, изображение 12

Примечание: Вы можете получить открытый ключ, выполнив команду sudo cat /etc/wireguard/client1-public-key на своем клиенте.

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

sudo wg-quick вверх wg0Мика СотоМика Сото

Обновление 07 августа 2024 г.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *