From 9eda95d084d72ef7412e1af359242d6839215c48 Mon Sep 17 00:00:00 2001 From: Matt Dunwoodie Date: Sun, 10 May 2020 02:06:14 -0600 Subject: [PATCH] wg-quick: add support for openbsd kernel implementation Signed-off-by: Matt Dunwoodie --- src/wg-quick/openbsd.bash | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/wg-quick/openbsd.bash b/src/wg-quick/openbsd.bash index 9584902..3b90df2 100755 --- a/src/wg-quick/openbsd.bash +++ b/src/wg-quick/openbsd.bash @@ -100,10 +100,25 @@ get_real_interface() { } add_if() { - export WG_TUN_NAME_FILE="/var/run/wireguard/$INTERFACE.name" - mkdir -p "/var/run/wireguard/" - cmd "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" tun - get_real_interface + local index + echo "find wg" | config -e /bsd 2>/dev/null | grep "wg count 1" >/dev/null + if [[ $? == 0 ]]; then + REAL_INTERFACE="" + index=0 + while [[ $REAL_INTERFACE == "" ]]; do + ifconfig wg$index create + if [[ $? == 0 ]]; then + $REAL_INTERFACE="wg$index" + fi + index=$((index+1)) + done + echo "[+] Interface for $INTERFACE is $REAL_INTERFACE" >&2 + else + export WG_TUN_NAME_FILE="/var/run/wireguard/$INTERFACE.name" + mkdir -p "/var/run/wireguard/" + cmd "${WG_QUICK_USERSPACE_IMPLEMENTATION:-wireguard-go}" tun + get_real_interface + fi } del_routes() {