Wireguard 设置说明在我的 OpenBSD 6.7 机器上不起作用:
$ uname -a
OpenBSD foobar 6.7 GENERIC.MP#3 amd64
$ sysctl kern.version
kern.version=OpenBSD 6.7 (GENERIC.MP) #3: Thu Jul 9 07:21:14 MDT 2020
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
我相信我的系统应该wg(4)
由于上面的输出,有内核空间 Wireguard 驱动程序(即)。
默认情况下,没有 Wireguard 接口:
$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
index 3 priority 0 llprio 3
groups: lo
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
vio0: flags=e48843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,INET6_NOPRIVACY,AUTOCONF6,INET6_NOSOII,AUTOCONF4> mtu 1500
lladdr 56:00:02:f5:e5:fa
index 1 priority 0 llprio 3
groups: egress
media: Ethernet autoselect
status: active
inet6 fe80::5400:2ff:fef5:e5fa%vio0 prefixlen 64 scopeid 0x1
inet 149.28.165.216 netmask 0xfffffe00 broadcast 149.28.165.255
inet6 2401:c080:1800:4463:5400:2ff:fef5:e5fa prefixlen 64 autoconf pltime 604596 vltime 2591796
enc0: flags=0<>
index 2 priority 0 llprio 3
groups: enc
status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33136
index 4 priority 0 llprio 3
groups: pflog
由于也没有 Wireguard 的手册页,我安装了wireguard-tools
:
$ sudo pkg_add wireguard-tools
quirks-3.326 signed on 2020-09-09T17:39:55Z
wireguard-tools-1.0.20200319v0: ok
New and changed readme(s):
/usr/local/share/doc/pkg-readmes/wireguard-tools
的手册页wg(4)
提供了创建 Wireguard 接口的说明。这在我的机器上失败了:
$ ifconfig wg0 create wgport 111 wgkey `openssl rand -base64 32` rdomain 1
ifconfig: wgport: bad value
$ echo $?
1
$ sudo ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
index 3 priority 0 llprio 3
groups: lo
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
re0: flags=808843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4> mtu 1500
lladdr dc:4a:3e:d6:23:bd
index 1 priority 0 llprio 3
groups: egress
media: Ethernet autoselect (100baseTX full-duplex)
status: active
inet 192.168.0.16 netmask 0xffffff00 broadcast 192.168.0.255
enc0: flags=0<>
index 2 priority 0 llprio 3
groups: enc
status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33136
index 4 priority 0 llprio 3
groups: pflog
wg0: flags=8082<BROADCAST,NOARP,MULTICAST> mtu 1420
index 26 priority 0 llprio 3
groups: wg
显然,wg0
接口已创建,但参数被悄悄删除(即,没有私钥,没有端口,也没有rdomain
)。
答案1
您并不完全清楚您正在使用的操作系统版本。注意wg
不是可用于6.7-release
和不是可用6.7-stable
(即-release
加上补丁)。您的uname
和sysctl kern.version
表明您正在使用后者。 wg
是可用-current
,并且 FWIW 现在至少可以正常工作一个月(我在运行 8 月 15 日快照的计算机上测试了您的命令)。
但是,您(显然)部分支持wg
onifconfig
但没有man
页面,这表明内核未与用户区同步,正如 @AB 已经指出的那样。
由于系统似乎已经不遵循-stable
,已经部分升级了内核-current
,如果有紧急需要,我的建议是使用wg
时将其全部更新(不要忘记也升级软件包)。另外,请注意,应该不会太久,它将拥有原生的wireguard支持,因此,如果拥有的紧迫性不超过运行的优势,您可能只需等待几周,然后升级到它出来的时候。-current
sysupgrade -s
6.8-release
wg
-stable
6.8-release