7.3. 使用 nmstatectl 配置 MACsec 连接
				您可以通过 nmstatectl 工具,以声明的方式将以太网接口配置为使用 MACsec。例如,在 YAML 文件中,您可以描述网络所需的状态,假设其在通过以太网连接的两个主机之间有一个 MACsec 连接。nmstatectl 工具解释 YAML 文件,并在主机之间部署持久和一致的网络配置。
			
使用 MACsec 安全标准保护链路层的通信,也称为 Open Systems Interconnection (OSI)模型的第 2 层,提供以下显著优点:
- 第 2 层的加密消除了在第 7 层加密单个服务的需要。这减少了管理与每个主机上每个端点的大量证书关联的开销。
- 直接连接的网络设备(如路由器和交换机)之间的点对点安全性。
- 不需要对应用程序和高层协议进行更改。
先决条件
- 服务器配置中存在一个物理或虚拟以太网网络接口控制器(NIC)。
- 
						nmstate软件包已安装。
流程
- 在您配置 MACsec 的第一个主机上,为预共享密钥创建连接关联密钥(CAK)和连接关联密钥名称(CKN): - 创建一个 16 字节的十六进制 CAK: - dd if=/dev/urandom count=16 bs=1 2> /dev/null | hexdump -e '1/2 "%04x"' - # dd if=/dev/urandom count=16 bs=1 2> /dev/null | hexdump -e '1/2 "%04x"' 50b71a8ef0bd5751ea76de6d6c98c03a- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建一个 32 字节的十六进制 CKN: - dd if=/dev/urandom count=32 bs=1 2> /dev/null | hexdump -e '1/2 "%04x"' - # dd if=/dev/urandom count=32 bs=1 2> /dev/null | hexdump -e '1/2 "%04x"' f2b4297d39da7330910a74abc0449feb45b5c0b9fc23df1430e1898fcf1c4550- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 在您要通过 MACsec 连接连接的两个主机上,完成以下步骤: - 使用以下设置创建一个 YAML 文件,如 - create-macsec-connection.yml:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
								在 mka-cak和mka-ckn参数中使用上一步中生成的 CAK 和 CKN。在 MACsec-protected 网络的每个主机上,这些值必须相同。
- 可选:在同一个 YAML 配置文件中,您还可以配置以下设置: - 
										静态 IPv4 地址 - 192.0.2.1,子网掩码为/32
- 
										静态 IPv6 地址 - 2001:db8:1::1,子网掩码为/64
- 
										IPv4 默认网关 - 192.0.2.2
- 
										IPv4 DNS 服务器 - 192.0.2.200
- 
										IPv6 DNS 服务器 - 2001:db8:1::ffbb
- 
										DNS 搜索域 - example.com
 
- 
										静态 IPv4 地址 - 
 
- 将设置应用到系统: - nmstatectl apply create-macsec-connection.yml - # nmstatectl apply create-macsec-connection.yml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
- 以 YAML 格式显示当前状态: - nmstatectl show macsec0 - # nmstatectl show macsec0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 验证流量是否加密: - tcpdump -nn -i enp0s1 - # tcpdump -nn -i enp0s1- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 可选:显示未加密的流量: - tcpdump -nn -i macsec0 - # tcpdump -nn -i macsec0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 显示 MACsec 统计信息: - ip macsec show - # ip macsec show- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 显示每种保护类型的单独的计数器:仅完整性(关闭加密)和加密(打开加密) - ip -s macsec show - # ip -s macsec show- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow