OpenVPN的:都tcp / udp

OpenVPN可以在一个configuration中同时在tcp和udp上运行吗?

据我所知,一个隧道不能同时使用udp和tcp。

另一方面,我有运行configuration与隧道代理支持传入TCP连接和单独的configuration文件中定义的udp连接。

只需在不同协议的不同端口上运行两个opevpn守护进程。

这是一个老问题,但通常你不想在TCP下使用OpenVPN,因为它会导致更多的networkingstream量。

例如在UDP下的OpenVPN,发送单用户tcp消息如下所示:

client: <OpenVPN UDP msg1><user TCP msg0> server: <OpenVPN UDP msg2><user TCP ack0> 

在TCP下的OpenVPN,每个OpenVPN消息也是TCP,所以它必须得到ack,包括embeddedstream的一部分。 相同的消息是这样的:

 client: <OpenVPN TCP msg1><user TCP msg0> server: <TCP ack1> server: <OpenVPN TCP msg2><user TCP ack0> client: <TCP ack2> 

另外TCP头部有点大。

使用UDP上的OpenVPN,内部的TCP层将负责任何重传。 UDP的主要缺点是连接不能确定是否真正启动。 默认的OpenVPNconfiguration通过设置一个周期性的keepalive ping来处理。