From a3e3a41f47a80ed53cddf36a0f2a59a399b9176f Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Sun, 3 Apr 2022 12:01:38 +0400 Subject: Initial commit --- content/posts/vpn.md | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 content/posts/vpn.md (limited to 'content/posts/vpn.md') diff --git a/content/posts/vpn.md b/content/posts/vpn.md new file mode 100644 index 0000000..67e9b44 --- /dev/null +++ b/content/posts/vpn.md @@ -0,0 +1,138 @@ +--- +title: "Как настроить VPN" +date: 2022-04-03 +draft: false +--- + +В качестве софта для создания сети будет использоваться 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 нас встречает такое окно: +![Wireguard macOS Window](/images/vpn/mac-wg-empty.png) + +Нажимаем на плюсик в нижнем левом углу и на кнопку `Add Empty Tunnel...`. + +![Wireguard macOS Tunnel](/images/vpn/mac-tunnel-empty.png) + +Даём туннелю какое-нибудь название и копируем строчку после надписи `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 тот, который я выдам): +![Wireguard macOS Tunnel Configured](/images/vpn/mac-tunnel-configured.png) + +## Настройка на Windows + +Настройка на Windows такая же, как на macOS. + +После установки приложения Wireguard нас встречает такое окно: +![Wireguard Windows](/images/vpn/win-wg-empty.png) + +Нажимаем на треугольник в нижнем левом углу и выбираем кнопку +`Добавить пустой туннель...`. + +![Wireguard Windows Tunnel](/images/vpn/win-tunnel-empty.png) + +Даём туннелю какое-нибудь название и копируем строчку после надписи `Публичный +ключ:`. Её нужно передать мне. В ответ на эту строчку я передам тебе твой +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 тот, который я выдам): +![Wireguard Windows Tunnel Configured](/images/vpn/win-tunnel-configured.png) -- cgit v1.2.3