4.7. 网络
ARM 上的 RHEL 现在在 RHEL 9.3 中完全支持 wifi 适配器
					有了这个增强,您可以启用对 arm64 平台的多个卡的 wifi 适配器的访问。
				
有关配置 wifi 连接的详情,请参阅 管理 wifi 连接。
Bugzilla:2208365[1]
NetworkManager 现在支持 resolv.conf 中的 no-aaaa 选项
					NetworkManager 现在支持在 resolv.conf 文件中添加 no-aaaa DNS 选项。通过在 DNS 选项设置中使用 no-aaaa 值,您可以禁用 IPv6 DNS 解析。
				
nmstate 现在支持混合静态 DNS 搜索和动态 DNS 名称服务器
					nmstate 框架现在支持静态域名系统(DNS)搜索域和动态 DNS 名称服务器,这些服务器是 nmstate 从动态主机配置协议(DHCP)或 autoconf 机制获得的。在以前的版本中,静态 DNS 搜索域无法与动态 DNS 名称服务器共存,因为动态配置被 nmstate 丢弃了。这通常导致网络设置和管理中不必要的复杂性和限制。此功能增强旨在在管理 DNS 配置方面带来更多的灵活性。因此,nmstate 会尝试查找网络接口,以按照以下顺序存储 DNS 配置:
				
- 首选接口,当前包含 DNS 配置,仍对 DNS 有效
 - 自动接口
 - 启用了 IP 的接口
 
请注意,这个增强不会删除从 DHCP 中学到的 DNS 名称服务器。
以下是应用此功能的 YAML 文件的一个示例:
nmstate 现在支持 bridge.vlan-default-pvid NetworkManager 配置选项
					有了此更新,您可以使用 nmstate 框架来配置 bridge.vlan-default-pvid NetworkManager 配置选项。通过使用这个选项,您可以在使用 Linux 网桥 VLAN 过滤时,为支持 VLAN 的桥接接口上的未标记流量设置默认端口 VLAN 标识符(PVID)。为此,请使用以下 YAML 配置:
				
				请注意,bridge.vlan-default-pvid 的默认值为 1。当设置为 0 启用了 VLAN 过滤时,未标记的流量将被丢弃。
			
NetworkManager 服务在 dbus 服务重启后立即重启
					在以前的版本中,由于某些原因重启 dbus 后,NetworkManager 会停止。这个行为不是最佳的,导致了连接丢失。因此,这个增强更新了 NetworkManager,使其更加强大,并使其在 dbus 重启时自动重启。
				
nm-cloud-setup 工具现在支持 IMDSv2 配置
					用户可以使用 nm-cloud-setup 工具配置带有实例元数据服务版本 2 (IMDSv2)的 AWS Red Hat Enterprise Linux EC2 实例。为了遵守改进的安全性,其限制对 EC2 元数据和新功能的未经授权的访问,需要 AWS 和红帽服务间的集成来提供高级功能。此功能增强使 nm-cloud-setup 工具能够获取并保存 IMDSv2 令牌,验证 EC2 环境,并使用安全 IMDSv2 令牌检索有关可用接口和 IP 配置的信息。
				
当使用已弃用的 ifcfg 格式时,NetworkManager 会发出通知
					ifcfg 格式的连接配置文件已在 RHEL 9 中被弃用(请参阅 ifcfg 格式的 NetworkManager 连接配置文件已弃用)。有了此更新,NetworkManager 会通知用户有关此格式的弃用:
				
