---
title: "Как настроить VPN"
date: 2022-04-03
draft: true
---
В качестве софта для создания сети будет использоваться Wireguard. Хостинг
предоставляется компанией . Сервер находится в Исландии, поэтому
пинг может быть заметным. Ютуб смотреть можно, но не нужно. Количество трафика
ограничено (1 терабайт в месяц на данный момент).
## Установка
Все нужные способы установки перечислены на этой странице:
-
Основные системы:
- На Windows следует скачать установщик и запустить его.
- На macOS следует установить приложение Wireguard через
App Store
- На Linux зависит от дистрибутива. Основные пациенты:
- Manjaro/Arch: `sudo pacman -S wireguard-tools`
- Ubuntu/Debian: `sudo apt install wireguard`
## Настройка на Linux
Сначала необходимо сгенерировать пару ключей для доступа к VPN:
```
wg genkey > private_key.pem
wg pubkey < private_key.pem > public_key.pub
```
Содержимое файла нужно передать мне, чтобы я мог тебя добавить в сеть.
После этого я выдам тебе твой IP-адрес внутри сети. Обозначим его как
`
`. Вместе с этим адресом я выдам адрес VPN, который обозначим как
``.
В файле `/etc/wireguard/wg0.conf` следует прописать следующие настройки:
```
[Interface]
PrivateKey = <Содержимое файла private_key.pem>
Address = /32
DNS = 1.1.1.1
[Peer]
PublicKey = yAGhH8hkukwjbw3R4MBUGoVEltgd7Wn3uGk6m0eD5SI=
AllowedIPs = 1.0.0.0/8, 2.0.0.0/8, 3.0.0.0/8, 4.0.0.0/6, 8.0.0.0/7, 11.0.0.0/8, 12.0.0.0/6, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/3, 160.0.0.0/5, 168.0.0.0/6, 172.0.0.0/12, 172.32.0.0/11, 172.64.0.0/10, 172.128.0.0/9, 173.0.0.0/8, 174.0.0.0/7, 176.0.0.0/4, 192.0.0.0/9, 192.128.0.0/11, 192.160.0.0/13, 192.169.0.0/16, 192.170.0.0/15, 192.172.0.0/14, 192.176.0.0/12, 192.192.0.0/10, 193.0.0.0/8, 194.0.0.0/7, 196.0.0.0/6, 200.0.0.0/5, 208.0.0.0/4, 10.13.37.0/24, 1.1.1.1/32
Endpoint = :51820
PersistentKeepalive = 20
```
В поле `AllowedIPs` так много записей, чтобы исключить из них все локальные
IP-адреса (типа `192.168.*.*`).
Пока что я не нашёл как можно на линуксе управлять Wireguard из GUI, поэтому
используем консоль.
Чтобы запустить VPN следует запустить команду
```
wg-quick up wg0
```
Для отключения VPN используется команда
```
wg-quick down wg0
```
## Настройка на macOS
После установки приложения Wireguard из App Store нас встречает такое окно:

Нажимаем на плюсик в нижнем левом углу и на кнопку `Add Empty Tunnel...`.

Даём туннелю какое-нибудь название и копируем строчку после надписи `Public
key:`. Её нужно передать мне. В ответ на эту строчку я передам тебе твой
IP-адрес в сети. Обозначим его как ``. Вместе с этим адресом я
выдам адрес VPN, который обозначим как ``.
После уже присутствующей строчки в конфиге нужно добавить следующие строки:
```
...
Address = /32
DNS = 1.1.1.1
[Peer]
PublicKey = yAGhH8hkukwjbw3R4MBUGoVEltgd7Wn3uGk6m0eD5SI=
AllowedIPs = 1.0.0.0/8, 2.0.0.0/8, 3.0.0.0/8, 4.0.0.0/6, 8.0.0.0/7, 11.0.0.0/8, 12.0.0.0/6, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/3, 160.0.0.0/5, 168.0.0.0/6, 172.0.0.0/12, 172.32.0.0/11, 172.64.0.0/10, 172.128.0.0/9, 173.0.0.0/8, 174.0.0.0/7, 176.0.0.0/4, 192.0.0.0/9, 192.128.0.0/11, 192.160.0.0/13, 192.169.0.0/16, 192.170.0.0/15, 192.172.0.0/14, 192.176.0.0/12, 192.192.0.0/10, 193.0.0.0/8, 194.0.0.0/7, 196.0.0.0/6, 200.0.0.0/5, 208.0.0.0/4, 10.13.37.0/24, 1.1.1.1/32
Endpoint = :51820
PersistentKeepalive = 20
```
В поле `AllowedIPs` так много записей, чтобы исключить из них все локальные
IP-адреса (типа `192.168.*.*`).
В результате окошко выглядит примерно так (Address тот, который я выдам):

## Настройка на Windows
Настройка на Windows такая же, как на macOS.
После установки приложения Wireguard нас встречает такое окно:

Нажимаем на треугольник в нижнем левом углу и выбираем кнопку
`Добавить пустой туннель...`.

Даём туннелю какое-нибудь название и копируем строчку после надписи `Публичный
ключ:`. Её нужно передать мне. В ответ на эту строчку я передам тебе твой
IP-адрес в сети. Обозначим его как ``. Вместе с этим адресом я
выдам адрес VPN, который обозначим как ``.
После уже присутствующей строчки в конфиге нужно добавить следующие строки:
```
...
Address = /32
DNS = 1.1.1.1
[Peer]
PublicKey = yAGhH8hkukwjbw3R4MBUGoVEltgd7Wn3uGk6m0eD5SI=
AllowedIPs = 1.0.0.0/8, 2.0.0.0/8, 3.0.0.0/8, 4.0.0.0/6, 8.0.0.0/7, 11.0.0.0/8, 12.0.0.0/6, 16.0.0.0/4, 32.0.0.0/3, 64.0.0.0/2, 128.0.0.0/3, 160.0.0.0/5, 168.0.0.0/6, 172.0.0.0/12, 172.32.0.0/11, 172.64.0.0/10, 172.128.0.0/9, 173.0.0.0/8, 174.0.0.0/7, 176.0.0.0/4, 192.0.0.0/9, 192.128.0.0/11, 192.160.0.0/13, 192.169.0.0/16, 192.170.0.0/15, 192.172.0.0/14, 192.176.0.0/12, 192.192.0.0/10, 193.0.0.0/8, 194.0.0.0/7, 196.0.0.0/6, 200.0.0.0/5, 208.0.0.0/4, 10.13.37.0/24, 1.1.1.1/32
Endpoint = :51820
PersistentKeepalive = 20
```
В поле `AllowedIPs` так много записей, чтобы исключить из них все локальные
IP-адреса (типа `192.168.*.*`).
В результате окошко выглядит примерно так (Address тот, который я выдам):
