我已经在Alpine Linux 3.16.2上配置了 Wireguard VPN 。手动服务器和客户端配置工作正常。
uname -mrs
# Linux 5.15.60-0-virt aarch64
ip link add dev wg0 type wireguard
ip address add dev wg0 10.0.0.4/8
wg setconf wg0 /etc/wireguard/wg0.conf
ip link set up dev wg0
wg
# interface: wg0
# public key: 9nEynT6g.....
# private key: (hidden)
# listening port: 31194
# peer: A2zDuhbX6....
# allowed ips: 10.0.0.5/32
但是当我重新启动系统设备 wg0 消失。如何做到持久?
我按照Alpine Linux 设置 WireGuard VPN 服务器的说明进行操作,但它似乎有点过时了。
在向 /etc/network/interfaces 添加接口时,我遇到了以下问题。他们不会直接向该文件添加新条目,因为NOTE: /sbin/assemble-interfaces rewrites this file. Edit files in /etc/network/interfaces.d/ to persist any customizations
.
如果我添加带有接口描述的新配置文件,它不会在重新启动后加载:
nano /etc/network/interfaces.d/wg0
的内容/etc/network/interfaces.d/wg0
auto wg0
iface wg0 inet static
address 10.0.0.4/8
gateway 10.0.0.1
pre-up ip link add dev wg0 type wireguard
pre-up wg setconf wg0 /etc/wireguard/wg0.conf
post-down ip link delete wg0
手动配置正在运行。我可以建立从远程客户端到服务器的 VPN 连接,使用私有地址 10.0.0.4 到服务器的 ssh 并访问 Internet。那么如何在 Alpine Linux 3.16.2] 1上将此接口配置为启动时启动?
该
/sbin/assemble-interfaces
脚本(和/etc/network/interfaces.d/
目录)不是 Alpine Linux 的标准部分。它可能是您添加的其他网络包的一部分,并且您可能必须在每次对/etc/network/interface.d/
目录进行任何更改时手动运行它。通常,您会直接将接口定义添加到
/etc/network/interfaces
,然后运行rc-service networking restart
以应用您的更改(请参阅 Alpine 的配置网络文档)。另一种选择是使用wg-quick来管理您的 WireGuard 界面。为此,请将接口的地址添加到您的
/etc/wireguard/wg0.conf
文件中:然后为它设置一个OpenRC服务,使用如下的 init 脚本
/etc/init.d/wg-quick
:可以使用
rc-service wg-quick start
andrc-service wg-quick stop
命令来启动和关闭这个服务;您可以在启动时使用以下命令启用它: