diff --git a/content/posts/wg.md b/content/posts/wg.md new file mode 100644 index 0000000..dc3f3a5 --- /dev/null +++ b/content/posts/wg.md @@ -0,0 +1,72 @@ +--- +title: WireGuard. Установка и настройка +description: Сервер и клиент +date: 2024-06-05T17:37:00+06:00 +tags: [linux, wireguard] +--- +## Подготовка +На сервере и клиенте необходимо установить пакет `wireguard` и сгенерировать публичный и приватный ключи: +```shell +apt install wireguard +``` +```bash +cd /etc/wireguard +wg genkey | tee privatekey | wg pubkey > publickey +``` + +## Конфигурация сервера +### Форвардинг пакетов +В файл `/etc/sysctl.conf` необходимо добавить следующие строки: +```config +net.ipv4.ip_forward=1 +net.ipv6.conf.all.forwarding=1 +``` +И подгрузить эти значения командой `sysctl -p` + +### Конфигурация WireGuard +В файл `/etc/wireguard/.conf` необходимо дописать следующее: +```config +[Interface] +PrivateKey = +Address = 172.0.0.1/24 +PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o -j MASQUERADE +PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o -j MASQUERADE +ListenPort = 51820 + +[Peer] +PublicKey = +AllowedIPs = 172.0.0.2/32 +``` +`` - содержимое файла `/etc/wireguard/publickey` клиента
+`` - содержимое файла `/etc/wireguard/privatekey` сервера
+`` - имя сетевого интерфейса +### Включение WireGuard при запуске сервера +```shell +systemctl enable --now wg-quick@.service +``` + +## Конфигурация клиента +### Конфигурация WireGuard +В файл `/etc/wireguard/.conf` необходимо дописать следующее: +```config +[Interface] +Address = 172.0.0.2/32 +PrivateKey = +DNS = 1.1.1.1 + +[Peer] +PublicKey = +Endpoint = :51820 +AllowedIPs = +``` +`` - содержимое файла `/etc/wireguard/publickey` сервера
+`` - содержимое файла `/etc/wireguard/privatekey` клиента
+`` - публичный адрес сервера
+`` - IP-адреса, соединения с которыми будут идти через `WireGuard` +### Включение WireGuard при запуске клиента +```shell +systemctl enable --now wg-quick@.service +``` + +## Примечание +На сервере должен быть открыт порт `51820/udp`. Для добавления новых клиентов `WireGuard` необходимо в конфигурацию сервера добавлять блоки `[Peer]`.