Показать страницуИстория страницыСсылки сюдаЭкспорт в PDFНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Wireguard: настройка сервера ====== Почему Wireguard: * Очень просто настраивается * Очень быстрый, по тестам намного производительнее других решений * Работает на большом количестве платформ * Включен в ядро Linux Что нужно: * Сервер на базе Linux с белым (публичным) IP ===== Настройка сервера ===== Установка: <code> $ sudo apt install wireguard </code> Создаем ключи для сервера: <code> $ wg genkey | tee server-private.key | wg pubkey > server-public.key </code> Создаем ключи для клиентов: <code> $ wg genkey | tee client1-private.key | wg pubkey > client1-public.key $ wg genkey | tee client2-private.key | wg pubkey > client2-public.key </code> Создаем файл настроек /etc/wireguard/wg0.conf, содержимое server-private.key и server-public.key нужно будет поместить внутрь: <code> [Interface] Address = 10.10.10.1/24 ListenPort = 51820 PrivateKey = <содержимое server-private.key> DNS = 1.1.1.1, 1.0.0.1 # SaveConfig = true 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 [Peer] # client1 PublicKey = <содержимое client1-public> AllowedIPs = 10.10.10.101/32 [Peer] # client1 PublicKey = <содержимое client2-public> AllowedIPs = 10.10.10.102/32 </code> Разрешаем пересылку пакетов между интерфейсами, добавляем в /etc/sysctl.conf: <code> net.ipv4.ip_forward=1 net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1 </code> Для принятия изменений выполните: <code> $ sysctl -p /etc/sysctl.conf </code> Включаем запуск службы при загрузке сервера: <code> $ systemctl enable wg-quick@wg0.service </code> Запускаем сервер: <code> $ systemctl start wg-quick@wg0.service </code> или <code> $ sudo wg-quick up wg0 </code> Проверяем статус: <code> $ wg show </code> ===== Настройка клиента ===== Создаем для каждого пользовательского устройства файл конфигурации client1.conf: <code> [Interface] Address = 10.10.10.101/24 PrivateKey = <Содержимое client1-private.key> [Peer] Endpoint = <Адрес сервера XXX.XXX.XXX.XXX>:51820 PublicKey = <Содержимое server-public.key> AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 30 </code> Этот файл можно скопировать на клиента, а можно сделать QR-код (что ну очень удобно для мобильных устройств): <code> $ sudo apt install qrencode $ qrencode -t ANSI < client1.conf </code> ===== Калькулятор для настройки AllowedIPs ===== https://www.procustodibus.com/blog/2021/03/wireguard-allowedips-calculator/ {{tag>wireguard vpn впн блокировки}} software/wireguard/wireguard-setup.txt Последнее изменение: 2022/09/11 22:48 — 127.0.0.1