首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测试是否建立了OpenVPN隧道?

如何测试是否建立了OpenVPN隧道?
EN

Stack Overflow用户
提问于 2012-09-27 07:22:08
回答 1查看 7.2K关注 0票数 1

要测试OpenVPN隧道设置,我需要检测新启动的OpenVPN守护进程在尝试在隧道上发送东西之前,何时已经建立了隧道(或者失败了)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-20 19:12:48

基于一种很好的tail方法

代码语言:javascript
复制
ssh hostname '
    sleep 5 &
    timerPID=$!;
    tail -n0 -F --pid=$timerPID /var/log/messages | grep openvpn | while read -r line;
    do
        if echo "$line" | grep -qF -e "Initialization Sequence Completed" -e "Connection refused";
        then
            kill $timerPID;
            break;
        fi;
    done &
    /etc/init.d/openvpnA start &
    wait $timerPID'

这就是:

  1. 连接到VPN客户端或服务器。
    1. 异步启动计时器
    2. 异步收集包含openvpn的日志行,直到计时器退出为止
      1. 寻找连接成功或被拒绝的迹象
        1. 关掉计时器
        2. 退出循环

代码语言:javascript
复制
1. Start the daemon
2. Wait for the timer to die

这似乎很有效,但由于不熟悉OpenVPN,我不确定这是否是检测连接状态的正确方法。由于我是唯一使用这台机器的人,所以我认为,由于早期的进程启动而导致grep成功的时间问题的可能性可以忽略。但是,我猜想只有熟悉OpenVPN代码的人才能真正回答这个问题:当前的测试是否足以确定连接是成功的还是被拒绝的?

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12616122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档