OpenVPN2.0配置中MTU和片段选项有什么区别?

时间:2016-03-30 10:32:45

标签: linux networking openvpn

OpenVPN2.0的配置文件有两个参数MTU和片段,我知道它们用于什么但是我找不到它们之间的确切区别。有谁能解释一下他们之间的区别?

4 个答案:

答案 0 :(得分:1)

如果您尝试发送长度为1500字节且MTU设置为1480字节的数据包,则碎片会说明该数据包是否可以分解成片段(片段)并发送或是否应该被拒绝。< / p>

使用VPN,您通常会降低MTU,因为您需要考虑每个数据包的VPN开销,而碎片可能会增加延迟。

在OpenVPN中,fragment选项将设置数据包分段之前的最大大小。但是,这仅适用于UDP流量,因此除非您特别遇到问题,否则最好不要单独使用。

根据OpenVPN manpage,并没有直接的MTU选项。

但是有一个mssfix

  

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

     

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

     

- mssfix和--fragment可以理想地一起使用,其中--mssfix将首先尝试保持TCP不需要数据包碎片,如果大数据包通过无论如何(来自TCP以外的协议), - -fragment将在内部分割它们。

     

--fragment和--mssfix都设计用于解决在OpenVPN对等体之间的网络路径上路径MTU发现被破坏的情况。

     

此类故障的常见症状是OpenVPN连接成功启动,但在活动使用期间停止。

答案 1 :(得分:1)

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

片段is implemented with openVPN while MTU`限制由IP层实现。

答案 2 :(得分:0)

MTU是最大转移单位。它是连接可容纳的最大数据包大小。第二个,片段&#39;可能是TCP&#39;不分段&#39;旗帜,但它有点模糊。如果它是什么,那就不要分裂&#39;数据包上的标志意味着即使它大于MTU,也无法将其分解,这意味着它会被丢弃。 VPN必须担心这种类型的事情,因为它们基本上采用已经处于MTU大小的数据包,然后它们添加VPN头数据,这要求他们将每个数据包分解成更小的数据包以适应大小的变化。

答案 3 :(得分:-2)

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

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

另请注意,OpenVPN网站上有更多文档和示例:http://openvpn.net/

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

说明

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

OpenVPN与OpenSSL库紧密绑定,并从中获取了大部分加密功能。

OpenVPN支持使用预共享密钥(静态密钥模式)或公共密钥安全性(SSL / TLS模式)的传统加密,使用客户端&amp;服务器证书。 OpenVPN还支持非加密的TCP / UDP隧道。

OpenVPN旨在与大多数平台上存在的TUN / TAP虚拟网络接口配合使用。

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

OPTIONS

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

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

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

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