Wireguard на Alpine: автоматическое монтирование wg0 после загрузки

Wireguard на Alpine: автоматическое монтирование wg0 после загрузки

У меня установлен wireguard на сервере Alpine. Он работает, но когда я перезагружаю сервер, мне приходится вручную выполнять wg-quick up wg0

wireguard:~# wg show
wireguard:~# wg-quick up wg0
[#]
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.6.6.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] ip -6 route add fd9f:6666::1/128 dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
wireguard:~# wg show
interface: wg0
  public key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
  private key: (hidden)
  listening port: 51820

peer: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
  preshared key: (hidden)
  endpoint: xx.xx.xx.xx:49323
  allowed ips: fd9f:6666::1/128, 10.6.6.2/32
  latest handshake: 2 seconds ago
  transfer: 7.05 KiB received, 6.31 KiB sent
wireguard:~#

Я применил этот документ:https://wiki.alpinelinux.org/wiki/Настройка_интерфейса_Wireguard_(wg)#Настройка_интерфейса_с_помощью_инструментов_wg

wireguard:~# cat /etc/modules
af_packet
ipv6
wireguard
wireguard:~# cat /etc/wireguard/wg0.conf
# Updated: 2021-11-29 22:52:22.801259882 +0000 UTC / Created: 2021-11-29 19:52:59.17510794 +0000 UTC
[Interface]
Address = 10.6.6.1/24
ListenPort = 51820
PrivateKey = xxxxxxxxxxxxx=

PreUp =
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PreDown =
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
...

Где моя ошибка?

решение1

Никаких ошибок, вам просто нужно настроитьOpenRCсервис для него. Создайте скрипт инициализации, как этот, в /etc/init.d/wg-quick:

#!/sbin/openrc-run

description="WireGuard Quick"

depend() {
    need localmount
    need net
}

start() {
    wg-quick up wg0
}

stop() {
    wg-quick down wg0
}

Затем выполните следующую команду, чтобы включить его для уровня запуска по умолчанию:

rc-update add wg-quick default

решение2

Спасибо Джастину Людвигу за ответ. Я не тестировал ваше решение, потому что мне удалось решить свою проблему, изменив ее /etc/network/interfacesследующим образом:

auto wg0
iface wg0 inet static
        address 10.6.6.1
        netmask 255.255.255.0
        post-up wg-quick up /etc/wireguard/wg0.conf
        post-down wg-quick down /etc/wireguard/wg0.conf

Связанный контент