diff --git a/public/index.gmi b/public/index.gmi index 7abeced..544d82b 100644 --- a/public/index.gmi +++ b/public/index.gmi @@ -23,8 +23,7 @@ => ./trash.gmi ~/ -### other -Git repo this site: +## Git repo this site ``` git@github.com:iiiypuk/gemini.git ``` diff --git a/public/notes/2021/04-wineguard-server.gmi b/public/notes/2021/04-wineguard-server.gmi new file mode 100644 index 0000000..54c3d41 --- /dev/null +++ b/public/notes/2021/04-wineguard-server.gmi @@ -0,0 +1,105 @@ +# Настраиваем WireGuard сервер + +## Предисловие + +Я буду устанавливать WireGuard на машину под управлением ArchLinux. +Вероятнее всего, названия пакетов в твоём дистрибутиве будут отличаться. + +## Установка +1. Накатываем пакет WireGuard: +``` +pacman -S wireguard-tools +``` + +2. Загружаем модули ядра: +``` +modprobe wireguard && lsmod | grep wireguard +``` + +> До версии Linux 5.6 нужно было устанавливать пакет *wireguard-arch*. + +3. Генерация ключей: +``` +umask 077 +wg genkey | tee serverprivatekey | wg pubkey > serverpublickey +wg genkey | tee clientprivatekey | wg pubkey > clientpublickey +``` + +4. Настройка сервера +Включаем форвардинг в sysctl +``` +sysctl -w net.ipv4.ip_forward=1 +echo 'net.ipv4.ip_forward = 1' > /etc/sysctl.d/99-sysctl.conf +``` + +Настраиваем конфиг сервера +``` +nano /etc/wireguard/wg0.conf +``` +``` +[Interface] +Address = 10.0.0.1/24 +ListenPort = 51820 +PrivateKey = SERVERPRIVATEKEY + +PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE +PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE + +[Peer] +PublicKey = CLIENTPUBLICKEY +AllowedIPs = 10.0.0.2/32 +``` + +SERVERPRIVATEKEY и CLIENTPUBLICKEY заменяем на cat /etc/wireguard/*key + +5. Настройка клиента +``` +nano /etc/wireguard/wg0-client.conf +``` +``` +[Interface] +Address = 10.0.0.2/32 +PrivateKey = CLIENTPRIVATEKEY +DNS = 10.0.0.1 + +[Peer] +PublicKey = SERVERPUBLICKEY +Endpoint = SERVER_IP:51820 +AllowedIPs = 0.0.0.0/0, ::/0 +PersistentKeepalive = 21 +``` + +6. Уря!!1 +Подключение/отключение в Linux +``` +wg-quick up wg0-client +wg-quick down wg0-client +``` + +Подключение/отключение в Windows +``` +"c:\Program Files\WireGuard\wireguard.exe" /installtunnelservice d:\wg.conf +"c:\Program Files\WireGuard\wireguard.exe" /uninstalltunnelservice wg +``` + +## Ошибка запуска на WireGuard 3.1+ не от администратора +> WireGuard is running, but the UI is only accessible from desktops of the Builtin Administrators group + +1. Необходимо добавить пользователя в группу Network Configuration Operators +``` +"My Computer" > "Manage" > "Users/Groups" > Network Configuration Operators +``` + +2. Добавить в реестр записи +``` +reg add HKLM\Software\WireGuard /v LimitedOperatorUI /t REG_DWORD /d 1 /f +``` +Можно ещё разрешить запуск небезопасных скриптов +``` +reg add HKLM\Software\WireGuard /v DangerousScriptExecution /t REG_DWORD /d 1 /f +``` + +Перезагружаемся + +----- +=> ../ Back to home diff --git a/public/notes/index.gmi b/public/notes/index.gmi index 32f89c5..0ceee81 100644 --- a/public/notes/index.gmi +++ b/public/notes/index.gmi @@ -2,6 +2,7 @@ => ../ Back to home +=> 2021/04-wineguard-server.gmi Настраиваем WireGuard сервер => 2021/03-l33t.gmi Аббривеатуры и интернет сленг => 2021/02-git-push-all.gmi Отправка исходников в несколько репозиториев Git одной командой => 2021/01-elementary-os-double-click.gmi Активация двойного клика в проводнике Elementary OS