В этом посте будут храниться ссылки на инструкции и различную информацию про VPN и прокси серверы.
Выбор технологии VPN
Настройка WireGuard
Выбор технологии VPN
Настройка WireGuard
It's time to kick gum and chew ass. And i'm all out of ass.
Выбор технологии VPN
Технология | Linux | *BSD | macOS | Windows | Android | iOS | Маршрутизаторы | Примечания |
---|---|---|---|---|---|---|---|---|
OpenVPN | Да (в NetworkManager) | Требуется клиент | Требуется клиент | Требуется клиент | Требуется клиент | Требуется клиент | Некоторые | |
WireGuard | Да (в NetworkManager) | Требуется клиент | Требуется клиент | Требуется клиент | Требуется клиент | Требуется клиент | Нет | На системах без модуля ядра скорость может быть низкой |
PPTP | Да (в NetworkManager) | Да | Да | Да | Да | Да | Да | Есть старые уязвимости, используйте с осторожностью |
L2TP | Да (в NetworkManager) | Требуется клиент | Да | Да | Да | Да | Да |
Общие примечания:
- Под поддержкой в маршрутизаторах подразумевается поддержка прошивкой от производителя. Сторонние (такие как OpenWRT, DD-WRT и подобные) поддерживают большую часть указанных выше протоколов.
- Сравнение нацеленно на десктопные (в случае с Linux и BSD) и мобильные ОС. Поэтому указано, что в Linux поддержка есть в NetworkManager.
- Возможно, список будет дополняться.
It's time to kick gum and chew ass. And i'm all out of ass.
Настройка WireGuard
Для установки посмотрите здесь название пакета для Вашего дистрибутива или ОС. В CentOS не забудьте про epel-release.
Создайте каталог
mkdir -p /etc/wireguard/
. Выполните wg genkey | tee /etc/wireguard/server_private.key | wg pubkey | tee /etc/wireguard/server_public.key
- эта команда сгенерирует ключи. Создайте файл /etc/wireguard/wg0.conf
со следующим содержимым:Код:
[Interface]
PrivateKey = содержимое файла server_private.key
Address = 10.10.0.1/24
ListenPort = 51820
SaveConfig = true
Для добавления клиента добавьте следующие строки в конец файла
wg0.conf
:Код:
[Peer]
PublicKey = публичный ключ клиента (о нём ниже)
AllowedIPs = 10.10.0.2/32
Для каждого клиента свой блок Peer и свой адрес. Например, для другого клиента может быть использован адрес 10.10.0.3/32.
Для добавления клиента без перезапуска выполните следующую команду:
Код:
wg set wg0 peer публичный ключ клиента allowed-ips 10.10.0.2/32
Включите режим маскарадинга. Для iptables команды будут такими:
Код:
iptables -A FORWARD -i wg0 -j ACCEPT
iptables -t nat -A POSTROUTING -o сетевой_интерфейс -j MASQUERADE-j ACCEPT
Код:
firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.10.0.1/24 masquerade' --permanent
firewall-cmd --reload
Добавьте в /etc/sysctl.conf следующие строки:
Код:
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
sysctl -p
.Установите права 600 для server_public.key и wg0.conf.
Запустите сервер:
Код:
systemctl start wg-quick@wg0
systemctl enable wg-quick@wg0
Настройка клиента
Сгенерируйте клиентские ключи:
Код:
wg genkey | tee /etc/wireguard/client_private.key | wg pubkey | tee /etc/wireguard/client_public.key
Создайте конфигурационный файл клиента:
Код:
[Interface]
Address = 10.10.10.2/24
PrivateKey = содержимое файла client_private.key
[Peer]
PublicKey = содержимое файла server_public.key
AllowedIPs = 0.0.0.0/0
Endpoint = сервер:порт
PersistentKeepalive = 25
Подключиться к серверу можно следующими способами:
- Через клиент с графической оболочкой
- Через NetworkManager (для него не требуется создание конфигурационного файла клиента, а все настройки вносятся непосредственно в нём)
- Через клиент WireGuard:
systemctl start wg-quick@конфиг
илиwg-quick up конфиг
It's time to kick gum and chew ass. And i'm all out of ass.
09.12.2020 14:Dec
[ЗАРЕЗЕРВИРОВАНО_2]
It's time to kick gum and chew ass. And i'm all out of ass.
09.12.2020 14:Dec
[ЗАРЕЗЕРВИРОВАНО_3]
It's time to kick gum and chew ass. And i'm all out of ass.
Пользователи, просматривающие эту тему: 1 Гость(ей)