如果 NetworkManager 在
/etc/sysconfig/network-scripts/目录中处理ifcfg格式的连接配置文件,它会在systemd日志中记录以下警告:Warning: the ifcfg-rh plugin is deprecated, please migrate connections to the keyfile format using "nmcli connection migrate"
Warning: the ifcfg-rh plugin is deprecated, please migrate connections to the keyfile format using "nmcli connection migrate"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您试图修改一个
ifcfg格式不支持的属性,nmcli工具会报告以下错误:Error: Failed to modify connection '<name>': failed to update connection: The ifcfg-rh plugin doesn't support setting '<property>'. If you are modifying an existing connection profile saved in ifcfg-rh format, please migrate the connection to keyfile using 'nmcli connection migrate <connection_uuid>' or via the Update2() D-Bus API and try again.
Error: Failed to modify connection '<name>': failed to update connection: The ifcfg-rh plugin doesn't support setting '<property>'. If you are modifying an existing connection profile saved in ifcfg-rh format, please migrate the connection to keyfile using 'nmcli connection migrate <connection_uuid>' or via the Update2() D-Bus API and try again.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
				由于这些增强,如果用户仍然使用或修改已弃用的 ifcfg 格式的连接配置文件,NetworkManager 现在会通知用户。
			
				有关将配置文件从 ifcfg 迁移到 keyfile 格式的详情,请参考 将 NetworkManager 配置文件从 ifcfg 迁移到 keyfile 格式。
			
NetworkManager 现在在绑定配置中支持 lacp_active 选项
					通过使用 NetworkManager,绑定配置中的 lacp_active 选项对链路聚合控制协议数据单元(LACPDU)帧提供精细控制。lacp_active 选项还调整了 LACPDU 帧的行为,并在绑定设置中控制这些帧的定期传输。要自定义网络配置,您可以通过将 lacp_active 设置为 ON 或 OFF 来启用或禁用 LACPDU 帧的定期传输。
				
NetworkManager 现在支持为绑定接口配置 ns_ip6_target 选项
					此增强通过在 NetworkManager 中为绑定接口的 ns_i6_target 选项的配置指定最多 16 个 IPv6 地址作为监控对等点,来允许设置 arp_interval 选项。在以前的版本中,无法在 NetworkManager 中指定 IPv6 监控对等点。有了此更新,您可以使用 nmcli 工具在 bond.options 参数中配置 ns_ip6_target 选项。NetworkManager 通过启用最多 16 个 IPv6 地址的规范来将此设置应用到绑定接口。此增强同样适用于 IPv4 和 IPv6 设置。
				
NetworkManager 现在支持同一网络接口上的静态和 DHCP IP 配置
					通过使用 nmstate 工具,您现在可以在 DHCP 或启用了 Ad-Hoc Network Autoconfiguration (autoconf)的接口上分配一个带有 dhcp: true 或 autoconf: true 值的静态 IP 地址。
				
				有了此增强,nmstate 支持 IP 地址的两个属性:
			
- 
						
valid_lft表示有效的生命周期(以秒为单位) - 
						
preferred_lft表示首选的生命周期(以秒为单位) 
				两个参数的默认值是 forever 表示静态。
			
				有了上述属性,nmstate 可以忽略基于 DHCP/autoconf 的 IP 地址,以避免在应用查询的状态后将动态 IP 地址转换为静态 IP。如果您的场景需要禁用带有动态 IP 地址的 DHCP/autoconf 设置,则 nmstate 会将这些动态 IP 转换为静态 IP 地址。
			
nmstate 支持 MAC 地址可识别的网络接口
					nmstate 工具支持直接到具有 MAC 地址而不是接口名称的网络接口的网络配置。
				
此增强引入了基本接口的两个属性:
- 
						
identifier: 标识网络上的name或mac-address。默认值为name。 - 
						
profile-name: 字符串 
				当 identifier 变量设置为 mac-address 值时,nmstate 使用 interface.mac-address 而不是interface.name来为特定的网络状态选择网络接口。当存储网络配置时,如果没有分配 interface.profile-name 变量,则 nmstate 优先选择 interface.profile-name 而不是 interface.name。如果您检查当前的网络状态,如果 interface.profile-name 等于 interface.name,则 interface.profile-name 会保持隐藏状态。
			
NetworkManager 支持定义在多少次 ARP 检查失败后,绑定驱动程序将端口标记为 down
					此增强将arp_missed_max 选项添加到 NetworkManager 中的绑定连接配置文件中。如果您使用地址解析协议(ARP)监控器来检查绑定的端口是否已启动,您可以设置 arp_missed_max 来定义多少次检查失败后,绑定驱动程序将端口标记为 down。
				
NetworkManager 支持指定与链接相关的属性
此增强在 NetworkManager 连接配置文件中添加了以下网络链接属性:
- 
						
link.tx-queue-length- 传输(TX)队列长度的大小,以数据包数为单位。 - 
						
link.gro-max-size- 设备接受的通用接收卸载(GRO)数据包的最大大小,以字节为单位。 - 
						
link.gso-max-segments- 设备接受的通用段卸载(GSO)数据包的最大段数。 - 
						
link.gso-max-size- GSO 数据包的最大大小,以字节为单位。 
				在以前的版本中,您只能使用 ip 命令,或使用 NetworkManager 分配程序脚本中的此类命令来配置这些内核设置。有了这个增强,您可以直接在连接配置文件中配置这些设置。
			
				请注意,NetworkManager 仅在连接配置文件中支持keyfile 格式的这些属性,而不是已弃用的 ifcfg 格式。
			
nmstate API 支持 dhcp-send-hostname 和 dhcp-custom-hostname DHCP 选项
					有了此增强,nmstate 工具支持在连接文件中以下两个 DHCP 选项的配置:
				
- 
						
dhcp-send-hostname:true或false值。如果 DHCP 请求需要主机名或完全限定域名(FQDN)选项,则会从该选项设置主机名。默认值是true。 dhcp-custom-hostname: <string>。使用这个选项在 DHCP 请求中配置主机名或 FQDN 选项,值类型是字符串。- 对于 DHCPv4 网络协议
 
- 
						如果主机名是 FQDN,请参阅 RFC 4702 中的 
完全限定域名(FQDN),选项(81)。 如果主机名不是 FQDN,请参阅 RFC 2132 中的
主机名, 选项(12)。- 对于 DHCPv6 网络协议
 
支持自定义字符串,空域名,覆盖 DHCP 请求的主机名。请参阅 RFC 4704 中的
完全限定域名(FQDN), 选项(29)。
NetworkManager rebase 到版本 1.44.0
					NetworkManager 软件包已升级到上游版本 1.44.0,与之前的版本相比,它提供了一些改进和 bug 修复:
				
- 与链接相关的属性已添加到 NetworkManager 中。
 - 
						
arp_missed_max、lacp_active和ns_ip6_target属性已添加到绑定连接配置文件中。 - 
						现在,您可以在 
ipv6.dhcp-pd-hint连接属性中设置 DHCPv6 前缀委托提示。 - 
						在 
/etc/NetworkManager/NetworkManager.conf文件的[keyfile]部分中启用新的rename参数会导致 NetworkManager 在/etc/NetworkManager/system-connections/中重命名连接配置文件(如果更改了配置文件名称(connection.id))。如果外部应用程序或脚本依赖于文件名,请不要启用此参数。 - 当您设置包含非公共顶级域(TLD)的主机名时,NetworkManager 现在使用此 TLD 作为 DNS 搜索域,而不是完整主机名。
 - 
						NetworkManager 现在从 
/etc/NetworkManager/NetworkManager.conf文件中的[global-dns]部分中应用 DNS 选项。 - 为了避免与其他依赖服务的竞争条件,NetworkManager 现在仅在填充 D-Bus 树后获取 D-Bus 名称。请注意,这可能会在 NetworkManager 启动时添加一个延迟。
 - 
						NetworkManager 现在向 
Update2()D-Bus 调用添加了一个version-id参数,以防止并发配置文件修改。 - NetworkManager 不再使用临时 IPv6 地址从 DNS 解析系统主机名。
 - 为了防止多连接配置文件时的意外行为,NetworkManager 现在跟踪每个设备和连接剩余的自动连接重试次数,而不是每个连接。
 - 
						NetworkManager 使用内核的 
netlink接口而不是sysfs文件系统来设置 VLAN 过滤选项。 - 
						
nm-cloud-setup工具现在在 Amazon EC2 上支持实例元数据服务版本 2 (IDMSv2)。 - 
						用户现在可以在 
nmtui应用程序中启用和禁用 wifi 和 Wireless Wide Area Networks (WWAN)。 - 
						bond、bridge 和 team 连接现在使用 
