2026-03-01 18:39:17 +03:00

114 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

https://www.youtube.com/watch?v=5Aql0V-ta8A
Текстовая инструкция по настройке Wireguard к видео
> ==Обновляем сервер==
>
> ```
> apt update && apt upgrade -y
> ```
> ==Ставим wireguard==
>
> ```
> apt install -y wireguard
> ```
> ==Генерируем ключи сервера==
>
> ```
> wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey
> ```
> ==Проставляем права на приватный ключ==
>
> ```
> chmod 600 /etc/wireguard/privatekey
> ```
> ==Проверим, как называется сетевой интерфейс==
>
> ```
> ip a
> ```
Скорее всего у вас сетевой интерфейс `eth0`, но возможно и другой, например, `ens3` или как-то иначе. Это название интерфейса используется далее в конфиге `/etc/wireguard/wg0.conf`, который мы сейчас создадим:
```
vim /etc/wireguard/wg0.conf
[Interface]
PrivateKey = <privatekey>
Address = 10.0.0.1/24
ListenPort = 51830
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
```
Если не знаете текстовый редактор `vim` — откройте файл с `nano`, он проще в работе.
Обратите внимание — в строках `PostUp` и `PostDown` использован как раз сетевой интерфейс `eth0`. Если у вас другой — замените `eth0` на ваш.
Вставляем вместо `<privatekey>` содержимое файла `/etc/wireguard/privatekey`
> ==Настраиваем IP форвардинг==
>
> ```
> echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
> sysctl -p
> ```
> ==Включаем systemd демон с wireguard==
>
> ```
> systemctl enable wg-quick@wg0.service
> systemctl start wg-quick@wg0.service
> systemctl status wg-quick@wg0.service
> ```
> ==Создаем ключи клиента==
>
> ```
> wg genkey | tee /etc/wireguard/krylov_privatekey | wg pubkey | tee /etc/wireguard/krylov_publickey
> ```
> ==Добавляем в конфиг сервера клиента==
>
> ```
> vim /etc/wireguard/wg0.conf
>
> [Peer]
> PublicKey = <goloburdin_publickey>
> AllowedIPs = 10.0.0.2/32
> ```
Вместо `<goloburdin_publickey>` — заменяем на содержимое файла `/etc/wireguard/goloburdin_publickey`
> ==Перезагружаем systemd сервис с wireguard==
>
> ```
> systemctl restart wg-quick@wg0
> systemctl status wg-quick@wg0
> ```
> ==На локальной машине (например ноутбуке) создаем текстовый файл с конфигом клиента==
>
> ```
> vim goloburdin_wb.conf
>
> [Interface]
> PrivateKey = <CLIENT-PRIVATE-KEY>
> Address = 10.0.0.2/32
> DNS = 8.8.8.8
>
> [Peer]
> PublicKey = <SERVER-PUBKEY>
> Endpoint = <SERVER-IP>:51830
> AllowedIPs = 0.0.0.0/0
> PersistentKeepalive = 20
> ```
Здесь `<CLIENT-PRIVATE-KEY>` заменяем на приватный ключ клиента, то есть содержимое файла `/etc/wireguard/goloburdin_privatekey` на сервере. `<SERVER-PUBKEY>` заменяем на публичный ключ сервера, то есть на содержимое файла `/etc/wireguard/publickey` на сервере. `<SERVER-IP>` заменяем на IP сервера.
Этот файл открываем в Wireguard клиенте (есть для всех операционных систем, в том числе мобильных) — и жмем в клиенте кнопку подключения.