псевдоним для включения/выключения openvpn

Быстрый поиск в вики OpenWrt под Das U -Boot Environment...

"Das U-Boot uses a small amount of space on the flash storage usually on the same partition it is stored on to store some important configuration parameters."

конкретно...

bootargs: The contents of this variable are passed to the Linux kernel as boot arguments (aka "command line").

С некоторыми предположениями, но вы должны иметь возможность редактировать этот файл конфигурации из работающего ядра. Возможно, потребуется найти раздел u -boot и файл конфигурации, и смонтировать его R/W. Кроме того, вы также должны иметь возможность редактировать этот файл конфигурации из командной строки загрузки u -, только один раз, если вы сохраните переменную с помощью saveenv.

1
21.05.2019, 17:06
1 ответ
  • Использовать полный путь в команде set
  • запустить screenв автономном режиме
  • используйте конструкцию case... esacдля создания сценария запуска/остановки.

Может быть, что-то вроде этого:

#!/bin/bash

start(){
  status # Print IP before connection
  set -- /etc/openvpn/ovpn_tcp/*.nordvpn.com.tcp.ovpn
  shift $(( RANDOM % $# ))
  screen -S vpn -dm openvpn "$1" # connect
  sleep 5 # wait for connection
  status # Print IP after connection
}
stop(){
  screen -S vpn -X quit
  pkill -f ovpn
}
status(){
  printf 'IP: %s\n' "$(curl -s ifconfig.co)"
}

case "$1" in
start)
    if screen -ls | grep -w vpn; then
      echo "Vpn already connected";
      status
    else
      start
    fi
    ;;
stop)
    stop
    ;;
*)
    status
    ;;
esac

, а затем вы можете добавить это как псевдоним:

alias vpn='bash /etc/openvpn/ovpn_tcp/go'

Использование:

# Start connection
vpn start

# Stop connection
vpn stop

# get status
vpn

В качестве альтернативы псевдониму вы можете поместить скрипт в свой ~/bin, сделать его исполняемым и добавить этот каталог в свой $PATH.

1
27.01.2020, 23:41

Теги

Похожие вопросы