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 available -current이며 FWIW는 지금까지 적어도 한 달 동안 잘 작동했습니다(8월 15일 스냅샷을 실행하는 컴퓨터에서 명령을 테스트했습니다).

그러나 (분명히) 페이지를 부분적으로 지원 하지만 wg@AB 가 이미 지적한 것처럼 커널이 사용자 영역과 동기화되지 않음을 나타냅니다.ifconfigman

-stable커널을 부분적으로 업그레이드한 후 시스템이 더 이상 따르지 않는 것 같기 때문에 -current긴급한 필요가 있는 경우 사용 시 모두 업데이트하는 것이 좋습니다 wg(패키지도 업그레이드하는 것을 잊지 마세요). 또한 기본 WireGuard 지원이 완료되기까지는 그리 오랜 시간이 걸리지 않으므로 실행의 이점보다 긴급성이 크지 않다면 몇 주 정도 기다렸다가 출시될 때 업그레이드할 수 있습니다.-currentsysupgrade -s6.8-releasewg-stable6.8-release

관련 정보