Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在OpenVPN2.0配置中,MTU和fragment选项之间有什么区别?_Linux_Networking_Openvpn - Fatal编程技术网

Linux 在OpenVPN2.0配置中,MTU和fragment选项之间有什么区别?

Linux 在OpenVPN2.0配置中,MTU和fragment选项之间有什么区别?,linux,networking,openvpn,Linux,Networking,Openvpn,OpenVPN2.0的配置文件有两个参数MTU和fragment,我知道它们的用途,但我无法找出它们之间的确切区别。谁能给我解释一下他们之间的区别吗 如果您尝试发送长度为1500字节的数据包,而MTU设置为1480字节,则碎片会显示该数据包是否可以拆分(碎片)并发送,或者是否应该拒绝该数据包 对于VPN,您通常会减少MTU,因为您需要考虑每个数据包的VPN开销,而碎片可能会增加延迟 在OpenVPN中,片段选项将设置数据包在片段化之前可以达到的最大大小。但是,这只适用于UDP通信,因此,除非您特

OpenVPN2.0的配置文件有两个参数MTU和fragment,我知道它们的用途,但我无法找出它们之间的确切区别。谁能给我解释一下他们之间的区别吗

如果您尝试发送长度为1500字节的数据包,而MTU设置为1480字节,则碎片会显示该数据包是否可以拆分(碎片)并发送,或者是否应该拒绝该数据包

对于VPN,您通常会减少MTU,因为您需要考虑每个数据包的VPN开销,而碎片可能会增加延迟

在OpenVPN中,片段选项将设置数据包在片段化之前可以达到的最大大小。但是,这只适用于UDP通信,因此,除非您特别对此有问题,否则最好不要干涉

但是,根据最新的数据,没有直接的MTU选项

然而,有一个解决方案

向通过隧道运行的TCP会话宣布,它们应该限制其发送数据包的大小,以便在OpenVPN封装它们之后,OpenVPN发送给对等方的UDP数据包大小不会超过最大字节数。 max参数的解释方式与--link mtu参数相同,即添加封装开销后的UDP数据包大小,但不包括UDP报头本身

只有当您使用UDP协议进行OpenVPN对等通信时,--mssfix选项才有意义,即--proto UDP

--mssfix和--fragment可以理想地一起使用,其中--mssfix将首先尝试阻止TCP需要数据包碎片,如果大数据包通过任何方式(来自TCP以外的协议),--fragment将在内部对它们进行碎片化

--fragment和--mssfix设计用于解决OpenVPN对等点之间的网络路径上的路径MTU发现中断的情况

这种故障的常见症状是OpenVPN连接成功启动,但在活动使用期间暂停


最大传输单元(MTU)是最大大小的数据包或帧,以八位字节(八位字节)为单位,可在基于数据包或帧的网络(如互联网)中发送。Internet的传输控制协议(TCP)使用MTU确定任何传输中每个数据包的最大大小

OpenVPN是James Yonan开发的一个开源VPN守护程序。由于OpenVPN试图成为一种提供极大灵活性的通用VPN工具,因此本手册页面上有很多选项。如果您是OpenVPN新手,您可能希望跳过前面的示例部分,在那里您将看到如何在命令行上构建简单的VPN,而不需要配置文件

还请注意,OpenVPN网站上有更多文档和示例:

如果您想查看本手册的较短版本,请参阅openvpn使用消息,该消息可以通过运行openvpn而不使用任何参数来获得

描述

OpenVPN是一个健壮且高度灵活的VPN守护进程。OpenVPN支持SSL/TLS安全、以太网桥接、通过代理或NAT的TCP或UDP隧道传输、支持动态IP地址和DHCP、可扩展到数百或数千个用户以及可移植到大多数主要操作系统平台

OpenVPN与OpenSSL库紧密绑定,并从中派生出许多加密功能

OpenVPN支持使用预共享密钥(静态密钥模式)或使用客户端和服务器证书的公钥安全性(SSL/TLS模式)进行常规加密。OpenVPN还支持非加密的TCP/UDP隧道

OpenVPN旨在与大多数平台上存在的TUN/TAP虚拟网络接口协同工作

总体而言,OpenVPN旨在提供IPSec的许多关键功能,但占用的空间相对较轻

选择权

OpenVPN允许在命令行或配置文件中放置任何选项。尽管所有命令行选项前面都有一个双前导破折号(“-”),但在配置文件中放置选项时,可以删除此前缀。 --帮助 显示选项。 --配置文件 从文件中加载其他配置选项,其中每行对应于一个命令行选项,但前导“--”已删除。 如果--config file是openvpn命令的唯一选项,则可以删除--config,并将该命令作为openvpn文件给出

请注意,配置文件可以嵌套到合理的深度

双引号字符(“”)可用于括起包含空格的单个参数,第一列中的“#”或“;”字符可用于表示注释


请注意,OpenVPN 2.0及更高版本执行基于反斜杠的shell转义,因此应遵守以下映射:

MTU是最大传输单位。这是连接将容纳的最大数据包大小。第二个“fragment”可能是TCP的“donotfragment”标志,但它有点模糊。如果是这样的话,数据包上的“请勿分段”标志意味着您不能将其拆分,即使它比MTU大,也意味着它会被丢弃。VPN必须担心这类事情,因为它们基本上接收已经达到MTU大小的数据包,然后添加VPN报头数据,这要求它们将每个数据包分解为更小的数据包,以适应大小的变化。

两者都指定通过通道发送的数据报的最大大小`

片段
是用openVPN实现的

虽然
MTU`限制是由IP层实现的。

这是否意味着必须始终将碎片设置为小于MTU?这更多的是OpenVPN的历史,而不是问题的答案。因此,我们应该定义MTU始终大于或等于碎片+OpenVPN_头。我说的对吗?在正常情况下