Wireguard настройка linux mint

VPN для Linux

Пошаговая инструкция по настройке WireGuard на Ubuntu, Linux Mint и других ОС Linux.

Оформите подписку

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

Установите WireGuard

В операционных системах семейства Linux установка WireGuard проводится через командную строку («Терминал», «Консоль»). Команды различаются в зависимости от версии Linux.

sudo apt update
sudo apt install wireguard

Linux Mint 19 и новее

sudo add-apt-repository ppa:wireguard/wireguard
sudo apt-get update
sudo apt-get install wireguard

Настройка вашего соединения

Сохраните полученный конфигурационный файл .conf по пути /etc/wireguard/wg0-client.conf или скопируйте его содержимое и сохраните по пути /etc/wireguard/wg0-client.conf.

Подключение к сети

Запустите WireGuard командой в командной строке

Готово, вы подключены к VPN.

Проверка соединения

Вы можете протестировать VPN-подключение, зайдя на dnsleaktest.com или yandex.ru/internet, чтобы увидеть, как он работает.

Не упустите возможность

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

Источник

📑 Установка и настройка WireGuard в Linux Ubuntu/Mint из репозитория ppa

WireGuard logo

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

sudo add-apt-repository ppa:wireguard/wireguard sudo apt-get update # you can skip this on Ubuntu 18.04 sudo apt-get install wireguard

WireGuard работает как модуль ядра, который устанавливается с помощью DKMS, поэтому каждый раз, когда вы обновляете ядро, модуль ядра WireGuard автоматически компилируется и готов к использованию для вашего нового ядра. Чтобы использовать модуль ядра сразу после установки, вам нужно либо перезагрузить компьютер, либо запустить modprobe, чтобы активировать его:

Проверить, загружен ли модуль ядра, можно с помощью lsmod | grep wireguard. Если модуль правильно загружен, вы должны увидеть результат, подобный этому:

root@wg-server:~# lsmod | grep wireguard wireguard 208896 0 ip6_udp_tunnel 16384 1 wireguard udp_tunnel 16384 1 wireguard root@wg-server:~#

Теперь вы готовы перейти к следующему шагу.

Генерация ключей WireGuard

WireGuard поставляется с двумя полезными утилитами командной строки: wg и wg-quick. wg — это конфигурационная утилита для получения и настройки конфигурации туннельных интерфейсов WireGuard. wg-quick, с другой стороны, представляет собой простой скрипт для быстрого вызова интерфейса WireGuard.

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

cd /etc/wireguard sudo umask 077 sudo wg genkey | sudo tee privatekey | wg pubkey | sudo tee publickey

Это создаст два файла: открытый и закрытый ключ, которые будут содержать открытый и закрытый ключ соответственно.

Читайте также:  Kali linux user root

Совет от профессионалов: вы можете использовать wireguard-vanity-address для генерации красивого открытого ключа, например, который начинается с определенных символов. Если его открытый ключ начинается с «pho» :), легче определить соединение вашего мобильного телефона в списке пиров. Имейте в виду, что вам понадобится безопасный транспорт, чтобы перенести закрытый ключ на устройство. Как правило, не рекомендуется иметь закрытый ключ на другом устройстве, кроме того, которое будет его использовать.

Вам нужно будет сгенерировать пару ключей для каждого подключенного однорангового узла (устройства). Так, например, если у вас есть ноутбук и мобильный телефон, вам понадобятся 3 пары ключей. Одна пара на сервере, одна на ноутбуке и одна на мобильном телефоне. В зависимости от клиента WireGuard, который вы используете, вы, вероятно, сможете сгенерировать ключи на самом устройстве.

Конфигурация WireGuard

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

Вам нужно будет выбрать IP-подсеть, которая будет использоваться для вашей сети VPN. В этом примере я использую 10.10.0.1/24. Убедитесь, что вы выбрали подсеть, которая не используется вашей домашней и / или рабочей сетями, иначе вы либо не сможете получить доступ к устройствам в локальной сети, либо настройка не будет работать вообще.

Используя ваш любимый редактор (vim, nano и т. Д.) Создайте /etc/wireguard/wg0.conf со следующим содержимым:

[Interface] PrivateKey = Address = 10.10.0.1/24 Address = fd86:ea04:1111::1/64 SaveConfig = true PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o ens3 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o ens3 -j MASQUERADE ListenPort = 51820

Внимание: убедитесь, что вы заменили на свой фактический закрытый ключ, который вы сгенерировали на предыдущем шаге, 10.10.0.1/24, fd172.21: 12 :: 1/64 на фактические IP-адреса, которые вы намереваетесь использовать (если отличается), и ens3 с именем основного сетевого интерфейса вашего сервера (который вы подключаетесь к Интернету, например, с помощью eth0), если он отличается от ens3. Вы можете посмотреть свои сетевые интерфейсы с помощью команд ifconfig или ip a.

Конфигурация, возможно, не требует пояснений, за исключением опции SaveConfig. В отличие от OpenVPN или других серверов VPN, WireGuard не требует «перезапуска» или «перезагрузки», чтобы клиент мог подключиться — все, что вам нужно сделать, это использовать утилиту командной строки wg, чтобы добавить своего партнера, и вы могут подключиться сразу.

Читайте также:  Oracle linux отключить firewall

Однако это операция в памяти, и если вы перезапустите сервер, ваши добавленные одноранговые узлы исчезнут. Вот когда появляется опция SaveConfig! Эта опция используется, чтобы указать wg-quick автоматически сохранять вновь добавленных пиров в ваш файл конфигурации. Это также может вас укусить — если вы редактируете файл во время работы интерфейса — вы потеряете свои изменения при перезапуске.

