@dsslesarev

Проблема с wireguard на Debian?

Всем Привет, есть поставил wireguard, раньше ставил все работало, сейчас поставил на последнею версию debian и такая ошибка? В чем проблема может быть?

systemctl status wg-quick@wg0.service
● wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0
   Loaded: loaded (/lib/systemd/system/wg-quick@.service; disabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2020-05-29 18:05:11 MSK; 3min 26s ago
     Docs: man:wg-quick(8)
           man:wg(8)
           https://www.wireguard.com/
           https://www.wireguard.com/quickstart/
           https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8
           https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8
  Process: 786 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=1/FAILURE)
 Main PID: 786 (code=exited, status=1/FAILURE)

мая 29 18:05:11 Server systemd[1]: Starting WireGuard via wg-quick(8) for wg0...
мая 29 18:05:11 Server wg-quick[786]: wg-quick: `wg0' already exists
мая 29 18:05:11 Server systemd[1]: wg-quick@wg0.service: Main process exited, code=exited, status=1/FAILURE
мая 29 18:05:11 Server systemd[1]: wg-quick@wg0.service: Failed with result 'exit-code'.
мая 29 18:05:11 Server systemd[1]: Failed to start WireGuard via wg-quick(8) for wg0.


Конфиг:
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
#приватный ключ сервера берем из файла srv-priv.key
PrivateKey = kGILFzOqXzFwjjHQr/sYleVljwShwgM7/257CMmJ030=
#настраиваем маршрутизацию в примере название интерфейса, который смотрит наружу enp0s8, у вас он будет называться иначе
PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o enp0s25 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o enp0s25 -j MASQUERADE

[Peer]
PublicKey = FG271hul8VWyt/KjVifupbeydVOAq0w1Y8F0QJSPryk=
AllowedIPs = 10.8.0.0/24
Endpoint = 192.168.0.10:51820

[Peer]
# client 1 
#публичный ключ первого клиента берем из файла cl1-pub.key
PublicKey = PHoqZ10jkia9mzOdJsclWGiUIflAb1KnFAMfuuGM1go=
AllowedIPs = 10.8.0.2/32

[Peer]
# client 2 
#публичный ключ второго клиента берем из файла cl2-pub.key
PublicKey = ymGJKl2bB3Jk4VXTHyF+fgPTnfupk9zoGZme7j/oolo=
AllowedIPs = 10.8.0.3/32

[Peer]
# client 3 
#публичный ключ первого клиента берем из файла cl3-pub.key
PublicKey = Xun05kBuziWcoBOZ3N6ZmY3Z2XOXi7PEayXMsR7j6G4=
AllowedIPs = 10.8.0.4/32


Ставил следующим образом:

Добавляем в файл sources.list строчку: 
 
deb http://deb.debian.org/debian buster-backports main
 

затем обновляем базу пакетов:
 
 apt update
 
затем устанавливаем из бэкпортов пакет wireguard: 

apt -t buster-backports install wireguard

поскольку для текущего ядра в debian 10 модуль wireguard собирается посред-ством dkms, перезагружаемся и после проверяем, что модуль подгрузился:

lsmod|grep wireguard

 далее генерируем ключи для сервера и двух(понадобится больше, делаем по аналогии) клиентов:

wg genkey | tee srv-priv.key |  wg pubkey > srv-pub.key
wg genkey | tee cl1-priv.key |  wg pubkey > cl1-pub.key
wg genkey | tee cl2-priv.key |  wg pubkey > cl2-pub.key

В результате получаем 3 пары файлов, каждая пара -- приватный и публичный ключи. Сервер и два клиента, соответственно
 
создаем файл конфигурации /etc/wireguard/wg0.conf
 Все ключи в примере требуется заменить на строчки из соответствующих
 файлов ключей

[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
#приватный ключ сервера берем из файла srv-priv.key
PrivateKey = qOMrIb3b8/zkzXaePhQnjn7Qfc5ilBf9k6gVXqQixHc=
#настраиваем маршрутизацию в примере название интерфейса, который смотрит наружу enp0s8, у вас он будет называться иначе
PostUp   = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o enp0s8 -j MASQUERADE

[Peer]
PublicKey = 0nk+Fg0hY3K83zODuyZHiHvBf4OkUcWtepBIix2bJgw=
AllowedIPs = 10.0.0.0/24
Endpoint = 192.168.47:51820

[Peer]
# client 1
#публичный ключ первого клиента берем из файла cl1-pub.key
PublicKey = +bkGjS2J+d4GscwZMic8Tn5URxoXsc31KuPSvLhyfW4=
AllowedIPs = 10.0.0.2/32

[Peer]
# client 2
#публичный ключ второго клиента берем из файла cl2-pub.key
PublicKey = uW8PKxsce+8bnBzg3rRI85vxOYOILOVOMt42gadJdx0=
AllowedIPs = 10.0.0.3/32
 


проверяем конфигурацию на отсутствие ошибок:
 
wg-quick up wg0
Если все в порядке, останавливаем командой 
 wg-quick down wg0
и запускаем уже  средствами systemd:
 
systemctl start wg-quick@wg0.service
 

разрешаем форвардинг, раскомментировав net.ipv4.ip_forward = 1 в файле 
 
/etc/sysctl.d/99-sysctl.conf 

включаем сервис wg на постоянной основе:
 
systemctl start wg-quick@wg0.service

Конфигурация клиента
[Interface]
PrivateKey = приватный ключ клиента
Address = 10.0.0.2/24

[Peer]
PublicKey = публичный ключ сервера
AllowedIPs = 10.0.0.0/24
Endpoint = внешний_айпи_сервера:51820

Далее проверяем пинги с сервера на клиент и с клиента на сервер
  • Вопрос задан
  • 10147 просмотров
Пригласить эксперта
Ответы на вопрос 1
@KingstonKMS
Написано же прямо:
мая 29 18:05:11 Server wg-quick[786]: wg-quick: `wg0' already exists

Ищите причину в этом направлении.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы