Script OpenVPN



  • Bom dia a todos.

    Pessoal estou procurando na internet faz um tempo como executar um script (.BAT) após o cliente se conectar via OpenVPN, encontrei diversos tópicos que é possível mediante alteração no arquivo .ovpn pois bem, alterei o meu arquivo conforme abaixo:

    dev tun
    persist-tun
    persist-key
    cipher AES-256-CBC
    auth SHA1
    tls-client
    client
    resolv-retry infinite
    remote xxx.xxx.xxx.xxx xxxx udp
    verify-x509-name "www.xxxxxxxxx.com.br" name
    auth-user-pass
    ca firewall-udp-xxxx-xxxxxxxxx-ca.crt
    cryptoapicert "SUBJ:xxxxxxxxx"
    tls-auth firewall-udp-xxxx-xxxxxxxxx-tls.key 1
    remote-cert-tls server
    script-security 2
    up openvpn-up.bat
    down openvpn-down.bat

    Porem não estou conseguindo efetuar a conexão com os scripts setados conforme arquivo acima, abaixo o log de erro da conexão.

    Thu Sep 28 11:27:53 2017 Warning: cryptapicert used, setting maximum TLS version to 1.1.
    Thu Sep 28 11:27:53 2017 OpenVPN 2.4.2 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on May 11 2017
    Thu Sep 28 11:27:53 2017 Windows version 6.2 (Windows 8 or greater) 64bit
    Thu Sep 28 11:27:53 2017 library versions: OpenSSL 1.0.2k  26 Jan 2017, LZO 2.10
    Enter Management Password:
    Thu Sep 28 11:27:55 2017 NOTE: the current –script-security setting may allow this configuration to call user-defined scripts
    Thu Sep 28 11:27:55 2017 TCP/UDP: Preserving recently used remote address: [AF_INET]xxx.xxx.xxx.xxx:xxxx
    Thu Sep 28 11:27:55 2017 UDP link local (bound): [AF_INET][undef]:xxxx
    Thu Sep 28 11:27:55 2017 UDP link remote: [AF_INET]xxx.xxx.xxx.xxx:xxxx
    Thu Sep 28 11:27:55 2017 WARNING: this configuration may cache passwords in memory – use the auth-nocache option to prevent this
    Thu Sep 28 11:27:56 2017 [www.xxxxxxxxx.com.br] Peer Connection Initiated with [AF_INET]xxx.xxx.xxx.xxx:xxxx
    Thu Sep 28 11:27:57 2017 open_tun
    Thu Sep 28 11:27:57 2017 TAP-WIN32 device [Ethernet 3] opened: \.\Global{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}.tap
    Thu Sep 28 11:27:57 2017 Set TAP-Windows TUN subnet mode network/local/netmask = xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx[SUCCEEDED]
    Thu Sep 28 11:27:57 2017 Notified TAP-Windows driver to set a DHCP IP/netmask of xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxxon interface {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} [DHCP-serv: xxx.xxx.xxx.xxx, lease-time: 31536000]
    Thu Sep 28 11:27:57 2017 Successful ARP Flush on interface [6] {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
    Thu Sep 28 11:27:57 2017 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
    Thu Sep 28 11:27:57 2017 openvpn-up.bat Ethernet 3 1500 1557 xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx init
    Thu Sep 28 11:27:57 2017 env_block: add PATH=C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem
    Thu Sep 28 11:28:13 2017 WARNING: Failed running command (–up/--down): returned error code 2
    Thu Sep 28 11:28:13 2017 Exiting due to fatal error

    Fazendo diversos teste eu percebi que o problema é que o script (.BAT) está sendo executado antes de ser concluído a conexão, pois se conecto na VPN estando conectado na rede da empresa o processo do script é realizado sem problema, mas se estou em uma rede fora da empresa apresenta o erro mencionado acima.

    Então não sei como devo proceder.

    Abraços.



  • Bom, se o problema é o script, sugiro dar uma estudada em como tu pode verificar se está conectado na openvpn pra depois executar o restante do script.



  • O script é só para mapear as pasta de rede da empresa e sincronizar o horário com o servidor

    Exemplo:

    @echo off
    net time \servidor /set /y
    net use v: \servidor\vendas

    Já coloquei um sleep de 30 segundo a fim de esperar a conexão ser concluída, mas mesmo assim não obtive sucesso.



  • @hernanersouza:

    O script é só para mapear as pasta de rede da empresa e sincronizar o horário com o servidor

    Exemplo:

    @echo off
    net time \servidor /set /y
    net use v: \servidor\vendas

    Já coloquei um sleep de 30 segundo a fim de esperar a conexão ser concluída, mas mesmo assim não obtive sucesso.

    Dá uma olhada nos links abaixo.
    https://serverfault.com/questions/612237/how-to-wait-for-network-in-a-batch-script-when-booting-on-windows-server
    https://stackoverflow.com/questions/26185482/batch-scripting-wait-until-network-established


Log in to reply