Как настроить 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
Предположения: В этой статье предполагается, что вы устанавливаете сервер 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
Скопируйте закрытый ключ сервера в буфер обмена.
Замените значение переменной PrivateKey ключом из буфера обмена.
Найдите сетевой интерфейс, имеющий доступ в Интернет, с помощью команды ip:
ip маршрут получить 8.8.8.8
Установите значение флага -o для переменных PostUp и PostDown на интерфейс с доступом в Интернет, затем сохраните файл конфигурации.
Откройте файл сервера «/etc/sysctl.conf» с помощью вашего любимого текстового редактора:
sudo nano /etc/sysctl.conf
Прокрутите вниз до строки, содержащей net.ipv4.ip_forward=1, затем удалите знак решетки (#) в начале.
Перезагрузите новую конфигурацию sysctl, выполнив: sudo sysctl -p .
Настройте и подключите клиент 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, затем распечатайте его открытый ключ:
sudo cat /etc/wireguard/server-public-key
Установите значение переменной PublicKey равным открытому ключу сервера.
Измените переменную Endpoint на IP-адрес сервера Wireguard.
Сохраните файл конфигурации, затем используйте команду wg-quick для запуска клиента Wireguard:
sudo wg-quick вверх wg0
Примечание: Эта команда отключит сетевое подключение клиента, пока вы не запустите сервер Wireguard. Чтобы вернуться к исходной сети, выполните sudo wg-quick down wg0.
Подключите сервер Wireguard к клиенту
Откройте терминальный сеанс сервера Wireguard, затем откройте файл конфигурации сервера:
судо нано /etc/wireguard/wg0.conf
Вставьте следующий блок кода после раздела (Интерфейс):
(Peer) Открытый ключ = ВСТАВЬТЕ-СЮДА-ВАШ-КЛИЕНТ1-ОТКРЫТЫЙ-КЛЮЧ Разрешенные IP-адреса = 10.0.0.2/32 Постоянный контроль = 25
Установите переменную PublicKey на открытый ключ клиента Wireguard.
Примечание: Вы можете получить открытый ключ, выполнив команду sudo cat /etc/wireguard/client1-public-key на своем клиенте.
Сохраните файл конфигурации, затем выполните следующую команду для запуска службы Wireguard на сервере:
sudo wg-quick вверх wg0Мика Сото
Обновление 07 августа 2024 г.