***На сервере: ```bash sudo su apt update && apt upgrade -y apt install -y wireguard cd /etc/wireguard wg genkey | tee privatekey | wg pubkey | tee publickey chmod 600 privatekey cat privatekey ``` **Редактируем/создаем: vim wg0.conf** ```sh # - заменить на свой !!! [Interface] PrivateKey = Address = 10.0.0.1/24 ListenPort = 51830 PostUp = iptables -A FORWARD -i %i(wg0) -j ACCEPT; iptables -t nat -A POSTROUTING -o -j MASQUERADE PostDown = iptables -D FORWARD -i %i(wg0) -j ACCEPT; iptables -t nat -D POSTROUTING -o -j MASQUERADE [Peer] # user_1 Publickey Publickey = AllowedIPs = 10.0.0.2/32 [Peer] # user_2 Publickey** Publickey = AllowedIPs = 10.0.0.3/32 [Peer] # user_3 Publickey Publickey = AllowedIPs = 10.0.0.4/32 ``` ```sh echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p net.ipv4.ip_forward=1 systemctl enable wg-quick@wg0.service >Created symlink /etc/systemd/system/multi-user.target.wants/wg-quick@wg0.service → /lib/systemd/system/wg-quick.service systemctl start wg-quick@wg0.service systemctl status wg-quick@wg0.service systemctl restart wg-quick@wg0.service systemctl status wg-quick@wg0.service systemctl daemon-reload sudo wg show #################################### # ОБЯЗАТЕЛЬНО ПРОВЕРЯЙТЕ ФАЕРВОЛ !!! sudo ufw status sudo ufw allowed http sudo ufw allowed https #################################### ``` ===================================== ***Генерация ключей клиента: `wg genkey | tee /etc/wireguard/_key/win_home_priv | wg pubkey | tee /etc/wireguard/win_home_pub` ***На компьютере-клиенте: ```sh sudo apt install wireguard resolvconf -y vim Documents/new_wg.conf ``` ***Конфигурация клиента: vim wg0.conf ```bash [Interface] PrivateKey = Address = 10.10.10.2/32 DNS = 8.8.8.8,77.88.8.8 [Peer] PublicKey = Endpoint = :51830 AllowedIPs = 0.0.0.0/0 # (весь трафик через WireGuard) >>> 10.10.10.0/24 PersistentKeepalive = 20 ``` ```sh systemctl enable wg-quick@wg0 systemctl start wg-quick@wg0.service systemctl restart wg-quick@wg0.service systemctl status wg-quick@wg0.service systemctl daemon-reload curl ifconfig.me sudo wg show ``` ===================================== ***GUI для Wireguard: ``` wget https://github.com/UnnoTed/wireguird/releases/download/v1.0.0/wireguird_amd64.deb sudo dpkg -i ./wireguird_amd64.deb nm-connection-editor nmcli wg-quick up wg0-client wg-quick down wg0-client ``` ===================================== ### Настройка VPN с WireGuard и LDAP за пару шагов  Представь, как удобно: ты настраиваешь VPN, а доступ автоматически контролируется через LDAP. Никакого хаоса с ключами, всё централизовано. Вот как это сделать, чтобы всё работало чётко. ### **1. Настраиваем WireGuard**   Сначала давай поднимем сам VPN:   1. Устанавливаешь WireGuard:      `sudo apt install wireguard 2. Генерируешь ключи:    `wg genkey | tee privatekey | wg pubkey > publickey 3. Делаешь конфиг /etc/wireguard/wg0.conf:    ```sh [Interface]    PrivateKey = <твой_приватный_ключ>    Address = 10.0.0.1/24    ListenPort = 51820    [Peer]    PublicKey = <публичный_ключ_клиента>    AllowedIPs = 10.0.0.2/32    ``` 4. Включаешь VPN:    `sudo wg-quick up wg0 Теперь у тебя рабочий VPN, но это только начало. --- ### **2. Подключаем LDAP**   Теперь сделаем так, чтобы только проверенные пользователи могли подключаться:   1. Установи LDAP-клиент:      `sudo apt install ldap-utils 2. Проверяешь связь с сервером:    `ldapsearch -x -H ldap:// -D "cn=admin,dc=example,dc=com" -W 3. Подключаешь проверку пользователей через LDAP. Например, перед выдачей ключей скрипт проверяет, есть ли юзер в базе:      `ldapsearch -x -b "dc=example,dc=com" "uid=<имя_пользователя>" 4. Для автоматизации можно настроить генерацию конфигов и ключей через API или свои скрипты.   ### **Почему это круто?**   Тебе больше не нужно вручную раздавать доступы или следить за кучей ключей. Всё централизовано: добавил юзера в LDAP — он тут же получил доступ к VPN. Удобно, чисто, профессионально.