SevOne NMS 高级网络配置指南

关于

本文档描述了 SevOne 虚拟设备的安装。 虚拟设备可以是 SevOne Performance Appliance Solution (vPAS) 或 SevOne Dedicated NetFlow Collector (vDNC) ,每个都运行 SevOne Network Management Solution (NMS) 软件。

重要信息: 启动 SevOne NMS 6.7.0, MySQL 已移至 MariaDB 10.6.12
注: 术语用法 ...

在本指南中,如果存在,

  • [对 master的任何引用] 或
  • [如果 CLI 命令(用于 NMSKubernetesRedis )包含主站 ]和/或
  • [其输出包含 master ]],它表示领导者控制平面

如果提到奴隶工人 ,则是指追随者代理人

配置网络绑定

重要说明:

由于绑定是也依赖于网络基础结构的网络级别配置,因此无论使用哪种绑定方式,只要 IP 地址在网络上可用,它对 NMS 操作的影响都是有限的。

SevOne 仅测试了 active-backup 方式,以下步骤基于此配置。 如果您希望使用受操作系统及其基础结构支持的备用绑定方式,那么可以通过参考其操作系统文档来配置相同的方式。

结合方式可以是下列其中一种。 如果您希望使用 active-backup以外的方式,请根据需要进行调整。 确保基础结构支持所选绑定方式。 请参阅以下链接以了解详细信息。

