wg-quick:在 CentOS 7.6 中启动 wireguard 时,`wg0' 已经存在

问题描述

当我在 CentOS 7.6 中使用此命令启动 wireguard 时:

wg-quick up wg0

显示错误

wg-quick: `wg0' already exists

我正在使用 ifconfig 命令查看 wg0:

wg0: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1420
        inet 10.0.0.1  netmask 255.255.255.0  destination 10.0.0.1
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 13  dropped 0 overruns 0  carrier 0  collisions 0

这是我的配置:

[root@izbp19pke6x0v6ruecuy1yz wireguard]# cat wg0.conf
[Interface]
PrivateKey = [redacted]
Address = 10.0.0.1/24
PostUp   = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 7456

[Peer]
PublicKey = Cfrr58B8PjtpZhJzqdFXwpXQOnZedQpOOWjrkeM7p30=
AllowedIPs = 10.0.0.3/24

[Peer]
PublicKey = b3rP/aN53ZY7IwzOWyxfxLEw7atwS2GpFe0kLchHhk4=
AllowedIPs = 10.0.0.2/32

但进程不存在:

[root@izbp19pke6x0v6ruecuy1yz wireguard]# lsof -i:7456
[root@izbp19pke6x0v6ruecuy1yz wireguard]#

问题是什么,我应该怎么做才能解决它?

解决方法

skipToNext = async () => { try { await TrackPlayer.skipToNext(); this.props.SetProgress('pasued') } catch (_) { } } skipToPrevious = async () => { try { await TrackPlayer.skipToPrevious(); this.props.SetProgress('pasued') } catch (_) { } } 接口已经启动。要重新启动它,请运行 wg0,然后再次运行 wg-quick down wg0

WireGuard 没有作为单独的进程运行,侦听端口 wg-quick up wg0,因此您不会通过 7456 看到它的任何内容。试试像 lsof 这样的命令。或者运行 ss -ptuna | grep 7456 以从 WireGuard 本身获得漂亮的显示。

此外,您可能希望在 wg show 设置中使用 /32,而不是 AllowedIPs = 10.0.0.3/24(仅将单个地址而不是地址块路由到该对等方)。