Имейте в виду, что используемый нами файл конфигурации wg-quick является надмножеством (своего рода) файла конфигурации, принятого wg. По этой причине вы не можете использовать этот файл конфигурации напрямую с wg, а только с wg-quick.

Внимание! Обязательно проверить включен ли ip_forwarding в файле /etc/sysctl.conf на сервере, то-есть смотрим раскомментированы ли строки:

net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1

Для этого редактором текста открываем файл /etc/sysctl.conf :

и снимаем (если есть) знак «#» в этих строках:

. # Uncomment the next line to enable packet forwarding for IPv4 #net.ipv4.ip_forward=1 # Uncomment the next line to enable packet forwarding for IPv6 # Enabling this option disables Stateless Address Autoconfiguration # based on Router Advertisements for this host #net.ipv6.conf.all.forwarding=1 .

После этого нужно включить изменения с помощью sysctl -p:

Теперь вы можете открыть свой интерфейс wg0:

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

root@wg-server:~# wg interface: wg0 public key: wYHnSnbRraJNooN5gjNtH5SLS1tw/0xehAVbU9bgIxA= private key: (hidden) listening port: 51820

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

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

Если вы используете дистрибутив Linux, вы можете использовать официальную страницу установки, чтобы найти команды для установки WireGuard. В качестве альтернативы доступны несколько клиентов с графическим интерфейсом, которые вы можете использовать:

macOS: https://itunes.apple.com/us/app/wireguard/id1451685025 Gnome’s Network-Manager: https://github.com/max-moser/network-manager-wireguard Android: https://play.google.com/store/apps/details?id=com.wireguard.android iOS: https://itunes.apple.com/us/app/wireguard/id1441195209

Официального клиента Windows пока нет, но есть и другие проприетарные опции, такие как Tunsafe.

Внимание: разработчики WireGuard настоятельно рекомендуют не использовать клиенты Windows, которые не выпущены с официального сайта, поскольку они могут быть опасны в использовании, несмотря на маркетинговые усилия.

Добавление пиров WireGuard

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

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

[Interface] Address = 10.10.0.2/32 Address = fd86:ea04:1111::2/128 SaveConfig = true PrivateKey = DNS = 1.1.1.1 [Peer] PublicKey = Endpoint = :51820 AllowedIPs = 0.0.0.0/0, ::/0

Обязательно замените закрытый ключ клиента, открытый ключ сервера и IP-адрес сервера соответственно.

Читайте также:  Wordlist in kali linux

AllowedIPs будут использоваться для определения того, какой трафик пересылать через VPN. Устанавливая для него значение 0.0.0.0/0, :: / 0, вы указываете своему VPN-клиенту направлять весь трафик через ваш VPN-сервер. 0.0.0.0/0 можно заменить на адрес определенной подсети. Тогда VPN-клиент будет направлять трафик только указанной подсети через ваш VPN-сервер. например:

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

chmod 600 /etc/wireguard/wg0.conf

В качестве следующего шага вы можете добавить открытый ключ клиента на свой сервер. Выполните эту команду на своем сервере:

wg set wg0 peer allowed-ips 10.10.0.2/32,fd86:ea04:1111::2/128

Обязательно замените фактическим открытым ключом вашего клиента и настройте IP-адреса вашего клиента, если они отличаются. Затем вы можете запустить wg, чтобы подтвердить, что ваш партнер был успешно добавлен. Результат должен выглядеть примерно так:

root@wg-server:~# wg interface: wg0 public key: wYHnSnbRraJNooN5gjNtH5SLS1tw/0xehAVbU9bgIxA= private key: (hidden) listening port: 51820 peer: m5S0sA0NWlbEU6+5oegudniHgwF07GSKcWs2tt3LZEI= allowed ips: 10.10.0.2/32, fd86:ea04:1111::/128

Теперь вы можете активировать интерфейс wg0 на своем клиентском устройстве с помощью команды wg-quick up wg0. Результат должен выглядеть примерно так:

# wg-quick up wg0 [#] ip link add wg0 type wireguard [#] wg setconf wg0 /dev/fd/63 [#] ip address add 10.10.0.2/32 dev wg0 [#] ip address add fd86:ea04:1111::2/128 dev wg0 [#] ip link set mtu 1420 up dev wg0 [#] ip -6 route add ::/0 dev wg0 table 51820 [#] ip -6 rule add not fwmark 51820 table 51820 [#] ip -6 rule add table main suppress_prefixlength 0 [#] ip -4 route add 0.0.0.0/0 dev wg0 table 51820 [#] ip -4 rule add not fwmark 51820 table 51820 [#] ip -4 rule add table main suppress_prefixlength 0

Вы также можете запустить утилиту wg и проверить вывод активных интерфейсов и подключенных узлов.

Если все прошло хорошо, вы должны быть подключены к серверу VPN, и весь ваш трафик должен проходить через него. Вы можете проверить свой IP-адрес с помощью ipx.ac. Вы также можете запустить все тесты, чтобы убедиться, что ваше местоположение не просочилось.

Запуск VPN WireGuard при запуске системы

Поскольку Ubuntu использует systemd, вы можете легко включить WireGuard при загрузке системы:

systemctl enable wg-quick@wg0

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

Белый список портов брандмауэра

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

Источник

Оцените статью
Adblock
detector