第 34 章 使用带有存储在文件系统上证书的 802.1X 标准将 RHEL 客户端认证到网络
管理员通常使用基于 IEEE 802.1X 标准的基于端口的网络访问控制(NAC)来保护网络不受未授权 LAN 和 Wi-Fi 客户端的影响。要让客户端能够连接到这样的网络,您必须在此客户端上配置 802.1X 身份验证。
34.1. 使用 nmcli
对现有以太网连接配置 802.1X 网络身份验证
您可以使用 nmcli
工具在命令行上配置带有 802.1X 网络身份验证的以太网连接。
先决条件
- 网络支持 802.1X 网络身份验证。
- 以太网连接配置集存在于 NetworkManager 中,且具有有效的 IP 配置。
客户端上存在 TLS 身份验证所需的以下文件:
-
存储的客户端密钥位于
/etc/pki/tls/private/client.key
文件中,该文件归root
用户所有,且只对 root 可读。 -
客户端证书存储在
/etc/pki/tls/certs/client.crt
文件中。 -
证书颁发机构(CA)证书存储在
/etc/pki/tls/certs/ca.crt
文件中。
-
存储的客户端密钥位于
-
wpa_supplicant
软件包已安装。
流程
将扩展验证协议(EAP)设置为
tls
,将路径设置为客户端证书和密钥文件:# nmcli connection modify enp1s0 802-1x.eap tls 802-1x.client-cert /etc/pki/tls/certs/client.crt 802-1x.private-key /etc/pki/tls/certs/certs/client.key
请注意,您必须在一个命令中设置
802-1x.eap
、802-1x.client-cert
和802-1x.private-key
参数。设置 CA 证书的路径:
# nmcli connection modify enp1s0 802-1x.ca-cert /etc/pki/tls/certs/ca.crt
设置证书中使用的用户的身份:
# nmcli connection modify enp1s0 802-1x.identity user@example.com
可选:将密码存储在配置中:
# nmcli connection modify enp1s0 802-1x.private-key-password password
重要默认情况下,NetworkManager 将密码以明文形式存储在磁盘上的连接配置文件中,但该文件只对
root
用户可读。但是,在配置文件中清除文本密码会有安全隐患。要提高安全性,请将
802-1x.password-flags
参数设为0x1
。有了这个设置,在具有 GNOME 桌面环境或运行nm-applet
的服务器上,NetworkManager 从这些服务中检索密码。在其他情况下,NetworkManager 会提示输入密码。激活连接配置集:
# nmcli connection up enp1s0
验证
- 访问需要网络身份验证的网络上的资源。
其他资源