OpenBSD 6.7 Wireguard コマンドが失敗します。

OpenBSD 6.7 Wireguard コマンドが失敗します。

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パッチを含む)。あなたunamesysctl kern.version後者を使用していることを示します。 wg はい利用可能で-currentあり、FWIWはこれまで少なくとも1ヶ月間うまくいきました(8月15日にスナップショットを実行しているコンピュータでコマンドをテストしました)。

ただし、(明らかに)ページは部分的にサポートされていますが、wg@ABがすでに指摘したように、カーネルがユーザー領域と同期していないことを示します。ifconfigman

-stableカーネルを部分的にアップグレードした後、システムがそれ以上従わないように見えるので、緊急の-current必要がある場合は、使用時にすべてを更新することをお勧めしますwg(パッケージもアップグレードすることを忘れないでください)。また、基本的なWireGuardサポートが完了するまでには時間がかかりません。実行の利点よりも緊急性が大きくない場合は、数週間待ってからリリースすることでアップグレードできます。-currentsysupgrade -s6.8-releasewg-stable6.8-release

関連情報