我已连接到openvpn服务器。(使用--proto,--dev抽头,.)在linux客户机上。连接工作良好,除非我将系统时间更改为system("/bin/date -s xxx"),然后立即将send(anything)更改为服务器,否则tap0节点有时会被移除,netlink监视器将接收RTM_DELADDR,if_name是tap0,这意味着它的is地址已被删除。
我试过的是:
/bin/date -s xxx),然后将send(anything)更改为服务器。无法连接reproduce system("/bin/date -s xxx");
sleep(1);//sleep 1s
send(anything); system("/bin/date -s xxx");
//sleep(1);//sleep 1s
send(anything);我们没有在本地日志文件中看到有关删除此节点的任何信息。所以我的问题是:
openvpn服务器是否删除了此节点或任何其他节点(比如tcp proto或drivers)?
)。
谢谢你的建议。
发布于 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的系统时间。
https://stackoverflow.com/questions/72615015
复制相似问题