/etc/NetworkManager/NetworkManager.conf文件的[main]部分中的ignore-carrier=no设置。 
SCTP rebase 到 RHEL 9 的内核网络树的最新版本
Stream Control Transport Protocol (SCTP)网络子系统中的显著变化包括:
- 虚拟路由和转发(VRF)支持复杂网络环境中的段和隔离 SCTP 流量。
 - 
						新的流调度程序(
fair capacity,weighted fair queueing)以确保网络中有效的和相等的资源分配。 
MPTCP rebase 到 RHEL 9 的内核网络树的最新版本
多路径 TCP (MPTCP)协议扩展中的显著变化包括:
- 支持 TCP fastopen (TFO)扩展,包括客户端支持。此功能为您的网络提供延迟、效率和性能改进。
 - 支持多个混合 IPv4/IPv6 子流,以便在同时使用两个 IP 版本的网络中具有更大的灵活性和适应性。
 
Bugzilla:2193330[1]
xdp-tools 软件包 rebase 到版本 1.4.0
					xdp-tools 软件包已升级到 1.4.0 版本,其提供多个 bug 修复和增强。主要变更包括:
				
- 
						
xdp-bench工具获得对多缓冲 eXpress Data Path (XDP)的支持,以及对内核中xdp_load_bytes ()帮助程序进行基准测试的支持。此功能允许使用大型最大传输单元(MTU)进行网络基准测试。 - 
						改进了 
xdp-tools的命令行工具的锁,以便在工具未完全退出时防止过时的锁。 - 
						
libxdp库包含一个新的xsk_umem__create_with_fd ()API,该 API 接受一个已打开的AF_XDP套接字的额外文件描述符。当进程没有CAP_NET_RAW特权时,您可以使用此函数替换常规xsk_umem__create()函数。 
iproute rebase 到版本 6.2.0
					iproute 软件包已升级到上游版本 6.2.0,与之前的版本相比,它提供了一些改进和 bug 修复。最显著的更改有:
				
- 
						新的 
ip stats命令管理和显示接口统计信息。默认情况下,ip stats show命令显示所有网络设备(包括网桥和绑定)的统计信息。您可以使用dev和group选项过滤输出。详情请查看ip-stats (8)手册页。 - 
						
ss工具现在提供-T(--threads)选项来显示线程信息,这扩展了-p(--processes)选项。详情请查看ss (8)手册页。 - 
						您可以使用新的 
bridge fdb flush命令删除与提供的选项匹配的特定转发数据库(fdb)条目。详情请查看bridge (8)手册页。 
Jira:RHEL-428[1]
内核支持以特定顺序激活绑定端口
					有了这个增强,如果您在 active-backup 中配置了绑定、balance-tlb 或 balance-alb 模式,则内核的 netlink 接口支持在每个端口上设置优先级。优先级值使用 32 位整数,较高的值表示较高的优先级。现在,您可以按特定顺序激活绑定端口。
				
				要使用这个功能,您可以在创建或修改 NetworkManager 端口连接配置文件时设置 bond-port.prio 属性来配置优先级。
			
Bugzilla:2092194[1]
firewalld 现在避免不必要的防火墙规则刷新
					随着 RHBA-2023:7748 的发布,建议升级 firewalld 服务,如果满足以下条件,则不会从 iptables 配置中删除所有现有的规则:
				
- 
						
firewalld使用nftables后端。 - 
						没有使用 
--direct选项创建的防火墙规则。 
这个变化旨在减少不必要的操作(防火墙规则刷新),并改进了与其他软件的集成。
Jira:RHEL-14694[1]
为 VLAN 接口引进新的 nmstate 属性
					使用此 nmstate 框架的更新,引进了以下 VLAN 属性:
				
- 
						
registration-protocol: VLAN 注册协议。有效值为gvrp(GARP VLAN Registration Protocol),mvrp(Multiple VLAN Registration Protocol)和none。 - 
						
reorder-headers:重新排序输出数据包标头。有效值为true和false。 - 
						
loose-binding:放松接口到其主设备的操作状态的绑定。有效值为true和false。 
您的 YAML 配置文件类似以下示例:
Jira:RHEL-19142[1]