WireGuard запуск переключения туннелей
Упрощенный скрипт для того что бы можно было легко управлять туннелями. В основном нужно для десктопа.
Все конфиги с человекопонятными именами создаем в /etc/wireguard/
. Например my-work.conf
. Так же можно создать эту папку в своем каталоге, а в /etc/wireguard
сделать симлинк ln -s /home/username/Configs/wireguard/ /etc/wireguard
Сам скрипт mywg
#!/bin/bash
CONNECTED=`sudo /bin/wg show |grep interface: | cut -d' ' -f2-`
function stop_all {
for tun in ${CONNECTED}
do
sudo /bin/wg-quick down $tun
done
}
i=1
files=()
if [[ "${CONNECTED}" != "" ]]; then
echo Connected to: ${CONNECTED}. For disconnect press Enter key
fi
for file in `find /etc/wireguard/ -type f -name "*.conf"`
do
filename=$(basename -- "$file")
filename="${filename%.*}"
echo $i. "$filename"
files[$i]=$filename
i=$((i+1))
done
read -p "Enter WG conf num: " conf_num
# Стопаем все туннели
stop_all
# Выходим если нужно было только остановить
if [[ "${conf_num}" == "0" ]]; then
exit
fi
if [[ -v "files[${conf_num}]" ]] ; then
sudo /bin/wg-quick up ${files[$conf_num]}
fi
Создаем файл /etc/sudoers.d/wg
username ALL = NOPASSWD:/bin/wg-quick
username ALL = NOPASSWD:/bin/wg
username
меняем на имя вашего пользователя.
[ Править ]