disserman Asked: 2009-10-19 06:13:26 +0800 CST2009-10-19 06:13:26 +0800 CST 2009-10-19 06:13:26 +0800 CST OpenVPN:tcp/udp 772 OpenVPN 可以在一个配置中同时在 tcp 和 udp 上工作吗? openvpn 3 个回答 Voted robbyt 2010-07-01T15:02:48+08:002010-07-01T15:02:48+08:00 只需在具有不同协议的不同端口上运行两个 opevpn 守护程序。 Best Answer pQd 2009-10-19T06:58:08+08:002009-10-19T06:58:08+08:00 据我所知,一条隧道不能同时使用 udp 和 tcp。 另一方面,我使用隧道代理运行配置,支持在单独的配置文件中定义的传入 tcp 连接和 udp 连接。 Robert Calhoun 2013-05-22T09:01:20+08:002013-05-22T09:01:20+08:00 这是一个老问题,但通常你不想在 TCP 下使用 OpenVPN,因为它会导致更多的网络流量。 例如使用 UDP 下的 OpenVPN,发送单用户 tcp 消息如下所示: client: <OpenVPN UDP msg1><user TCP msg0> server: <OpenVPN UDP msg2><user TCP ack0> 使用 TCP 下的 OpenVPN,每个 OpenVPN 消息也是 TCP,因此它必须得到确认,包括作为嵌入流一部分的确认。相同的消息如下所示: 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的主要缺点是连接无法判断它是否真的启动了。默认的 OpenVPN 配置通过设置定期保活 ping 来处理此问题。
只需在具有不同协议的不同端口上运行两个 opevpn 守护程序。
据我所知,一条隧道不能同时使用 udp 和 tcp。
另一方面,我使用隧道代理运行配置,支持在单独的配置文件中定义的传入 tcp 连接和 udp 连接。
这是一个老问题,但通常你不想在 TCP 下使用 OpenVPN,因为它会导致更多的网络流量。
例如使用 UDP 下的 OpenVPN,发送单用户 tcp 消息如下所示:
使用 TCP 下的 OpenVPN,每个 OpenVPN 消息也是 TCP,因此它必须得到确认,包括作为嵌入流一部分的确认。相同的消息如下所示:
TCP标头也更大一些。
使用基于 UDP 的 OpenVPN,内部 TCP 层将负责任何重传。UDP的主要缺点是连接无法判断它是否真的启动了。默认的 OpenVPN 配置通过设置定期保活 ping 来处理此问题。