首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改系统时间导致OpenVPN删除tap0地址

问更改系统时间导致OpenVPN删除tap0地址
EN

Stack Overflow用户
提问于 2022-06-14 09:58:31
回答 1查看 29关注 0票数 0

我已连接到openvpn服务器。(使用--proto,--dev抽头,.)在linux客户机上。连接工作良好,除非我将系统时间更改为system("/bin/date -s xxx"),然后立即将send(anything)更改为服务器,否则tap0节点有时会被移除,netlink监视器将接收RTM_DELADDR,if_name是tap0,这意味着它的is地址已被删除。

我试过的是:

  1. 连接后,在终端上更改系统时间(/bin/date -s xxx),然后将send(anything)更改为服务器。无法连接reproduce
  2. after,调用如下,无法复制。

代码语言:javascript
复制
    system("/bin/date -s xxx");
    sleep(1);//sleep 1s
    send(anything);

  1. 连接后,调用如下所示,有时可以复制。

代码语言:javascript
复制
    system("/bin/date -s xxx");
    //sleep(1);//sleep 1s
    send(anything);

  1. 尝试使用不同版本的openvpn,得到相同的结果。

我们没有在本地日志文件中看到有关删除此节点的任何信息。所以我的问题是:

openvpn服务器是否删除了此节点或任何其他节点(比如tcp proto或drivers)?

  • Why,它删除了它?

)。

谢谢你的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-25 13:12:49

捕获openvpn的日志后,将出现ping签出超时错误,然后调用命令:/sbin/ifconfig tap0 0.0.0.0"

ping check函数是在openvpn的主循环中调用的,如果有发送的内容,它将被调用。

ping检查函数使用两个变量last和now,它们都来自time(NULL)或gettimeofday(),这取决于系统时间,如果last是在时间重置之前得到,而now是在时间重置之后得到的,那么(如果从现在到最后一次的D值太大)将导致超时错误。

这是合理的,所以您不能随意更改至少Linux的系统时间。

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

https://stackoverflow.com/questions/72615015

复制
相关文章

相似问题

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