Автоматизация подключения к VPN

Я надеюсь автоматизировать запуск VPN-подключения при запуске пакета CentOS 6.5. У меня есть клиент VPN Fortinet, который я запускаю в командной строке следующим образом:

[centhost]$./forticlientsslvpn_cli --server 10.0.0.50:443 --vpnuser userxyz --keepalive VPN Password: Server certificate is invalid. Do you want to connect anyway? [y/n] Connection successful. Tunnel running. 

Мой вызов с автоматизацией этого подключения заключается в том, что мне нужно ввести пароль VPN, а затем принять недопустимый сертификат. Кроме того, кажется, что клиент VPN продолжает работать как пользовательский процесс после подключения, а не демон, и это нормально, но мне нужно, чтобы он работал в фоновом режиме. Кроме того, когда я делаю ps aux | grep forti, я замечаю, что это не работает только один процесс, но на самом деле все четыре одинаковые, что тоже прекрасно. Просто не знаю, влияет ли это на мои варианты автоматизации. Я также хотел бы автоматически перезапустить соединение, если он терпит неудачу. Какие-либо предложения?

  • Не удается подключиться к Интернету с помощью VPN на OpenBSD
  • Конфигурация iptables ssh через VPN
  • Сегментация трафика для определенной подсети
  • Включение ускорения графики для OpenGL через удаленно через VPN от клиента Ubuntu (мой ноутбук) до сервера Windows (вычисление здесь)
  • Как сделать соединение openvpn доступным для всех хостов в той же подсети?
  • Почему / usr / sbin / racoon требуют входящих соединений, когда VPN активен в MacOS Sierra
  • Как перенаправить vpn-трафик на hostapd-малину pi
  • Как проверить, проходит ли данное соединение через VPN?
  • One Solution collect form web for “Автоматизация подключения к VPN”

    Я использую этот код (сначала вы должны установить пакет expect ):

    Я установил forticlientsslvpn_cli в /opt/forticlientsslvpn . Замените IP_FORTIGATE , PORT_FORTIGATE , VPN_USERNAME и VPN_PASSWORD с вашими значениями.

     #!/usr/bin/expect -f set force_conservative 0 ; if {$force_conservative} { set send_slow {1 .1} proc send {ignore arg} { sleep .1 exp_send -s -- $arg } } set timeout -1 spawn $env(SHELL) match_max 100000 send -- "cd /opt/forticlientsslvpn/\r" send -- "./forticlientsslvpn_cli --server IP_FORTIGATE:PORT_FORTIGATE --vpnuser VPN_USERNAME" expect -exact "./forticlientsslvpn_cli --server IP_FORTIGATE:PORT_FORTIGATE --vpnuser VPN_USERNAME" send -- "\r" expect -exact "\r Password for VPN:" send -- "VPN_PASSWORD\r" expect -exact "\r STATUS::Setting up the tunnel\r STATUS::Connecting...\r" send -- "Y\r" expect eof 
    Interesting Posts

    Переименование жесткого диска

    Шифровать систему на базе Debian

    Управление пакетами, каталогами и PATH в Unix (OSX)

    Как я могу применить исправления программного обеспечения?

    Как я могу запустить irb из сценария bash, выполнить некоторые команды, а затем передать сеанс irb на консоль?

    получение старой веб-камеры Logitech для работы в Linux

    CUPS libusbx-devel требуется ошибка при попытке создать чашки-1.7.1 из источника

    Почему `> my.log 2> & 1 &` заставляет работу поддерживать выход из системы?

    Что такое * .sorted команда и почему она не работает в моем bash?

    как удалить некоторые из строк в первом файле на основе информации из второго файла?

    Определить процесс

    Не удается запустить приложения из-за ошибки «Максимальное количество клиентов»

    Устройства переименовываются при подключении диска SATA

    Fedora 23 больше не загружается (GRUB: поддерживается минимальное редактирование строк в формате BASH).

    Предотвращение использования zsh от использования псевдонимов в CWD (подсказка)

    Linux и Unix - лучшая ОС в мире.