方式 描述
0(余额-rr) 循环法策略: 按顺序发送从第一个可用的 跟随者 到最后一个的信息包。 此方式提供负载均衡和容错。
1 (活动-备份) 主动-备份策略: 绑定中只有一个 跟随者 处于活动状态。 当且仅当活动的 跟随者 发生故障时,另一个 跟随者 才会变为活动状态。 绑定的 MAC 地址仅在一个端口 (网络适配器) 上对外可见,以避免混淆交换机。 此方式提供容错。 主选项会影响此方式的行为。
2(余额-xor) XOR 策略: 基于 [(源 MAC 地址 XOR ' d with destination MAC address) modulo 跟随者 计数] 进行传输。 这将为每个目标 MAC 地址选择相同的 跟随者 。 此方式提供负载均衡和容错。
3 (广播) 广播策略: 在所有 跟随者 接口上传输所有内容。 此方式提供容错。
4 ( 802.3ad )

IEEE 802.3ad 动态链路聚集: 创建共享相同速度和双工设置的聚集组。 根据 802.3ad 规范使用活动聚集器中的所有 关注者

先决条件

  • 基本驱动程序中的 ethtool 支持,用于检索每个 跟随者的速度和双工。
  • 支持 IEEE 802.3ad 动态链路聚集的交换机。 大多数交换机将需要某种类型的配置来启用 802.3ad 方式。
5(余额-特长)

自适应传输负载均衡: 不需要任何特殊交换机支持的通道绑定。 输出流量根据每个 跟随者上的当前负载 (相对于速度计算) 进行分布。 当前 跟随者接收入局流量。 如果接收 跟随者 失败,那么另一个 跟随者 将接管失败的接收 跟随者的 MAC 地址。

预备条件

  • 基本驱动程序中的 ethtool 支持用于检索每个 跟随者的速度。
6(余额调整数) 自适应负载均衡: 包括针对 IPV4 流量的 balance-tlb 和 receive 负载均衡 (rlb) ,并且不需要任何特殊交换机支持。 接收负载均衡是通过 ARP 协商实现的。 绑定驱动程序拦截本地系统发送的 ARP 应答,并使用绑定中某个 追随者 的唯一硬件地址覆盖源硬件地址,以便不同同级对服务器使用不同的硬件地址。

创建绑定界面

使用 NMCLI

执行以下步骤。

  1. 使用ssh支持身份登录SevOneNMS 设备。
    ssh support@<NMS appliance>
  2. 创建绑定接口。 例如 bond0.
    示例
    nmcli connection add type bond con-name bond0 ifname bond0 \
    ip4 10.168.116.5/22 gw4 10.168.116.1 ipv4.method manual \
    ipv6.method ignore \
    bond.options "mode=active-backup,miimon=100,downdelay=400,updelay=400"
                    
    连接 ' bond0 ' ( e8048f88-80e5-43c1-a981-3bcb9b8ccc69 ) 已成功添加。
    
  3. 将第一个接口添加到 bond0 的第一个接口。
    示例
    nmcli connection add type bond-slave ifname ens160 master bond0
                    
    连接 ' bond-slave-ens160 ' ( fe926d34-0e12-46e3-a07c-fa78e5e0c8a3 ) 已成功添加。
  4. 为第一个从属接口建立连接。
    示例
    nmcli conn up bond-slave-ens160
                    
    连接成功激活(D-Bus 激活路径: /org/freedesktop/NetworkManager/
    ActiveConnection/51).
  5. 将第一个 跟随者 接口设置为 bond0 接口。
    nmcli device modify bond0 +bond.options "primary=ens160"
                  
    连接成功重新应用到设备 " bond0 "。
  6. 对于每个其他接口,将其添加为 跟随者 ,然后将其 启动
    
    nmcli connection add type bond-slave ifname ens33 master bond0
                  
    连接 ' bond-slave-ens33 ' ( 073517f9-723a-4abe-a97e-fc10077f0ef3 ) 已成功添加。
    
    
    nmcli connection up bond-slave-ens33
                  
    连接成功激活(D-Bus 激活路径: /org/freedesktop/NetworkManager/
    ActiveConnection/51).

使用 NMTUI

  1. 使用ssh支持身份登录SevOneNMS 设备。
    ssh support@<NMS appliance>
  2. 输入 NMTUI
    nmtui

    nmtuiEditConnection

  3. 选择 编辑连接 ,然后单击 <RETURN>
  4. 浏览至 <Add> ,然后单击 <RETURN>
  5. 新建连接列表中选择邦德

    nmtuiAddBond

  6. 浏览至 <Create> ,然后单击 <RETURN>
  7. 您正在 " 编辑连接 " 中创建新的绑定接口。

    nmtuiEditBond

    注: 为设置中的每个接口添加 跟随者 ,更改接口方式,然后调整其他设置。
  8. 添加追随者时,从新建连接列表中选择以太网

    nmtuiAddEthernet

  9. 添加正确的 Device 名称。 设备名必须是接口名。 例如 ens160, eth1, eth2.

    nmtuiSlaveDeviceName

  10. 浏览至 <OK> 以保存配置。
  11. 选择激活连接 ,确认所有连接都已激活

    nmtuiActivateConnection

  12. 所有活动的 跟随者/绑定 接口都显示星号 (*) 它的名字左边 如果没有看到星号,请转到连接并激活它。

    nmtuiConnectionsActive

  13. 执行以下命令以查看 活动 网络连接的列表。 所有从属接口以及 bond0 接口必须出现在列表中。
    示例
    nmcli connection
                    
    名称 uuid 类型 设备
    bond0 9aa751f6-828d-42dc-90ad-764ee6eb1b8f 纽带 bond0
    ens160 e2f7df86-55c8-4227-a00d-0f048e030b1a 以太网 ens160
    有线连接 1 69c7ab6d-d760-3ba3-acfc-9ff7f05e6453 以太网 ens192
    有线连接 2 3a9ca5e0-9c9e-3bee-9329-d3482093de2c 以太网 ens224
    以太网连接 1 8331fa43-b8fb-4afe-95e8-a801508d3d8b ethernet --
    
  14. 验证配置。
    警告: 以下示例中的输出适用于 active-backup 方式。 对于不同的部署,绑定选项/配置可能有所不同。 建议根据选择的方式验证配置。

    示例

    
    cat /etc/sysconfig/network-scripts/ifcfg-bond0
                  
    BONDING_OPTS=" downdelay=400 miimon=100 mode=active-backup updelay=400 "
    类型=债券
    BONDING_MASTER=是
    代理_方法=无
    BROWSER_ONLY=否
    BOOTPROTO=none
    IPADDR=10.168.116.5
    PREFIX=22
    GATEWAY=10.168.116.1
    DEFROUTE=是
    IPV4_FAILURE_FATAL=no
    IPV6INIT=no
    NAME=bond0
    UUID=f3fa06e0-66b7-47d6-aff3-3a3db27ba596
    DEVICE=bond0
    ONBOOT=yes
    
    cat /proc/net/bonding/bond0
                  
    以太网通道绑定驱动程序: v3.7.1 (2011 年 4 月 27 日)
    绑定模式:容错(主动备份)
    主从机: ens160 (始终为 primary_reselect)
    当前激活的从属设备: ens160
    MII 状态:启动
    MII 轮询间隔(毫秒):100
    上升延迟(毫秒):400
    下降延迟(毫秒):400
    从属接口: ens160
    MII 状态:启动
    速度: 10000 Mbps
    双工:全
    Link Failure Count: 0
    永久 HW 地址: 00:50:56:8c:11:13
    从属队列 ID: 0
    从属接口: ens33
    MII 状态:启动
    速度: 1000 Mbps
    双工:全
    Link Failure Count: 0
    永久 HW 地址: 00:50:56:8c:2c:d0
    从属队列 ID: 0
  15. 从另一个设备,验证您是否能够对以上示例中创建的 bond0 的 IP 地址执行 ping 操作。
    
    ping 10.168.116.5
                  
    PING 10.168.116.5 ( 10.168.116.5 ):56 数据字节
    64 字节来自 10.168.116.5: icmp_seq=0 ttl=63 time=0.293 ms
    64 字节来自 10.168.116.5: icmp_seq=1 ttl=63 time=0.331 ms
    64 字节来自 10.168.116.5: icmp_seq=2 ttl=63 time=0.249 ms
    64 字节来自 10.168.116.5: icmp_seq=3 ttl=63 time=0.285 ms
    重要信息: 如果 ping 未响应,请 重新启动 要绑定的设备上的网络服务。
    systemctl restart network

配置虚拟 IP(VIP)

简介

重要信息: 已知问题: NMS-78593

从 SevOne NMS 6.1 发行版起, VIP 的新配置和现有/升级配置不起作用。 请联系 SevOne 支持人员 以获取临时修订。 此问题不适用于 SevOne NMS <= v5.7.2.32 版本。

注: "配置虚拟 IP (VIP)" 部分适用于 IPv4IPv6

在 SevOne NMS 中,轮询设备或收集流的角色分配给 同级。 同级可以是:

  • 无弹性或无弹性的独立设备
  • 一对双设备,用于实现对等节点的弹性和可用性

为了实现 SevOne NMS 同级的弹性,会将备用辅助设备 (通常称为轮询同级的热备用设备 (HSA) 或专用网络流收集器 (HDNC) 的热备用设备) 与主设备一起添加到一个对中。

通常, 设备 (PAS 或 DNC) 承担 活动 角色,并负责从该同级上指定的设备进行轮询和/或流收集。 最初, 辅助 设备承担 被动 角色并处于备用状态,同时通过从主设备复制来不断更新该设备,同时始终确保主设备可用并且能够与该对进行通信。

如果主设备由于任何原因 (在故障转移时间设置的指定持续时间之后) 变为不可用,那么 辅助 设备可能会承担活动角色,从而使该对等设备能够继续轮询和/或接收流并继续执行 NMS 功能。

出于集群中所有内部 NMS 操作和对等通信的目的, SevOne NMS 使用在服务器的接口上连接和配置的设备的基本 IP 地址。 用户可以通过访问主设备或辅助设备的基本 IP (或通过已解析的主机名) 来访问 SevOne NMS 图形用户界面门户网站,而不考虑设备是否处于主动或被动角色。

SevOne NMS 同级与轮询的设备的交互,或者对于向 SevOne NMS 发送流的设备,该对中活动设备的基本 IP 地址用于通信。 如果发生故障转移,或者主设备与辅助设备之间存在网络断开连接的情况,那么会将被动设备提升为该同级的主动角色。 在将主动角色从主设备过渡到辅助设备或从主设备过渡到辅助设备的情况下,只要设备能够通过所需网络端口与主/辅助设备的基本 IP 地址进行通信, NMS 服务的过渡对用户是透明的。

在 SevOne NMS 中,基本 IP 地址是必需的,并且已配置并绑定到主接口。 在不同的操作或业务用例场景中,用户可能需要使用未绑定到任何单个服务器物理接口的称为虚拟 IP (VIP) 地址的单个浮动 IP 地址来访问 PAS/HSA 对中的 SevOne NMS 同级。

使用案例

下面是一些常见的用例场景,用户可能更愿意使用单个虚拟 IP 地址访问 NMS 对等对。

单点访问 NMS 集群图形用户界面门户网站

可以使用集群中任何成员设备的 IP 地址或 FQDN 来访问 SevOne NMS 集群,以进行图形用户界面门户网站访问。 SevOne NMS 管理员可能希望使用指向单个同级的单个 IP 地址或 FQDN 来提供对集群的访问权-它可能是集群中的集群领导者同级或任何其他同级。 该特定对上的 VIP 配置可确保始终通过活动轮询同级维护对 SevOne NMS 的访问。

通过单个 IP 地址轮询设备

通常,在对等对上轮询的设备要求该设备能够通过该对的主设备和辅助设备与 SevOne NMS 进行通信。 例如,在某些配置中,当用户具有设备所需的严格访问控制时,它要求该设备同时为主 NMS 设备和辅助 NMS 设备配置访问控制表 (ACL)。 这会增加管理开销,尤其是在整个环境中有数千个设备的情况下。

用户希望能够使用单个 IP 地址轮询 SevOne NMS 同级上的设备,而无论主设备或辅助设备在任何给定时间是活动轮询器。 在此类场景中,可以在 SevOne NMS 中为同级配置虚拟 IP ,并且只要虚拟 IP 与所需端口上的设备具有网络连接,就可以通过 VIP 进行轮询。

重要信息: SevOne NMS 中的缺省路由始终期望通过基本 IP 地址。 SevOne NMS 支持将缺省路由更改为任何 SevOne NMS 同级上的虚拟 IP。 如果网络策略要求通过虚拟 IP 路由设备流量,因为它不允许该设备流量通过设备的基本 IP ,那么您将需要在 SevOne NMS 对等设备上设置静态路由,以通过虚拟 IP 实现与设备的通信。

在流设备上配置的单个 IP 地址上将网络流发送到 SevOne NMS

将网络流发送到 SevOne NMS 的流设备需要配置设备以将流同时发送到 SevOne NMS 辅助 设备,以确保发生故障转移时流可用。

为了避免将相同流发送到两个不同服务器的额外配置和额外带宽需求,用户可能更愿意配置流设备以将流发送到单个 IP 地址。 在这种情况下,用户可以在 SevOne NMS 上配置 VIP ,并在其端配置网络流设备以将流发送到 VIP 地址。 当设备将流发送到 VIP 时,只要用户网络允许从设备到配置为在 SevOne NMS 上接收流的特定端口上的 SevOne NMS 对等设备的 NetFlow 流量, NMS 对等设备上就不需要其他静态路由配置。

与 SevOne NMS 的第三方应用程序集成

用户可能具有使用 SevOne API 与 SevOne NMS 集成的第三方应用程序。 如果用户的第三方应用程序能够跟踪一对 SevOne NMS 设备的故障,以便在活动设备发生故障或变为不可用时继续向可用设备发送请求,这可能是一项挑战。

用户可以在目标 NMS 对等对上配置 VIP ,然后可以将第三方应用程序配置为将 API 请求发送到对等的所需 VIP 地址。

贵宾通道

先决条件

  • SevOne 网络管理系统 6.x
  • SevOne NMS 主 (PAS) IP 地址
  • SevOne NMS 辅助 (HSA) IP 地址
  • PS/HSA 的网络地址
  • PS/HSA IP 地址的网络 IP 前缀
  • PS/HSA 网络网关的 IP 地址
  • SevOne 将配置虚拟 IP 的对的 NMS 对等标识
  • 要在 NMS 对上配置的虚拟 IP 地址
  • 要在 SevOne NMS 对上配置的虚拟 IP 地址网络 IP 前缀
  • 虚拟 IP 的网络地址
  • 集群负责人活动设备的 IP 地址
  • 虚拟 IP 的静态路由信息 (可选,仅当需要定制静态路由时)
    重要信息: 仅独立同级不支持虚拟 IP 的配置。 在该对等对上配置虚拟 IP 之前,必须将辅助设备添加到主设备。

    如果使用虚拟 IP 配置了 SevOne NMS 同级,那么需要将静态 IP 配置用于 NMS 网络配置中的基本 IP 和虚拟 IP。 使用 DHCP 可能会自动覆盖网络配置设置并导致意外行为,例如,除去特定于虚拟 IP 的配置。

    基本 IP 地址配置为网络接口上的 缺省 索引 (IPADDR) ,然后将虚拟 IP 设置为 IPADDR1PREFIX1上的 下一个 索引。

    SevOne 仅在 SevOne NMS 中测试了虚拟 IP 配置,其中虚拟 IP 地址与基本 IP 地址属于同一网络子网。 可能有各种不同的客户网络场景特定于不同的环境,如果虚拟 IP 位于不同的子网上,那么可以工作,前提是客户网络支持网络/防火墙级别的此类配置。 这甚至可能需要在 SevOne NMS 上配置额外的定制静态路由以满足此需求。 但是,这不在 SevOne 测试的配置范围内。

    SevOne NMS 中的 缺省路由 始终期望通过基本 IP 地址。 无法将缺省路由更改为在任何 SevOne NMS 同级上使用虚拟 IP。

配置步骤

要在SevOneNMS 上配置虚拟 IP,最简单的方法是以需要配置虚拟 IP 的配对和辅助配对的支持用户身份打开命令行界面 (CLI) 会话。 执行以下步骤。

创建变量

通过使用适用于您的设置的特定值在单引号中填充变量来创建变量。 必须在 PAS 和 HSA 上创建和设置这些变量。


pas_ip='<IP address of the PAS Appliance>'

hsa_ip='<IP address of HSA Appliance>'

base_network='<Base IP Network address>'

base_prefix='<Base Network IP address Network Prefix>'

base_gateway='<Base Network Default Gateway IP address>'

peer_id=$(mysqlconfig -Ne "select server_id from net.peers where \

primary_ip = HEX(INET6_ATON(\"$pas_ip\" )) ")

vip='<Virtual IP address>'

vip_prefix='<Virtual IP address Network Prefix>'

vip_network='<Virtual IP Network Address>'

# Optional (only required for Static Routes)
ext_network='<IP address for External Device/Application Network requiring static route>'

ext_prefix='<IP address Network Prefix for External Network>'

vip_gateway='<IP address of the Gateway for the External Network>'

用于考绩制度

使用ssh支持身份登录SevOneNMS 设备 (PAS)。

ssh support@<PAS appliance>

示例


PAS$ pas_ip='10.168.117.48'

PAS$ hsa_ip='10.168.117.58'

PAS$ base_network='10.168.116.0'

PAS$ base_prefix='22'

PAS$ base_gateway='10.168.116.1'

PAS$ peer_id=$(mysqlconfig -Ne "select server_id from net.peers where \
primary_ip = HEX(INET6_ATON(\"$pas_ip\" )) ")

PAS$ vip='10.168.118.64'

PAS$ vip_prefix='22'

PAS$ vip_network='10.168.116.0'


# Optional (only required for Static Routes)
PAS$ ext_network='10.128.24.0'

PAS$ ext_prefix='22'

PAS$ vip_gateway='10.168.116.3'

表示 HSA

使用ssh支持身份登录SevOneNMS 设备 (HSA)。

ssh support@<HSA appliance>

示例


HSA$ pas_ip='10.168.117.48'

HSA$ hsa_ip='10.168.117.58'

HSA$ base_network='10.168.116.0'

HSA$ base_prefix='22'

HSA$ base_gateway='10.168.116.1'

HSA$ peer_id=$(mysqlconfig -Ne "select server_id from net.peers where \
secondary_ip = HEX(INET6_ATON(\"$hsa_ip\" )) ")

HSA$ vip='10.168.118.64'

HSA$ vip_prefix='22'

HSA$ vip_network='10.168.116.0'


# Optional (only required for Static Routes)
HSA$ ext_network='10.128.24.0'

HSA$ ext_prefix='22'

HSA$ vip_gateway='10.168.116.3'
使用虚拟 IP 的网络前缀

要将虚拟 IP 添加到连接,您需要虚拟 IP (VIP) 地址和网络前缀。 要配置虚拟 IP ,必须使用网络前缀,因为无法使用网络掩码。

  • PREFIXn -用于除 别名ippp 设备以外的所有配置的网络前缀。 当同时设置 PREFIX 和 NETMASK 时,它优先于 NETMASK。
  • NETMASKn -用于 别名ippp 设备的子网掩码。 对于所有其他配置,请改为使用 PREFIX

在主 (PAS) 和辅助 (HSA) 上配置虚拟 IP

在 PAS 和 HSA 设备上执行以下步骤以在 NMS 对上配置虚拟 IP。

注: 本部分假定 PAS 是 PAS/HSA 对的当前 活动设备
检查现有网络连接

用于考绩制度

PAS$ nmcli connection show

示例: 网络连接

PAS$ nmcli connection show
NAME   UUID                                 TYPE     DEVICE
ens160 afe20483-ba17-4955-aed6-1706093e8b88 ethernet ens160

表示 HSA

HSA$ nmcli connection show

示例: 网络连接

HSA$ nmcli connection show
NAME   UUID                                 TYPE     DEVICE
ens160 d6ad7e7f-87bb-42f4-9481-bff76859081d ethernet ens160
将相应的网络连接名称设置为变量

在以下示例中,连接名称为 ens160。 您可以根据先前命令的输出将网络连接名称更改为特定于您的环境的名称。

注: 必须通过使用正确的连接名称设置变量来使用正确的连接,因为环境中可能存在其他活动连接。 例如, SevOne NMS 上的 Docker 设置。

连接名称在物理 PAS 或. vPAS. 在上面的示例中,它是 ens160 但也可以是任何其他有效的网络连接名称,例如 en0 为例。

示例: 针对 PAS

PAS$ connection_name='ens160'

示例: 对于 HSA

HSA$ connection_name='ens160'
复制被动设备 VIP 配置的当前连接配置文件

复制当前配置文件,该文件将在设备为处于 跟随者复制方式的 被动 设备时使用。

示例: 针对 PAS

PAS$ cp -a /etc/sysconfig/network-scripts/ifcfg-${connection_name} \
/etc/sysconfig/network-scripts/vip-disabled-ifcfg-${connection_name}

示例: 对于 HSA

HSA$ cp -a /etc/sysconfig/network-scripts/ifcfg-${connection_name} \
/etc/sysconfig/network-scripts/vip-disabled-ifcfg-${connection_name}
更新网络连接以添加活动设备 VIP 配置的虚拟 IP 地址和网络前缀

必须使用虚拟 IP 地址及其网络前缀来更新 检查现有网络连接 中标识的活动连接。 通过执行以下命令,它将更新网络配置文件,但不会自动计算 IP 子网以标识网络前缀。

注意: 您可以使用在线 IP 子网计算器 ( http://www.calculator.net/ip-subnet-calculator.html ) 或类似工具来确定网络前缀。

设置虚拟 IP 地址和网络前缀

表示 IPv4

示例: 针对 PAS

PAS$ nmcli connection modify ${connection_name} +ipv4.addresses "$vip/$vip_prefix"

示例: 对于 HSA

HSA$ nmcli connection modify ${connection_name} +ipv4.addresses "$vip/$vip_prefix"

表示 IPv6

示例: 针对 PAS

PAS$ nmcli connection modify ${connection_name} +ipv6.addresses "$vip/$vip_prefix"

示例: 对于 HSA

HSA$ nmcli connection modify ${connection_name} +ipv6.addresses "$vip/$vip_prefix"

配置网络连接的网络配置脚本以使用虚拟 IP

SevOne NMS 要求通过基本 IP 地址设置缺省路由。 不支持通过虚拟 IP 地址配置缺省路由,因为 SevOne NMS 中的所有对等通信都是通过基本 IP 地址进行的。 可以针对定制需求配置静态路由-请参阅 虚拟 IP 的定制静态路由 (可选)部分。

验证网络配置文件 (无静态路由)

必须验证网络配置文件以确保正确更新这些文件。

用于考绩制度

PAS$ cat /etc/sysconfig/network-scripts/ifcfg-${connection_name}
注: 如果配置正在将静态 IP 用于连接上的基本 IP 地址,那么会将虚拟 IP 设置为 IPADDR1PREFIX1上的 下一个 索引。

如果使用 DHCP ,那么它可能会自动覆盖此配置的设置,并具有意外行为,例如,除去虚拟 IP ,因为它使用相同的配置文件。 静态 IP 配置 必须 同时用于基本 IP 和虚拟 IP。

示例: 验证已更新的网络配置文件

PAS$ cd /etc/sysconfig/network-scripts

PAS$ cat /etc/sysconfig/network-scripts/ifcfg-${connection_name}
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=afe20483-ba17-4955-aed6-1706093e8b88
DEVICE=ens160
ONBOOT=yes
IPADDR=10.168.117.48
PREFIX=22
GATEWAY=10.168.116.1
IPADDR1=10.168.118.64
PREFIX1=22

表示 HSA

HSA$ cat /etc/sysconfig/network-scripts/ifcfg-${connection_name}
注: 如果配置正在将静态 IP 用于连接上的基本 IP 地址,那么会将虚拟 IP 设置为 IPADDR1PREFIX1上的 下一个 索引。

如果使用 DHCP ,那么它可能会自动覆盖此配置的设置,并具有意外行为,例如,除去虚拟 IP ,因为它使用相同的配置文件。 静态 IP 配置 必须 同时用于基本 IP 和虚拟 IP。

示例: 验证已更新的网络配置文件

HSA$ cd /etc/sysconfig/network-scripts/
HSA$ cat /etc/sysconfig/network-scripts/ifcfg-${connection_name}
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=d6ad7e7f-87bb-42f4-9481-bff76859081d
DEVICE=ens160
ONBOOT=yes
IPADDR=10.168.117.58
PREFIX=22
GATEWAY=10.168.116.1
IPADDR1=10.168.118.64
PREFIX1=22
重要信息: 如果 需要 静态 路由,请跳至并执行 移动和链接已更新网络连接的配置文件部分中的步骤。
虚拟 IP 的定制静态路由 (可选)

缺省路由始终需要通过 SevOne NMS 上的基本 IP 地址进行配置,因为所有 对等通信 (IPC) 都是通过基本 IP 地址进行的。

具有 SevOne NMS 同级的其他非 IPC 网络流量,例如,设备的轮询,第三方应用程序集成等,可以根据网络策略在客户环境中的基本 IP 网络上进行限制。 在这种情况下,客户可能必须根据自己的网络环境设置定制静态路由,以便通过虚拟 IP 网络发生所有此类非 IPC 流量。 缺省情况下,它始终使用基本 IP 作为缺省路由,并且可能无法通信。

重要信息: 在 SevOne NMS (对等或 DNC) 上,可能不需要静态路由来接收从网络设备到虚拟 IP 的流。 这是因为网络流作为 UDP 流量从设备转发到 SevOne NMS。 但是,必须将客户网络配置为允许 网络流 流量到达 SevOne NMS 中配置的用于接收流的指定端口上的虚拟 IP。
静态路由 (如果需要)
重要信息: 如果 需要静态路由,请跳过此部分。
  1. 配置网络连接的静态路由。 静态路由将添加到网络连接的路由配置文件中。 如以下步骤中所示进行配置后,将持续配置这些设置,并且即使在系统重新启动后也将保留这些设置。 将维护在服务器上配置的现有网络路由。 SevOne 建议备份现有路由配置,并确保新的静态路由不会与现有路由冲突。

    用于考绩制度

    PAS$ ls -l /etc/sysconfig/network-scripts/route-${connection_name}
    
    PAS$ cat /etc/sysconfig/network-scripts/route-${connection_name}
    
    PAS$ cp -ap /etc/sysconfig/network-scripts/route-${connection_name} \
    /etc/sysconfig/network-scripts/backup-route-${connection_name}.$(date +%Y%m%d-%H%M%S)

    表示 HSA

    HSA$ ls -l /etc/sysconfig/network-scripts/route-${connection_name}
    
    HSA$ cat /etc/sysconfig/network-scripts/route-${connection_name}
    
    HSA$ cp -ap /etc/sysconfig/network-scripts/route-${connection_name} \
    /etc/sysconfig/network-scripts/backup-route-${connection_name}.$(date +%Y%m%d-%H%M%S)
  2. 可以使用与 Linux 命令行界面 (CLI) ip route 命令相同的格式来设置静态路由。 但是,静态路由有各种配置选项,以下显示如何配置要由 SevOne NMS 管理的一个持久静态路由。 如果需要其他持久静态路由,或者如果静态路由需要配置的特定选项,那么必须手动处理静态路由配置。 更多详情,请参阅 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/configuring-static-routes_configuring-and-managing-networking.

    配置网络连接的静态路由

    重要信息: SevOne NMS 仅支持静态路由格式的脚本化配置方法,如下所示。 使用以下预定义变量的命令格式不能用于其他静态路由选项,或者如果配置了多个静态路由。 对于其他选项和/或静态路由,请通过遵循上面的操作系统供应商链接来手动配置和维护静态路由。 最好始终维护手动配置的静态路由配置文件的备份。

    用于考绩制度

    PAS$ cd /etc/sysconfig/network-scripts
    
    PAS$ echo "ADDRESS0=${ext_network}" > \
    /etc/sysconfig/network-scripts/route-${connection_name}
    
    PAS$ echo "NETMASK0=$(ipcalc ${ext_network}/${ext_prefix} \
    --netmask | sed -n -e 's/^.*NETMASK=//p')" \
    >> /etc/sysconfig/network-scripts/route-${connection_name}
    
    PAS$ echo "GATEWAY0=${vip_gateway}" \
    >> /etc/sysconfig/network-scripts/route-${connection_name}
    
    PAS$ echo "OPTIONS0=\"src ${vip}\"" \
    >> /etc/sysconfig/network-scripts/route-${connection_name}

    表示 HSA

    HSA$ cd /etc/sysconfig/network-scripts
    
    HSA$ echo "ADDRESS0=${ext_network}" > \
    /etc/sysconfig/network-scripts/route-${connection_name}
    
    HSA$ echo "NETMASK0=$(ipcalc ${ext_network}/${ext_prefix} \
    --netmask | sed -n -e 's/^.*NETMASK=//p')" \
    >> /etc/sysconfig/network-scripts/route-${connection_name}
    
    HSA$ echo "GATEWAY0=${vip_gateway}" \
    >> /etc/sysconfig/network-scripts/route-${connection_name}
    
    HSA$ echo "OPTIONS0=\"src ${vip}\"" \
    >> /etc/sysconfig/network-scripts/route-${connection_name}
验证网络配置文件 (可选,仅当包含静态路由时)

必须验证网络配置文件以确保正确更新这些文件。

用于考绩制度

PAS$ cat /etc/sysconfig/network-scripts/ifcfg-${connection_name}

# Optional (this file exists only if Static Routes are configured)
PAS$ cat /etc/sysconfig/network-scripts/route-${connection_name}

示例: 验证已更新的网络配置文件

PAS$ cd /etc/sysconfig/network-scripts

PAS$ cat /etc/sysconfig/network-scripts/ifcfg-${connection_name}
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=afe20483-ba17-4955-aed6-1706093e8b88
DEVICE=ens160
ONBOOT=yes
IPADDR=10.168.117.48
PREFIX=22
GATEWAY=10.168.116.1
IPADDR1=10.168.118.64
PREFIX1=22

# Optional (this file exists only if Static Routes are configured)
PAS$ cat /etc/sysconfig/network-scripts/route-${connection_name}
ADDRESS0=10.128.24.0
NETMASK0=255.255.252.0
GATEWAY0=10.168.116.3
OPTIONS0="src 10.168.118.64"

表示 HSA

HSA$ cat /etc/sysconfig/network-scripts/ifcfg-${connection_name}

# Optional (this file exists only if Static Routes are configured)
HSA$ cat /etc/sysconfig/network-scripts/route-${connection_name}

示例: 验证已更新的网络配置文件

HSA$ cd /etc/sysconfig/network-scripts

HSA$ cat /etc/sysconfig/network-scripts/ifcfg-${connection_name}
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=d6ad7e7f-87bb-42f4-9481-bff76859081d
DEVICE=ens160
ONBOOT=yes
IPADDR=10.168.117.58
PREFIX=22
GATEWAY=10.168.116.1
IPADDR1=10.168.118.64
PREFIX1=22

# Optional (this file exists only if Static Routes are configured)
HSA$ cat /etc/sysconfig/network-scripts/route-${connection_name}
ADDRESS0=10.128.24.0
NETMASK0=255.255.252.0
GATEWAY0=10.168.116.3
OPTIONS0="src 10.168.118.64"

更新当前同级的 "virtual_ip" (在集群引导者的配置数据库实例中)

要使 SevOne NMS 能够使用虚拟 IP 地址,请更新对的同级表中的 virtual_ip 列。 必须通过更新 config 数据库实例从 Cluster Leader 设备执行对数据库的更新。

确定集群负责人的 IP 地址

PAS$ cluster_master_ip=$(mysqlconfig -Ne "select ip_normalize(ip) \
from net.peers where master = 1")

使用要执行的命令设置变量

PAS$ cmd=$(echo "update net.peers set virtual_ip = HEX(INET6_ATON( '${vip}' )) \
where server_id = $peer_id")

通过 SSH 登录到集群引导程序以更新 net.peers 表和 virtual_ip 列

PAS$ ssh $cluster_master_ip "mysqlconfig -e \"$cmd\" "

在 PAS 上: 验证更新是否已成功完成

PAS$ mysqlconfig -e "select * from net.peers where server_id = $peer_id \G"

在 HSA 上: 验证更新是否已成功完成

HSA$ mysqlconfig -e "select * from net.peers where server_id = $peer_id \G"

示例: 从 Cluster Leader 配置数据库更新同级表中的 virtual_ip

关于考绩制度

PAS$ cluster_master_ip=$(mysqlconfig -Ne "select ip_normalize(ip) \
from net.peers where master = 1")

PAS$ cmd=$(echo "update net.peers set virtual_ip = HEX(INET6_ATON('${vip}')) \
where server_id = ${peer_id}")

PAS$ ssh $cluster_master_ip "mysqlconfig -e \"$cmd\" "

PAS$ mysqlconfig -e "select * from net.peers where server_id = $peer_id \G"
************************* 1. row *************************
server_id: 1
name: jb-vip-01
ip: 0AA87530
primary_ip: 0AA87530
secondary_ip: 0AA8753A
active_appliance: PRIMARY
disabled: 0
virtual_ip: 0AA87640
master: 1
user: support
pass:
capacity: 10000
interface_limit: 33
flow_limit: 10000
netflow_interface_count: 0
server_load: 614
flow_load: 0
model: PAS
proxy_port: 8123
proxy_user: 99bnqiHZEpVSRH/61I/xuQ==
proxy_pass: 99bnqiHZEpVSRH/61I/xuQ==
group_poller_device_count: 0
group_poller_object_count: 0
selfmon_device_count: 1
selfmon_object_count: 69

更新 MySQL 许可权 (可选)

重要信息: 可选

仅当启用了特定静态路由时,这才适用。

如果在 SevOne NMS 虚拟 IP 配置期间为该对启用了特定静态路由,那么必须将针对 IP 地址 $vip的 MySQL 许可权授予集群中的所有对。 执行以下步骤。

  1. 标识集群引导者的 IP 地址。
    ssh support@<PAS appliance>
    PAS$ cluster_master_ip=$(mysqlconfig -Ne \
    "select ip_normalize(ip) from net.peers where master = 1")
  2. SSH 进入群集领导并执行 SevOne-fix-mysql-permissions.
    
    PAS$ podman exec -it nms-nms-nms /bin/bash
    
    PAS$ ssh $cluster_master_ip "/usr/local/scripts/SevOne-fix-mysql-permissions"
  3. 验证该对 (PAS/HSA) 是否可以连接到集群引导者而不被拒绝。

    关于考绩制度

    ssh support@<PAS appliance>
    PAS$ mysql -h $cluster_master_ip -u support -p

    关于 HSA

    ssh support@<HSA appliance>
    HSA$ mysql -h $cluster_master_ip -u support -p

重启电器

重新引导设备以确保已应用新的网络配置。

关于考绩制度


PAS$ podman exec -it nms-nms-nms /bin/bash

PAS$ SevOne-shutdown reboot

关于 HSA


HSA$ podman exec -it nms-nms-nms /bin/bash

HSA$ SevOne-shutdown reboot

验证虚拟 IP

验证虚拟 IP (无静态路由)

虚拟 IP 必须仅在 活动 设备上启动。 确保 被动 设备上的虚拟 IP 启动。 执行以下命令。

关于考绩制度

# <connection_name> must be your connection
PAS$ ip addr show <connection_name>

PAS$ ip route show
PAS$ route -n

示例

PAS$ ip addr show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:be:3b:9f brd ff:ff:ff:ff:ff:ff
inet 10.168.117.48/22 brd 10.168.119.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet 10.168.118.64/22 brd 10.168.119.255 scope global secondary noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::dfe8:13cd:2fde:454d/64 scope link noprefixroute
valid_lft forever preferred_lft forever

PAS$ ip route show
default via 10.168.116.1 dev ens160 proto static metric 100
10.168.116.0/22 dev ens160 proto kernel scope link src 10.168.117.48 metric 100
10.168.116.0/22 dev ens160 proto kernel scope link src 10.168.118.64 metric 100
172.17.0.0/24 dev docker0 proto kernel scope link src 172.17.0.1
PAS$ route -n

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.168.116.1 0.0.0.0 UG 100 0 0 ens160
10.168.116.0 0.0.0.0 255.255.252.0 U 100 0 0 ens160
10.168.116.0 0.0.0.0 255.255.252.0 U 100 0 0 ens160
172.17.0.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0

关于 HSA

# <connection_name> must be your connection
HSA$ ip addr show <connection_name>

HSA$ ip route show
HSA$ route -n

示例

HSA$ ip addr show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:be:81:da brd ff:ff:ff:ff:ff:ff
inet 10.168.117.58/22 brd 10.168.119.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::9696:45e5:b048:1b93/64 scope link noprefixroute
valid_lft forever preferred_lft forever

HSA$ ip route show
default via 10.168.116.1 dev ens160 proto static metric 100
10.168.116.0/22 dev ens160 proto kernel scope link src 10.168.117.58 metric 100
172.17.0.0/24 dev docker0 proto kernel scope link src 172.17.0.1

HSA$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.168.116.1 0.0.0.0 UG 100 0 0 ens160
10.168.116.0 0.0.0.0 255.255.252.0 U 100 0 0 ens160
172.17.0.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0

验证虚拟 IP (已配置静态路由)

虚拟 IP 必须仅在 活动 设备上启动。 确保 被动 设备上的虚拟 IP 启动。 执行以下命令。

关于考绩制度

# <connection_name> must be your connection
PAS$ ip addr show <connection_name>

PAS$ ip route show

PAS$ route -n

示例


PAS$ ip addr show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:be:3b:9f brd ff:ff:ff:ff:ff:ff
inet 10.168.117.48/22 brd 10.168.119.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet 10.168.118.64/22 brd 10.168.119.255 scope global secondary noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::dfe8:13cd:2fde:454d/64 scope link noprefixroute
valid_lft forever preferred_lft forever

PAS$ ip route show
default via 10.168.116.1 dev ens160 proto static metric 100
10.128.24.0/22 via 10.168.116.3 dev ens160 proto static src 10.168.118.64
10.168.116.0/22 dev ens160 proto kernel scope link src 10.168.117.48 metric 100
10.168.116.0/22 dev ens160 proto kernel scope link src 10.168.118.64 metric 100
172.17.0.0/24 dev docker0 proto kernel scope link src 172.17.0.1

PAS$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.168.116.1 0.0.0.0 UG 100 0 0 ens160
10.128.24.0 10.168.116.3 255.255.252.0 UG 0 0 0 ens160
10.168.116.0 0.0.0.0 255.255.252.0 U 100 0 0 ens160
10.168.116.0 0.0.0.0 255.255.252.0 U 100 0 0 ens160
172.17.0.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0

关于 HSA

# <connection_name> must be your connection
HSA$ ip addr show <connection_name>

HSA$ ip route show

HSA$ route -n

示例

HSA$ ip addr show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:be:81:da brd ff:ff:ff:ff:ff:ff
inet 10.168.117.58/22 brd 10.168.119.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::9696:45e5:b048:1b93/64 scope link noprefixroute
valid_lft forever preferred_lft forever

HSA$ ip route show
default via 10.168.116.1 dev ens160 proto static metric 100
10.168.116.0/22 dev ens160 proto kernel scope link src 10.168.117.58 metric 100
172.17.0.0/24 dev docker0 proto kernel scope link src 172.17.0.1

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.168.116.1 0.0.0.0 UG 100 0 0 ens160
10.168.116.0 0.0.0.0 255.255.252.0 U 100 0 0 ens160
172.17.0.0 0.0.0.0 255.255.255.0 U 0 0 0 docker0

删除虚拟 IP (VIP) 配置

注: "除去虚拟 IP (VIP) 配置" 部分适用于 IPv4 和 IPv6。

本部分提供了有关如何从 SevOne NMS 中除去 VIP 配置的详细信息。 如果不再需要 VIP 配置,那么以下步骤使用户能够从任何 NMS 辅助 设备中除去 VIP 配置。

要点: 要从 SevOne NMS 对等对中除去虚拟 IP 配置,必须记住以下几点。
  • 假定使用了配置虚拟 IP (VIP) 部分中的步骤来配置虚拟 IP。 如果遵循了任何其他过程,那么除去虚拟 IP 的步骤可能无法按预期工作。
  • 如果配置了任何定制/静态路由并且仍需要这些路由,那么必须保留这些路由配置。 以下步骤将除去接口规则文件。 请根据没有虚拟 IP 的新需求重新配置规则文件。
  • 确保当前使用虚拟 IP 进行轮询或接收流的所有设备和 NMS 配置都能够通过基本 IP (如果尚未配置) 进行通信,以在除去虚拟 IP 配置时最大限度减少数据丢失的影响。 请确保将这些设备配置为通过该对的主设备和辅助设备的基本 IP 进行通信。

在需要除去虚拟 IP 配置的 NMS 同级的 PAS (主) 和 HSA (辅助) 设备上执行以下步骤。

注: 本部分假定 PAS 是 PAS/HSA 对的当前活动设备。
  1. 检查现有网络连接。

    用于考绩制度

    PAS$ nmcli connection show

    示例: 网络连接

    
    PAS$ nmcli connection show
              
    名称 uuid 类型 设备
    ens160 afe20483-ba17-4955-aed6-1706093e8b88 以太网 ens160

    表示 HSA

    HSA$ nmcli connection show

    示例: 网络连接

    
    HSA$ nmcli connection show
              
    名称 uuid 类型 设备
    ens160 d6ad7e7f-87bb-42f4-9481-bff76859081d 以太网 ens160
  2. 将相应的网络连接名称设置为变量。 在以下示例中,连接名称为 ens160。 您可以根据先前命令的输出将网络连接名称更改为特定于您的环境的名称。
    注: 必须通过使用正确的连接名称设置变量来使用正确的连接,因为环境中可能存在其他活动连接。 例如, SevOne NMS 上的 Docker 设置。

    物理 PAS 或 vPAS上的连接名称可能不同。 在上面的示例中,它是 ens160 ,但它可以是任何其他有效网络连接名称,例如 en0作为示例。

    示例: 针对 PAS

    PAS$ connection_name='ens160'

    示例: 对于 HSA

    HSA$ connection_name='ens160'
  3. 备份现有配置文件。

    用于考绩制度

    PAS$ cd /etc/sysconfig/network-scripts
    
    PAS$ mkdir vip-bkup-$(date +%d%b%y)
    
    PAS$ cp -ap -L *${connection_name}* vip-bkup-$(date +%d%b%y)

    表示 HSA

    HSA$ cd /etc/sysconfig/network-scripts
    
    HSA$ mkdir vip-bkup-$(date +%d%b%y)
    
    HSA$ cp -ap -L *${connection_name}* vip-bkup-$(date +%d%b%y)
  4. 更新集群的同级表。 在 PAS 上执行命令。

    用于考绩制度

    PAS$ peer_id=$(mysqldata -BNe "select value from local.settings \
    where setting='server_id';" )
    
    PAS$ cluster_master_ip=$(mysqlconfig net -BNe "select ip_normalize(ip) \
    from peers where master = 1")
    
    PAS$ cmd=$(echo "update net.peers set virtual_ip = NULL \
    where server_id = ${peer_id}")
    
    PAS$ ssh $cluster_master_ip "mysqlconfig -e \"$cmd\" "
    
    PAS$ mysqlconfig -e "select * from net.peers where server_id = ${peer_id} \G"
  5. 更新操作系统网络配置。

    用于考绩制度

    PAS$ cd /etc/sysconfig/network-scripts
    
    PAS$ unlink ifcfg-ens160
    
    PAS$ mv vip-disabled-ifcfg-ens160 ifcfg-ens160

    表示 HSA

    
    HSA$ cd /etc/sysconfig/network-scripts
    
    HSA$ unlink ifcfg-ens160
    
    HSA$ mv vip-disabled-ifcfg-ens160 ifcfg-ens160
  6. 除去虚拟 IP 和静态路由的网络配置文件。
    重要信息: 此步骤将除去特定于接口的路由。 如果将静态路由配置为除此接口的虚拟 IP 以外的任何其他用途,请手动执行必需的步骤。

    用于考绩制度

    PAS$ rm vip-enabled-ifcfg-ens160 route-ens160

    表示 HSA

    HSA$ rm vip-enabled-ifcfg-ens160 route-ens160
  7. 验证网络配置文件是否未配置任何虚拟 IP。 此外,请确认在网络配置文件中正确配置了基本 IP。

    用于考绩制度

    PAS$ ls -l /etc/sysconfig/network-scripts/ifcfg-${connection_name}
    PAS$ cat /etc/sysconfig/network-scripts/ifcfg-${connection_name}

    示例

    PAS$ ls -l /etc/sysconfig/network-scripts/ifcfg-${connection_name}
    -rw-r--r--. 1 root root 334 Feb 11 09:26 /etc/sysconfig/network-scripts/ifcfg-ens160
    
    PAS$ cat /etc/sysconfig/network-scripts/ifcfg-${connection_name}
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens160
    UUID=afe20483-ba17-4955-aed6-1706093e8b88
    DEVICE=ens160
    ONBOOT=yes
    IPADDR=10.168.117.48
    PREFIX=22
    GATEWAY=10.168.116.1

    表示 HSA

    HSA$ ls -l /etc/sysconfig/network-scripts/ifcfg-${connection_name}
    
    HSA$ cat /etc/sysconfig/network-scripts/ifcfg-${connection_name}

    示例

    HSA$ ls -l /etc/sysconfig/network-scripts/ifcfg-${connection_name}
    -rw-r--r--. 1 root root 334 Feb 11 09:28 /etc/sysconfig/network-scripts/ifcfg-ens160
    
    HSA$ cat /etc/sysconfig/network-scripts/ifcfg-${connection_name}
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens160
    UUID=d6ad7e7f-87bb-42f4-9481-bff76859081d
    DEVICE=ens160
    ONBOOT=yes
    IPADDR=10.168.117.58
    PREFIX=22
    GATEWAY=10.168.116.1
    重要信息: SevOne 强烈建议重新启动主设备和辅助设备,以确保在除去虚拟 IP 之后正确应用网络配置。

    如果要避免数据收集中断,请先重新启动辅助设备。

    表示 HSA

    
    HSA$ podman exec -it nms-nms-nms /bin/bash
    
    HSA$ SevOne-shutdown reboot

    用于考绩制度

    
    PAS$ podman exec -it nms-nms-nms /bin/bash
    
    PAS$ SevOne-shutdown reboot
    重要提示: 如果删除虚拟 IP 配置是更改虚拟 IP (VIP) 配置步骤的一部分,则在此阶段不需要重新启动 NMS 设备。 您可以删除虚拟 IP (VIP) 配置配置虚拟 IP (VIP) ,然后执行设备重新启动以避免多次重新启动。

更改虚拟 IP (VIP) 配置

在更改虚拟 IP 配置之前,请确保当前正在将 VIP 用于轮询或接收流的所有设备和 NMS 配置现在都能够通过新的虚拟 IP (如果尚未配置) 进行通信,以在更改虚拟 IP 配置后将数据丢失的影响降至最低。 必须确保设备配置为通过该对的主设备和辅助设备的新虚拟 IP 进行通信。

要更改虚拟 IP 配置,请执行以下步骤:

  1. 删除虚拟 IP (VIP) 配置
  2. 配置虚拟 IP(VIP)

更改 IP 地址

要更改 SevOne 设备上的 IP 地址,请联系 SevOne 支持人员

使用 'SevOne-change-ip' 命令更改 IP 地址

SevOne-change-ip是一条交互式命令,可指导您更改 SevOne 设备的 IP 地址。 它将对同级表进行所有必需的更新,还将运行必需的修订命令。

警告:
  • 运行 SevOne-change-ip 命令时,群集中的所有设备都必须可以连接。 如果集群中的任何设备当前不可访问,那么不得执行 IP 地址更改,因为这些更改可能无法传播到不可访问的同级。
  • 完成更改 IP 地址命令后,系统将提示您重新引导系统。
    警告: SevOne-change-ip命令不支持虚拟 IP、绑定接口或设备上的多个接口。 对于此类配置,请使用下面记录的手动过程。

运行交互式命令更改 SevOne 设备的 IP 地址

示例

podman exec -it nms-nms-nms /bin/bash

SevOne-change-ip -i
          
=== 接口名称 ens160
=== 当前同行信息:
--- Bootproto: /etc/sysconfig/network-scripts/ifcfg-ens160:none
--- 主机名:sevone
--- IP: /etc/sysconfig/network-scripts/ifcfg-ens160:10.129.25.96
--- 网络掩码:
--- 广播:
--- 网关
输入新主机名(默认值:sevone): nw-master
输入新 IP 地址(默认值: /etc/sysconfig/network-scripts/ifcfg-ens160:10.129.25.96 ):
10.129.27.166
输入新的网络掩码地址(默认值: ): 255.255.252.0
输入新的 brd 地址(默认值: ): 10.129.27.255
输入新的网关地址(默认值: ): 10.129.24.1
=== 备份配置文件
=== 更新 IP 地址
=== 编写主机文件头
=== 更改主机名
=== 设置为 ens160
=== 添加主机文件设置
=== 更新 kafka-server.properties
kafka: 已停止
kafka: 启动
=== 更新 server2.cnf
=== 更新 api IP 地址
<<< 从"/config/appliance/settings/api/directory "读取 API 目录。
>>> 将 " 10.129.27.166 "写入"/config/appliance/settings/api/ip"。
--- 阅读 api.wsdl...
--- 用 " 10.129.27.166\/soap3 "代替 " www.sevone.com\/soap3 "。
<<< 清除 WSDL 缓存。
---全部完成。
=== 为其他人更新同行表
=== 为 IP = 更新对等表 10.129.27.166
--- 更新主 IP
=== 检查我们是否正确更新了同行表
--- 成功更新了同行表
=== 防止错误故障转移
--- 成功更新了同行表
=== 更新对等复制
为 10.129.25.47
为 10.129.26.192 配置设置复制主站
为 10.129.26.192 数据设置复制主站
=== 打印更新的同行表
--- 同行 2:
--- 主机名:PEER
--- IP: 10.129.25.47
--- 主 IP: 10.129.25.47
--- 同行 1:
--- 主机名:sevone
--- IP: 10.129.27.166
--- 主 IP: 10.129.27.166
--- 二级 IP: 10.129.26.192
=== 更新网络代理配置
--- 更新网络代理配置 10.129.25.96
--- 网络代理将在重启时重新启动
--- 成功更新了 10.129.25.96
--- 更新网络代理配置 10.129.26.192
--- 成功更新了 10.129.26.192
--- 更新网络代理配置 10.129.25.47
--- 成功更新了 10.129.25.47
=== 更新同行 MySQL 权限
--- 更新 MySQL 的同行权限设置( 10.129.25.96 )
--- 更新 MySQL 的同行权限设置( 10.129.26.192 )
--- 更新 MySQL 的同行权限设置( 10.129.25.47 )
=== 删除自动生成的 MySQL UUID
=== 完成更新 IP 地址
=== 删除备份
您必须重新启动设备才能使这些更改生效
现在重新启动?[是/否] 是
现在重新启动。 重启后运行 'SevOne-fix-ssh-keys'。

手动更改 IP 地址

可以使用 NMCLINMTUI手动更改 SevOne 设备的 IP 地址。

重要信息: 建议

建议使用 SevOne-change-ip 命令更改 IP 地址,而不是手动更改。 但是,在无法使用该命令的情况下,需要手动对网络配置和 NMS 数据库表进行更改。

使用 NMCLI

执行以下步骤以使用 NMCLI 手动更改 IP 地址。

  1. 使用ssh支持身份登录SevOneNMS 设备。
    ssh support@<NMS appliance>
  2. 执行以下命令以查看所有接口。
    
    nmcli
                  
    ens160: 连接到 ens160
    "VMware VMXNET3"
    以太网 ( vmxnet3 ), 00:50:56:BE:C7:12, hw, mtu 1500
    ip4 默认
    inet4 10.129.27.33/22
    route4 0.0.0.0/0
    route4 10.129.24.0/22
    inet6 fe80::250:56ff:febe:c712/64
    route6 fe80::/64
    route6 ff00::/8
    
    docker0: 非托管
    "docker0"
    Bridge, 02:42:A9:B2:4F:F5, sw, mtu 1500
    
    lo: 无人管理
    "洛"
    环回(未知),00:00:00:00:00:00:00, sw, mtu 65536
    
    DNS 配置:
    服务器: 10.168.0.50 10.168.16.50 10.205.8.50
    领域: wifi.sevone.com wilm.sevone.com sevone.com network.qa
    接口: ens160
  3. 要修改接口,请执行以下命令。
    nmcli connection modify <interface name> ipv4.address <ip_address/prefix>

    示例

    nmcli connection modify ens160 ipv4.address 10.129.27.55/22
    注: 缺省网关 default via必须位于新 IP 地址的子网中。 但是,如果还需要修改缺省网关,请执行以下命令。
    nmcli connection modify ens160 ipv4.gateway <Gateway_IP>

    示例

    nmcli connection modify ens160 ipv4.gateway 10.129.24.0

使用 NMTUI

执行以下步骤以使用 NMTUI 手动更改 IP 地址。

  1. 使用ssh支持身份登录SevOneNMS 设备。
    ssh support@<NMS appliance>
  2. 要修改接口,请执行以下命令。
    nmtui edit <interface name>

    示例

    nmtui edit ens160

    浏览至要修改的 IP 地址

    nmtuiModify

警告: 建议 不要 通过编辑网络配置文件来更改设置。 您可以在 /etc/sysconfig/network-scripts/ifconfig-<interface_name> 配置文件中查看接口设置,但必须使用 NMCLINMTUI 来进行更改。

在网络级别验证 IP 地址更改

对于两者, NMCLI 或 NMTUI

示例: 查看 /etc/sysconfig/network-scripts/ifcfg-ens160 配置文件

cat /etc/sysconfig/network-scripts/ifcfg-ens160
          
# 由 dracut initrd 生成
NAME=ens160
DEVICE=ens160
ONBOOT=yes
NETBOOT=是
UUID=e2f7df86-55c8-4227-a00d-0f048e030b1a
IPV6INIT=yes
BOOTPROTO=none
类型=以太网
代理_方法=无
BROWSER_ONLY=否
DEFROUTE=是
IPV4_FAILURE_FATAL=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPADDR=10.129.27.33
PREFIX=22
GATEWAY=10.129.24.0

更改 NMS 配置中的 IP 地址

根据已执行网络 IP 地址更改的 NMS 设备,必须更新该 NMS 设备的 NMS 配置以反映该更改。 根据设备类型 (主/辅助) 和当前角色 (主动/被动) ,使用以下其中一个适用选项。

已更改 "活动" 集群引导设备的 IP 地址

当 "活动" 集群引导程序设备的 IP 地址已更改时,请执行以下步骤来更改复制 IP。 必须更新所有其他活动同级的复制主机。 必须 在集群引导程序上执行以下脚本。

注: 请在执行以下脚本之前将其替换为 IP 地址。
NEWMASTERIP="<new_master_or_leader_ip>";
PEERIPS=$(ssh ${NEWMASTERIP} "/usr/local/scripts/mysqlconfig net -e \"SELECT ip_normalize(ip) \
FROM peers WHERE master != 1 \" --skip-column-names");

# This following is executed on all peers in the cluster
for IP in $PEERIPS; do
echo "--- updating replication source on $IP"
ssh ${IP} "/usr/local/scripts/mysqlconfig net -e \"STOP SLAVE; \
CHANGE MASTER TO master_host='${NEWMASTERIP}', \
master_port=3307; START SLAVE \" ";
done;
已更改 "活动" 同级的 IP 地址

当已更改 "活动" 同级 (即,集群引导程序设备以外的同级) 的 IP 地址时,执行以下步骤以更改复制 IP。 如果一对 主动 设备的 IP 地址已更改,那么必须在其 辅助 / 被动 设备上执行以下命令。

注: 在执行以下命令之前,请将其替换为 IP 地址。
mysqldata -e "STOP SLAVE; CHANGE MASTER TO master_host='<MASTER_IP>', \
master_port=3306; START SLAVE"

mysqlconfig -e "STOP SLAVE; CHANGE MASTER TO master_host='<MASTER_IP>', \
master_port=3307; START SLAVE"
更新 NMS "net.peers" 表
注: 请确保在集群引导程序 活动 设备上完成所有同级的表更新。

场景 # 1

注: 请在 IF 下面的命令中设置 IP 地址和主/辅助设备, IP 地址的更改适用于 HSA 对的 活动 设备。
mysqlconfig -e "update peers set \
ip=HEX(INET6_ATON('<IP_ADDRESS>')), \
[primary|secondary]_ip=HEX(INET6_ATON('<IP_ADDRESS>')) \
where server_id='<SERVER_ID>' "

示例: 如果主设备和对的 "active"

mysqlconfig -e "update peers set \
ip=HEX(INET6_ATON('<IP_ADDRESS>')),\
primary_ip=HEX(INET6_ATON('<IP_ADDRESS>')) \
where server_id='<SERVER_ID>' "

示例: 如果辅助设备和对的 "active"

mysqlconfig -e "update peers set \
ip=HEX(INET6_ATON('<IP_ADDRESS>')),\
secondary_ip=HEX(INET6_ATON('<IP_ADDRESS>')) \
where server_id='<SERVER_ID>' "

示例: 如果不在 HSA 对中

mysqlconfig -e "update peers set \
ip=HEX(INET6_ATON('<IP_ADDRESS>')),\
primary_ip=HEX(INET6_ATON('<IP_ADDRESS>')) \
where server_id='<SERVER_ID>' "

场景 # 2

注: 请在 IF 下面的命令中设置 IP 地址和主/辅助设备, IP 地址的更改适用于 HSA 对的 被动 设备。
mysqlconfig -e "update peers set \
[primary|secondary]_ip=HEX(INET6_ATON('<IP_ADDRESS>')) \
where server_id='<SERVER_ID>' "

示例: 如果主设备和对的被动设备

mysqlconfig -e "update peers set \
primary_ip=HEX(INET6_ATON('<IP_ADDRESS>')) \
where server_id='<SERVER_ID>' "

示例: 如果是对的辅助设备和被动设备

mysqlconfig -e "update peers set \
secondary_ip=HEX(INET6_ATON('<IP_ADDRESS>')) \
where server_id='<SERVER_ID>' "
修订 MySQL 许可权

从集群引导程序 active 设备执行以下命令。

来自集群引导者


podman exec -it nms-nms-nms /bin/bash

SevOne-fix-mysql-permissions
修订所有对等方上的主机

必须 从集群引导程序 活动 设备执行以下命令。


podman exec -it nms-nms-nms /bin/bash

SevOne-peer-do "SevOne-fix-hosts-file -y"
更新 API IP 地址

在已更改 IP 地址的 NMS 设备上执行以下命令。

注: 在执行以下命令之前,请将其替换为 IP 地址。

podman exec -it nms-nms-nms /bin/bash

SevOne-api-change-ip <IP_ADDRESS>
重新启动守护程序

通过从 Cluster Leader 执行以下命令,重新启动守护程序 集群范围


podman exec -it nms-nms-nms /bin/bash

SevOne-peer-do "supervisorctl restart SevOne-masterslaved SevOne-requestd"

重新引导设备

如果设备上的 IP 地址已更改,请重新引导设备以使新 IP 地址生效。


podman exec -it nms-nms-nms /bin/bash

SevOne-shutdown reboot

从 IPv4 改为 IPv6

要将 SevOne NMS 从 IPv4 更改为 IPv6,请执行以下步骤。

  1. 使用ssh,以支持身份登录SevOneNMSCluster Leader
    ssh support@<SevOne NMS Cluster Leader IP address or hostname>
  2. 禁用 SevOne-masterslaved 全集群。
    
    podman exec -it nms-nms-nms /bin/bash
    
    SevOne-peer-do "supervisorctl stop SevOne-masterslaved"
  3. 必须在每个同级上执行此步骤。
    重要信息: 在首先更改集群中所有同级的 IP 地址之前,请 不要 更改集群引导者的 IP 地址。
    1. 使用ssh,以支持身份登录SevOneNMS对等系统。
      ssh support@<SevOne NMS peer IP address or hostname>
    2. 执行使用 'SevOne-change-ip' 命令更改 IP 地址一节中的步骤,更改所登录对等设备的 IP 地址。
    3. 重复步骤 a。 和 b. 直到您更改了集群中每个同级的 IP 地址。
    4. 更改所有同级的 IP 地址后,请更改集群引导者的 IP 地址。 必须始终最后更改集群引导程序的 IP 地址。
  4. 确保每个同级可以与集群中的每个其他适用同级进行通信。 执行以下命令。
    
    podman exec -it nms-nms-nms /bin/bash
    
    SevOne-act check peers
  5. 重新启用 SevOne-masterslaved 全集群。 您必须是集群负责人。
    ssh support@<SevOne NMS Cluster Leader IP address or hostname>
    
    podman exec -it nms-nms-nms /bin/bash
    
    SevOne-peer-do "supervisorctl start SevOne-masterslaved"
    

更改主机名

警告: 如果 SevOne NMS 设备位于集群中,请勿使用操作系统工具更改设备的主机名。

要更改已处于 "集群配置" 最终状态的 NMS 设备的主机名,需要更新一些关键 NMS 配置并重新启动服务。 SevOne 建议仅在 NMS 集群中配置 NMS 设备之后才对其执行主机名更改。

重要信息: 更改 NMS 设备主机名需要重新引导,导致中断; 请相应地进行规划。

执行以下步骤以更改 NMS 设备的主机名。

  1. 使用ssh支持身份登录SevOneNMS 设备。
    ssh support@<NMS appliance>
  2. 执行以下命令以检查主机名。 在下面的示例中,您将看到 Static hostname 包含当前主机名、 queen-01.
    示例
    
    hostnamectl
                
       静态主机名: queen-01
             图标名称: computer-vm
               机箱:VM
            机器 ID: eb9b779ed6804087be6db92938c01905
               引导 ID: a902fadfd7de494c811e79ebc702736f
        虚拟化:VMware
      操作系统: Red Hat Enterprise Linux 8.10 (Ootpa)
           CPE 操作系统名称: cpe:/o:redhat:enterprise_linux:8::baseos
                内核 Linux 4.18.0-553.el8_10.x86_64
          建筑 x86-64
    
  3. 运行以下命令更改主机名。 假设您要将静态主机名queen-01改为regulus-01
    hostnamectl set-hostname <enter new hostname>
    
  4. 使用ssh,以支持身份重新登录SevOneNMS 设备。
    ssh support@<NMS appliance>
  5. 执行以下命令以确认主机名更改。 在下面的示例中,您将看到静态主机名将包含新的主机名、 regulus-01.
    示例
    
    hostnamectl
                
       静态主机名: regulus-01
             图标名称: computer-vm
               机箱:VM
            机器 ID: eb9b779ed6804087be6db92938c01905
               引导 ID: a902fadfd7de494c811e79ebc702736f
        虚拟化:VMware
      操作系统: Red Hat Enterprise Linux 8.10 (Ootpa)
           CPE 操作系统名称: cpe:/o:redhat:enterprise_linux:8::baseos
                内核 Linux 4.18.0-553.el8_10.x86_64
          建筑 x86-64
    

通过 NAT 进行对等通信

概述

本主题描述用于支持基于网络地址转换 (NAT) 的 SevOne NMS 集群的 firewalld NAT 配置。 它为 IP 表 NAT 配置提供了用于与同级通信的解决方案。

注意:
  • 如果集群中的同级位于不同的网络上,那么它们应该能够使用静态 NAT IP 地址相互通信。 主设备及其辅助设备不能在两个不同的网络之间进行拆分。
  • 在 NAT 配置中启用 firewalld 后,请检查 firewalld 服务和端口配置。
  • 仅支持静态 NAT。 不支持动态 NAT 和 PAT (端口地址转换)。
  • 不支持基于 Hub-and-Spoke 的 NAT 配置。
  • 如果使用虚拟 IP 地址配置 NMS 集群,那么不支持 firewalld NAT 配置。
  • 同级可能在同级表中包含 NAT IP 或物理 IP。 NAT 规则应该能够相应地应用。
  • 必须在混合部署模型中工作。

网络体系结构

basicNAT1

网络地址

当客户不希望向外部网络公开内部 IP 地址时,当路由到外部网络时,会将 NAT 应用于内部 IP 地址。 不需要使用 NAT 的 IP 进行内部网络通信。

NAT IP 地址只能在外部网络和内部网络之间路由。 内部网络中的主机必须使用物理内部 IP 地址来路由到内部网络中的其他主机。

仅支持静态 NAT (一对一 NAT)。 不支持动态 NAT/PAT。

作为一个例子,基本的网络寻址方案总结如下表所示。

路由至
内部网络 外部网络
路由自 内部网络 物理 IP 地址 物理 IP 地址
外部网络 NAT IP 地址 物理 IP 地址
重要信息: 可能存在双向 NAT 寻址,因此从内部网络到外部网络的路由还需要使用由外部网络所有者分配的 NAT 地址。

作为对此的扩展,单个 NMS 集群可能具有多个外部网络中的同级 (例如,支持多个客户的 MSP 共享集群) ,并且内部同级可能出现在每个外部网络的不同 NAT 地址 (当前不支持的中心和辐射配置)。

SevOne NMS 同级

SevOne NMS 同级充当集群引导者,轮询 PAS 或 DNC。 对等设备通常由两个设备组成-一个主设备和一个辅助设备。 独立同级仅具有主设备。 主设备和辅助设备可以位于单独的子网中,也可以位于单独的物理数据中心中。 但是,同级中的两个设备都位于内部网络或外部网络中。 同级从不在内部网络和外部网络之间进行拆分。

网络中的每个设备都必须具有自己的唯一物理 IP 地址。

要点: 如果使用虚拟 IP 地址配置 NMS 集群,那么不支持 firewalld NAT 配置。

SevOne NMS 对等表

在 SevOne NMS 中,同级表为每个同级维护一个记录。 每个同级只能向其主 IP 地址分配一个 IP 地址,向其辅助 IP 地址分配一个 IP 地址 (如果存在辅助 IP 地址)。 同级将始终由同级的当前 活动 设备的 IP 地址引用,并且可以选择为每个同级分配一个虚拟 IP。

同级表将复制到所有同级,并且在集群中的所有同级上都相同。

要使 SevOne NMS 正常工作,除中心辐射集群外,必须使用对等表中包含的对等地址在完全咬合的配置中访问所有对等节点。

在标准配置中, SevOne NMS 无法支持网络体系结构,在此体系结构中,内部网络中的同级使用来自内部网络中其他同级的物理地址和来自外部网络中同级的 NAT 地址来寻址。

注: 这将需要不同同级上的同级表的不同版本,或者除了物理地址外,还需要能够将 NAT 地址存储在同级表中。 但是,这在 SevOne NMS 中当前不受支持。

防火墙

firewalld 是 Linux 操作系统的防火墙管理工具,支持在 Linux 主机上处理 IP 包过滤规则 (包括 NAT)。

通过应用 firewalld NAT 规则 (中心辐射集群除外) ,可以确保 SevOne NMS 同级之间的全网连接,同时支持 SevOne NMS 集群和以正常方式寻址的公共同级表,而无需对 SevOne NMS 应用程序进行任何更改。

部署方案

firewalld 可以在内部网络设备上应用 NAT 规则,也可以在给定 SevOne NMS 集群中的外部网络设备上应用 NAT 规则。 这两种方案都达到了同样的效果。

选择在何处部署 firewalld NAT 规则取决于集群的部署模型以及集群是否已在一个或其他数据中心内构建的历史记录。

通常,最好将 firewalld NAT 规则部署到最少数量的设备,或者避免将规则应用于已添加到 NMS 集群的设备,因为这可能需要更改 NMS 对等 IP 寻址:

  • 在典型情况下,NMS 集群的大部分位于内部网络,只有 DNC 对等设备位于外部网络,通常最好先在内部网络建立集群,添加 DNC 时将 firewalld NAT 应用于外部网络
  • 如果外部网络中没有设备,那么无需应用任何 firewalld NAT 规则,并且可以正常方式构建集群。 如果在稍后阶段将同级添加到外部网络,那么必须对外部同级应用 firewalld NAT 规则以避免对内部同级进行更改。

SevOne 建议,在所有情况下,必须先将 firewalld NAT 规则应用于对等设备,然后再尝试将对等设备添加到 NMS 集群。 如果需要将 firewalld NAT 规则应用于现有 NMS 集群,请仅将 NAT 规则应用于非 NAT 的服务器,以便我们不需要更改对等表条目。

firewalld NAT 应用于内部网络对等方

在此模型中,同级表中维护的 NMS 对等地址是内部同级的 NAT IP 地址和外部同级的物理 IP 地址。

firewalld NAT 规则将应用于内部同级,以使它们能够使用内部网络中的 NAT IP 地址相互通信。

外部同级不需要任何 firewalld NAT 配置,因为它们可以使用 NMS 同级表中存储的 NAT IP 地址路由到内部同级。

示例

basicNAT2

firewalld NAT 规则

firewalld NAT 规则将应用于每个内部主机。

规则 描述
NAT OUTPUT DNAT 从 NAT IP 地址到每个内部网络主机的物理 IP 地址的目标地址转换。
NAT INPUT SNAT 从物理 IP 地址到每个内部网络主机的 NAT IP 地址的源地址转换。
NAT 路由后 SNAT 从物理 IP 地址到本地主机的 NAT IP 地址的源地址转换。

示例

basicNAT3

NMS 集群同级表具有以下同级。

同级 1 NAT IP 地址 10.133.72.26 10.133.72.27 内部网络
同级 2 物理 IP 地址 10.133.72.21 10.133.72.22 外部网络

主机 10.133.72.26 具有以下 firewalld NAT 规则。

ipv4 nat OUTPUT 0 -d 10.133.72.26 -j DNAT --to-destination 10.168.180.21
ipv4 nat OUTPUT 0 -d 10.133.72.27 -j DNAT --to-destination 10.168.180.22
ipv4 nat POSTROUTING 0 -d 10.168.180.21 -j SNAT --to-source 10.133.72.26
ipv4 nat INPUT 0 -s 10.168.180.22 -j SNAT --to-source 10.133.72.27
将同级添加到内部网络

必须先将 firewalld NAT 配置应用于内部同级,然后再将其添加到 NMS 集群。

  • 创建或更新 nat.csv 文件,其中包含每个内部同级 (包括要添加的新内部同级) 的物理和 NAT IP 地址。
  • 更新 hosts.ini 文件,其中包含应用 NAT 规则的所有主机以及要添加的新内部同级。
  • 在应用新同级之前,请确保新同级具有 ssh 连接。
  • 在所有其他现有内部同级上更新 firewalld NAT 规则,并将其添加到新同级上。 详情请参阅 " 实施 "部分。
  • 检查新的内部对等节点是否使用新的内部对等节点的 NAT IP 地址与集群中的所有其他对等节点连接。
  • 使用其 NAT IP 地址将新的内部同级添加到 NMS 集群。
将同级添加到外部网络
  • 不需要 firewalld NAT 配置更改。
  • 使用物理 IP 地址将外部网络同级添加到 NMS 集群。

firewalld NAT 应用于外部网络

在此模型中, NMS 对等地址是内部和外部网络中所有对等节点的物理 IP 地址。

firewalld NAT 规则应用于每个外部同级,以使它们能够使用内部同级的物理 IP 地址与内部同级通信。

内部同级不需要任何 firewalld NAT 规则配置,因为它们可以使用其物理地址路由到外部网络和内部同级。

basicNAT4

firewalld NAT 规则

firewalld NAT 规则将应用于每个外部主机。

规则 描述
NAT OUTPUT DNAT 每个内部网络主机的目标地址从物理 IP 地址转换为 NAT IP 地址。
NAT INPUT SNAT 从 NAT IP 地址到每个内部网络主机的物理 IP 地址的源地址转换。

示例

basicNAT5

NMS 集群同级表具有以下同级。

同级 1 物理 IP 地址 10.168.180.21 10.168.180.22 内部网络
同级 2 物理 IP 地址 10.133.72.21 10.133.72.22 外部网络

外部网络对等设备包含以下 firewalld NAT 规则。

ipv4 nat OUTPUT 0 -d 10.168.180.21 -j DNAT --to-destination 10.133.72.26
ipv4 nat OUTPUT 0 -d 10.168.180.22 -j DNAT --to-destination 10.133.72.27
ipv4 nat INPUT 0 -s 10.133.72.26 -j SNAT --to-source 10.168.180.21
ipv4 nat INPUT 0 -s 10.133.72.27 -j SNAT --to-source 10.168.180.22
将同级添加到内部网络

在将内部同级添加到集群之前,必须将 firewalld NAT 配置应用于或更新到任何现有外部同级。

  • 创建或更新 nat.csv 文件,其中包含每个内部同级 (包括要添加的新内部同级) 的物理和 NAT IP 地址。
  • 创建或更新包含外部主机的 hosts.ini 文件。
  • 对所有现有外部同级应用或更新 firewalld NAT 规则。 详情请参阅 " 实施 "部分。
  • 检查新的内部同级是否使用新的内部同级的物理 IP 地址与集群中的所有其他同级连接。
  • 使用其物理 IP 地址将新的内部同级添加到 NMS 集群。
将同级添加到外部网络

必须将 firewalld NAT 配置应用于新的外部同级,然后才能将其添加到 NMS 集群。

  • 确认现有 nat.csv 文件包含所有内部同级。
  • 检查是否存在与新的外部同级的 ssh 连接。
  • 使用新的外部同级更新/创建 hosts.ini 文件。
  • 使用实施部分的命令应用 firewalld NAT 规则。
  • 检查新的外部同级是否使用其物理 IP 地址与集群中的所有其他同级进行了连接。
  • 使用其物理 IP 地址将新的外部同级添加到 NMS 集群。

实现

重要信息: 如果 iptables.service 已安装并正在运行,那么它不会通过 firewalld 添加规则,并且将退出执行。

创建 nat.csv 和 hosts.ini 文件

  1. 使用您选择的文本编辑器,在任何目录中创建 nat.csv 文本文件。 例如,/etc/SevOne/nat. nat.csv 文件必须包含所有内部设备(应用 NAT 的设备)的物理 IP 地址和 NAT IP 地址。 .csv 文件的格式如下所示。
    <physical IP 1>,<NAT IP 1>
    <physical IP 2>,<NAT IP 2>
    ...
    要点: nat.csv 文件不包含标题行。

    示例

    10.168.180.21, 10.133.72.26
    10.168.180.22, 10.133.72.27
  2. 使用您选择的文本编辑器,在任何目录中创建 hosts.ini 文本文件。 例如,/etc/SevOne/nat. hosts.ini 文件必须包含应用 NAT 规则的主机 IP 地址。 .csv 文件的格式如下所示。
    <hostip1>
    <hostip2>
    ...
    要点: hosts.ini 文件不包含标题行。

    示例

    10.133.72.21
    10.133.72.22

生成 firewalld NAT 规则

  1. 执行以下命令以在 hosts.ini 文件中提到的所有同级上生成 NAT 规则。
    
    podman exec -it nms-nms-nms /bin/bash
    
    SevOne-act firewall apply-nat --natfile /etc/SevOne/nat/nat.csv \
    --ipfile /etc/SevOne/nat/hosts.ini

    该脚本会检测本地主机的 IP 地址,并根据规则是应用于 NAT 'd 主机 (内部网络) 还是非 NAT' d 主机 (外部网络) 来确定相应的 firewalld NAT 规则。

  2. 如果规则不符合预期,请更正 nat.csv 文件。 要验证 NAT 规则是否正确,请执行 验证规则中的命令。
    1. 执行以下命令以清空规则。
      
      podman exec -it nms-nms-nms /bin/bash
      
      SevOne-act firewall flush-nat --ipfile /etc/SevOne/nat/hosts.ini
    2. 再次应用 NAT 规则。
      
      podman exec -it nms-nms-nms /bin/bash
      
      SevOne-act firewall apply-nat --natfile /etc/SevOne/nat/nat.csv \
      --ipfile /etc/SevOne/nat/hosts.ini

  3. 要验证是否成功添加了规则,请在每个主机上执行以下命令以检查 firewalld NAT 规则。
    firewall-cmd --direct --get-all-rules

    检查是否永久设置了规则

    firewall-cmd --permanent --direct --get-all-rules
    注: 如果永久添加或未添加规则,那么可以选中 /etc/firewalld/direct.xml

验证

防火墙-cmd 命令

以下是有用的 firewall-cmd 命令。

检查是否在防火墙中装入了规则

firewall-cmd --direct --get-all-rules

检查是否永久装入规则

firewall-cmd --permanent --direct --get-all-rules

检查文件中是否存在规则

cat /etc/firewalld/direct.xml

检查是否已成功添加 NAT 条目

mysqldata -e "select * from local.nat_config_info"
          
+----+---------------+---------------+---------------------+
| ID | 物理 IP | nat_IP | 创建日期
+----+---------------+---------------+---------------------+
| 1 | 10.168.180.21 | 10.133.72.26 | 2020-06-25 05:05:49 |
| 2 | 10.168.180.22 | 10.133.72.27 | 2020-06-25 05:05:50 |
+----+---------------+---------------+---------------------+
          

手动对等连接检查

在将新同级添加到 NMS 集群之前,必须执行手动连接检查,以确保新同级使用将用于将同级添加到 NMS 集群的 IP 地址与所有其他同级进行连接。

  1. 通过使用 NMS 同级表中包含的同级 IP 地址,从新同级使用 sshmysql 确认可以访问集群中的每个现有同级。
    
    ssh <existing peering address>
    
    mysql -h <existing peering address>
    重要信息: 在将新同级添加到 NMS 集群之前,将拒绝 MySQL 连接。 确认连接消息中的 IP 地址是尝试建立连接的同级的对等地址-它可以是 NAT IP 地址,也可以是用于添加新同级的物理 IP 地址。
  2. 确认可使用 ssh 从使用新同级的对等地址的每个现有同级访问新同级。
    
    ssh <new peering address>
    
    mysql -h <new peering address>
    重要信息: 在将新同级添加到 NMS 集群之前,将拒绝 MySQL 连接。 确认连接消息中的 IP 地址是尝试连接的同级的对等地址。

NMS 集群连接检查

构建 NMS 集群后,可以使用标准 NMS 集群运行状况检查脚本来验证所需连接是否在所有同级之间工作,并对集群活动期间观察到的任何问题进行故障诊断。

  1. 执行以下命令以执行集群的完全检出。
    
    podman exec -it nms-nms-nms /bin/bash
    
    SevOne-act check checkout –full-cluster
    重要信息: 如果检测到任何错误,那么可以执行个别检查脚本。
  2. 要检测连接和端口访问问题,请执行以下命令。
    
    podman exec -it nms-nms-nms /bin/bash
    
    SevOne-act check peers --full-cluster -v
    
    SevOne-act check mysql-full-mesh-connectivity --full-cluster -v

firewalld 服务检查

  1. 执行以下命令以检查 firewalld 服务是否 已启用处于活动状态
    firewalld.service - firewalld - dynamic firewall daemon
                  
    已加载:已加载 ( /usr/lib/systemd/system/firewalld.service; 已启用;供应商预设:已启用)
    活动:自 Tue 2020-06-23 10:00:54 UTC 起活动(运行);1 天 20h 前
    文档:man:firewalld(1)
    主 PID: 22923(firewalld)
    任务:2
    内存 29.0M
    CG 组: /system.slice/firewalld.service
    └─22923 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

已启用防火墙?

由于将永久添加 NAT 规则,因此在 NMS 升级期间不需要执行任何新步骤。 要使 NAT 工作,

  1. 必须在集群中的每个同级上启用防火墙。
  2. 确保 firewalld 在升级后正在运行。 如果没有,请执行以下命令。
    systemctl restart firewalld

常见问题

如果 NAT ' d 服务器的 IP 地址被更改了怎么办?

如果使用 SevOne-change-ip 更改了 IP 地址,或者更改了 NAT 设备的 IP 地址,则必须重新生成 firewalld 规则。

如果必须重建已具有 NAT 配置的设备,那么应用 NAT 规则的过程是什么?

必须重新生成 firewalld 规则。

如果我向集群添加新同级会怎样?

如果将新同级添加到集群,那么必须先应用 firewalld NAT 配置规则,然后再将该同级添加到 NMS 集群。

如果我需要使用 NAT 移除同级,该怎么办?

对于已除去的同级,必须手动清空 NAT 规则。 一旦删除,您必须执行刷新规则脚本,如生成防火墙 NAT 规则中所述。 在其余同级上,必须使用更新后的配置再次应用 NAT 规则。

如果我要更改可能配置 NAT 的当前集群引导程序同级,该怎么办?

如果 NAT ' d 服务器 (即当前集群领导者同级) 的 IP 地址没有更改,那么不需要重新应用 NAT 规则。 但是,如果任何对等设备的 IP 地址发生变化,则必须使用 NAT 实用程序命令(如 SevOne-act firewall flush-natSevOne-act firewall apply-nat )刷新并重新配置配置。 此外,在生成 firewalld NAT 规则一节中也有描述

如果更改了主机名会发生什么情况?

不需要更改。

如果配置了 NAT ,那么它是否需要 firewalld 服务才能运行?

是,如果配置了 NAT ,那么 firewalld 服务必须始终启动并运行。

设置了主动备份后,如何进行绑定?

不支持通过虚拟 IP 进行 NAT 配置。 如果将绑定配置为使用虚拟 IP ,那么将不支持该绑定。

如果使用的是定制端口并且未启用 firewalld ,那么需要执行哪些步骤?

请参阅 SevOne NMS System Administration Guide 中的以下部分,以根据需要添加 port 规则。

  • 管理 > 集群管理器 > 集群设置 选项卡> 防火墙 子选项卡。
  • 管理 > 集群管理器 > [特定设备] > 对等设置 选项卡> 防火墙 子选项卡。

主动备份故障的接口绑定

概述

绑定将多个网络接口连接在一起。 Linux 以太网绑定驱动程序 ( ) 支持多种绑定模式https://www.kernel.org/doc/Documentation/networking/bonding.txt ). 但是,本文档将仅讨论最常见且适用的绑定方式 active-backup。 此方式在单个设备中提供网络容错。 例如,如果设备具有两个在活动备份中绑定并连接到两个不同交换机的接口,那么如果主接口的交换机发生故障,那么辅助接口将接管。 有关详细信息,请参阅 Linux Ethernet Bonding Driver ( https://www.kernel.org/doc/Documentation/networking/bonding.txt ) 和 Red Hat Enterprise Linux 的联网指南 ( https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/ ).

配置绑定

使用 Network Manager 命令行工具 NMCLI来配置绑定。 此工具提供了一种方便的方法来对网络配置进行更改,而无需直接编辑文本文件。 您将需要在绑定接口中配置相关网络详细信息。 在以下示例中,将使用 IPv4 网络详细信息。

  • IP 地址 - 10.168.116.5
  • 子网掩码 - 255.255.252.0 (CIDR of /22)
  • 网关 - 10.168.116.1
注: 不建议在通过同一接口连接时编辑网络接口。 这些更改应该在通过 iDRAC (对于物理设备) 或 系统管理器 (对于虚拟设备) 连接到控制台时执行。
  1. 使用ssh支持身份登录SevOneNMS 设备。
    ssh support@<NMS appliance>
  2. 确定要绑定的可用网络连接的 名称 。 在以下示例中,将在 ens160ens33 之间执行绑定。
    
    nmcli conn show
                
    名称 uuid 类型 设备
    ens160 e2f7df86-55c8-4227-a00d-0f048e030b1a 以太网 ens160
    ens33 f2b05eaa-e9fa-3f03-a503-623de3bae7c5 以太网 ens33
  3. 使用用户提供的网络详细信息创建绑定接口。 例如,
    1. 连接名称 - bond0
    2. IPv4 - 10.168.116.5 ,子网掩码采用 CIRD 表示法 /22 (255.255.252.0)
    3. 方式 -活动备份
    4. 链路监视 -MII
    5. 监视频率 - 100ms
    6. 链路上行延迟 - 400ms (建议 4x 监视频率)
    7. 链路下降延迟 - 400ms (建议 4x 监视频率)

      示例

      
      nmcli con add type bond con-name bond0 ifname bond0 \
      ip4 10.168.116.5/22 gw4 10.168.116.1 ipv4.method manual \
      ipv6.method ignore \
      bond.options "mode=active-backup,miimon=100,downdelay=400,updelay=400"
                      
      连接 ' bond0 ' ( e8048f88-80e5-43c1-a981-3bcb9b8ccc69 ) 已成功添加。
  4. 将第一个接口添加到刚刚创建的 bond0
    
    nmcli con add type bond-slave ifname ens160 master bond0
                
    连接 ' bond-slave-ens160 ' ( fe926d34-0e12-46e3-a07c-fa78e5e0c8a3 ) 已成功添加。
  5. 启动第一个 跟随者 接口。
    
    nmcli conn up bond-slave-ens160
                
    连接成功激活(D-Bus 激活路径: /org/freedesktop/NetworkManager/
    ActiveConnection/51).
  6. 将第一个 追随者 接口设置为 bond0的主接口。
    
    nmcli dev mod bond0 +bond.options "primary=ens160"
                
    连接成功重新应用到设备 " bond0 "。
  7. 对于每个其他接口,将其添加为 跟随者 ,然后将其启动。
    
    nmcli con add type bond-slave ifname ens33 master bond0
                
    连接 ' bond-slave-ens33 ' ( 073517f9-723a-4abe-a97e-fc10077f0ef3 ) 已成功添加。
    
    
    nmcli conn up bond-slave-ens33
                
    连接成功激活(D-Bus 激活路径: /org/freedesktop/NetworkManager/
    ActiveConnection/51).
  8. 验证配置。
    cat /etc/sysconfig/network-scripts/ifcfg-bond0
    BONDING_OPTS="downdelay=400 miimon=100 mode=active-backup updelay=400"
    TYPE=Bond
    BONDING_MASTER=yes
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    IPADDR=10.168.116.5
    PREFIX=22
    GATEWAY=10.168.116.1
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=no
    NAME=bond0
    UUID=f3fa06e0-66b7-47d6-aff3-3a3db27ba596
    DEVICE=bond0
    ONBOOT=yes
    
    cat /proc/net/bonding/bond0
                
    以太网通道绑定驱动程序: v3.7.1 (2020 年 1 月 27 日)
    
    绑定模式:容错(主动备份)
    主从机: ens160 (始终为 primary_reselect)
    当前激活的从属设备: ens160
    MII 状态:启动
    MII 轮询间隔(毫秒):100
    上升延迟(毫秒):400
    下降延迟(毫秒):400
    
    从属接口: ens160
    MII 状态:启动
    速度: 10000 Mbps
    双工:全
    Link Failure Count: 0
    永久 HW 地址: 00:50:56:8c:11:13
    从属队列 ID: 0
    
    从属接口: ens33
    MII 状态:启动
    速度: 1000 Mbps
    双工:全
    Link Failure Count: 0
    永久 HW 地址: 00:50:56:8c:2c:d0
    从属队列 ID: 0
  9. 从另一个设备,验证您是否可以对 bond0 IP 执行 ping 操作并接收响应。
    
    SevOne-test$ ping 10.168.116.5
    PING 10.168.116.5 (10.168.116.5): 56 data bytes
    64 bytes from 10.168.116.5: icmp_seq=0 ttl=63 time=0.293 ms
    64 bytes from 10.168.116.5: icmp_seq=1 ttl=63 time=0.331 ms
    64 bytes from 10.168.116.5: icmp_seq=2 ttl=63 time=0.249 ms
    64 bytes from 10.168.116.5: icmp_seq=3 ttl=63 time=0.285 ms
  10. 如果未收到响应,请从磁盘重新装入所有连接文件,并在要与之绑定的设备上重新启动网络服务。
    重要信息: 请按原样执行下面的整个命令,以避免任何 断开连接框不可访问 问题。
    /usr/bin/nmcli c reload; /usr/bin/nmcli networking off; /usr/bin/nmcli networking on
  11. 现在,您已设置绑定并正常工作。 您可以尝试关闭主接口以确保 跟随者 接管。
    
    nmcli conn down bond-slave-ens160
                
    连接 ' bond-slave-ens160 ' 已成功停用(D-Bus 活动路径:/org/freedesktop/
    NetworkManager/ActiveConnection/55)
    
    cat /proc/net/bonding/bond0
                
    以太网通道绑定驱动程序: v3.7.1 (2020 年 1 月 27 日)
    绑定模式:容错(主动备份)
    主从机:无
    当前激活的从属设备: ens33
    MII 状态:启动
    MII 轮询间隔(毫秒):100
    上升延迟(毫秒):400
    下降延迟(毫秒):400
    从属接口: ens33
    MII 状态:启动
    速度: 1000 Mbps
    双工:全
    Link Failure Count: 0
    永久 HW 地址: 00:50:56:8c:2c:d0
    从属队列 ID: 0
    
    nmcli conn up bond-slave-ens160
                
    
                  cat /proc/net/bonding/bond0
                
    以太网通道绑定驱动程序: v3.7.1 (2020 年 1 月 27 日)
    
    绑定模式:容错(主动备份)
    主从机: ens160 (始终为 primary_reselect)
    当前激活的从属设备: ens160
    MII 状态:启动
    MII 轮询间隔(毫秒):100
    上升延迟(毫秒):400
    下降延迟(毫秒):400
    
    从属接口: ens33
    MII 状态:启动
    速度: 1000 Mbps
    双工:全
    Link Failure Count: 0
    永久 HW 地址: 00:50:56:8c:2c:d0
    从属队列 ID: 0
    
    从属接口: ens160
    MII 状态:启动
    速度: 10000 Mbps
    双工:全
    Link Failure Count: 0
    永久 HW 地址: 00:50:56:8c:11:13
    从属队列 ID: 0
要点: 要配置绑定,而不是使用 Network Manager 命令行工具 NMCLI,如上所述,您可以选择使用 Network Manager 文本用户界面 NMTUI。 有关 nmtui 的详细信息,请参阅 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-configure_bonding_using_the_text_user_interface_nmtui.