批处理文件用于检查 openvpn 连接是否在线/启动

批处理文件用于检查 openvpn 连接是否在线/启动

我需要使用批处理文件检查在线/启动时的 vpn 连接。

实际上我使用这个代码:

PING -n 5 www.google.com|FIND /I "TTL">NUL

IF NOT "%ERRORLEVEL%"=="1" (
Echo "Vpn Connection Is Up"
)
IF "%ERRORLEVEL%"=="1" (
Echo "Vpn Connection Is Down"
)

有时 ping 不会做出任何响应或给出一般的失败响应。

我想知道是否有比 ping 命令更好的批处理代码替代方案。

我尝试了这些替代代码,但在在线/启动时无法识别 vpn,因为适配器始终安装在我的 PC 上。

第一个替代代码:

ipconfig|find /i "VPN" && GOTO startAPP || GOTO connectVPN

第二种替代代码:

ipconfig|find /i "VPN"

if %errorlevle%==1 goto:connectVPN

echo Starting APP !
exit/b

:connectVPN
echo connecting to VPN

第三替代代码:

:start
cls
rasdial | find /I "%vpnname%" > nul
if errorlevel 1 goto vpndown
if errorlevel 0 goto vpnup

您能否推荐一个替代 ping 命令并将其集成到我的批处理代码中?

替代代码无法识别 vpn 连接何时在线,它可以识别我的电脑中安装的适配器是否存在,但我需要知道 vpn 何时在线/启动(准备上网)。

答案1

你可以看看这个文件:/etc/openvpn/openvpn-status.log

我还会尝试查看 ifconfig 的输出并检查适配器是否存在以及处于启动还是关闭状态。

相关内容