第 31 章 Networking
SNMP 响应不再被超时
在以前的版本中,所有简单网络管理协议版本 1(SNMPv1 和 SNMPv2c 响应)都会针对最近记录的 SNMPv3 最大消息大小 属性进行检查。因此,带有较小的 消息大小的 SNMPv3 请求可能会导致 SNMPv1 和 SNMPv2c 批量请求超时。在这个版本中,仅针对 SNMPv3 请求检查会话最大消息大小,SNMPv1 和 SNMPv2c 响应将不再超时。(BZ#1324306)
ICMP 重定向不再会导致内核崩溃
在以前的版本中,套接字在用户空间和互联网控制消息协议(ICMP)重定向数据包的过程间被锁定,创建一个竞争条件。因此,内核会意外终止。当套接字被用户空间锁定时,跳过 ICMP 重定向数据包的过程已被修复,现在上面描述的问题不再发生。(BZ#1387485)
net.ipv4.ip_nonlocal_bind 内核参数在命名空间中设置
在以前的版本中,在某些情况下在网络命名空间内使用浮动 IP 地址失败,并显示以下错误信息:
bind: Cannot assign requested address.
bind: Cannot assign requested address.
在这个版本中,net.ipv4.ip_nonlocal_bind 参数的 kernel respects 设置在命名空间中设为
1
,浮动 IP 地址现在会如预期分配。(BZ#1363661)
netfilter REJECT
规则现在可以在 SCTP 数据包中工作
在以前的版本中,
conntrack
工具不会检查流控制传输协议(SCTP)数据包的 CRC32c
值。因此,在 SCTP 数据包上不会应用 netfilter REJECT
规则。这个问题已通过在 SCTP 数据包上设置 CHECKSUM_UNNECESSARY
来解决
。因此,Netfilter REJECT
可以生成互联网控制消息协议(ICMP)响应。(BZ#1353218)
NetworkManager
不再复制与 already-set DHCP_HOSTNAME的连接
在以前的版本中,在重启
NetworkManager
服务后,重复与 already-set DHCP_HOSTNAME 属性的连接。因此,DHCP 租期并不总是在其到期后续订。在这个版本中,连接不再被重复,在这种情况下,DHCP 租期会被正确更新。
请注意,这个修复包括忽略匹配过程中已经设置的主机名属性。为避免可能的问题,请删除带有不正确的
ipv4.dhcp-hostname
的所有未使用的连接。如需更多信息,请参阅 https://access.redhat.com/articles/2948041。(BZ#1393997)
改进了 SCTP congestion_window
管理
在以前的版本中,小型数据块导致流控制传输协议(SCTP)在 从零 浏览器恢复时错误地考虑
receiver_window
(rwnd)值。因此,窗口更新没有发送到 peer,aartificial 增长 rwnd
会导致数据包丢失。此更新正确考虑了这样的小数据块,并在重新打开窗口时忽略 rwnd
pressure 值。现在,窗口更新会被发送,并宣布的 rwnd
反映了接收缓冲区的实际状态。(BZ#1084802)
DCTCP alpha
的值现在降至 0,cw nd
的值则保持在 137 个以上。
在以前的版本中,Data TCP(DCTCP)的
alpha
值会在减法前被转换,从而导致精确丢失。因此,真实的 alpha
值不会低于 15,未协调流最终会丢弃到 congestion_window
(cwnd
)值 137。这个程序错误已通过取消 alpha
较低时的切换操作来解决。因此,Alpha 丢弃到 0,c wnd
仍是 137 个非最不协调的流。
(BZ#1370638)
现在,ss
会显示正确的 cwnd
在以前的版本中,
ss
实用程序显示来自内核的传输控制协议拥塞窗口(TCP cwnd)值,从未签名到已签名的 32 位整数执行广播。因此,一些值可能会溢出,并解释为负值。在这个版本中,ss
代码已被修复,实用程序不再显示负 cwnd 值。(BZ#1375215)
cwnd
的值在使用 DCTCP 时不再增加
在以前的版本中,在数据包丢失后,
congestion_window
(cwnd
)会意外增加。因此,数据中心 TCP(DCTCP)拥塞控制模块会变得高效,以避免拥塞,因为发生同一流程上的重复问题。在这个版本中,c wnd
值会在丢失时保存,并在恢复时恢复旧的值。因此,c wnd
保持稳定。(BZ#1386923)
修复了 negated 范围匹配
在以前的版本中,在 negated 匹配中使用一系列值永远不会评估为 true。在这个版本中,这些匹配可以正常工作。例如:
nft add rule ip ip_table filter_chain_input ip length != 100-200 drop
# nft add rule ip ip_table filter_chain_input ip length != 100-200 drop
现在可以正确地丢弃小于
100
字节或大于 200
字节的数据包。(BZ#1418967)
nmcli connection show 命令现在显示 空
和 NULL
值的正确输出
在以前的版本中,nmcli connection show 命令的输出不会显示在不同的属性中同时显示
空
和 NULL
值。因此,空值
由 --
或没有值显示。在这个版本中,ncli connection show 命令的输出都以 正常
或用户模式显示 空
和 NULL
值的 --
。
snmpd
不再拒绝来自 AgentX 子代理的大型数据包
在以前的版本中,SNMP 守护进程(snmpd)将从 AgentX 子代理发送的数据包大小限制为 1472 字节。这会导致
snmpd
会拒绝来自 AgentX 子代理的大数据包。数据包大小限制已增加到 65535 字节。因此,snmpd
不再拒绝来自 AgentX 子代理的大数据包。(BZ#1286693)
macvlan
现在可以被正确取消注册
在以前的版本中,尝试取消注册
Macvlan
驱动程序,它会失败,它带有来自或到另一个命名空间中的设备被破坏的 sysfs
链接。在这个版本中,Macvlan
已被修复,因此修复了这个程序错误。(BZ#1412898)