2.2. 使用 nmcli 交互式编辑器配置以太网连接
如果您通过以太网将主机连接到网络,您可以使用 nmcli
工具在命令行上管理连接的设置。
先决条件
- 服务器配置中存在物理或虚拟以太网网络接口控制器(NIC)。
步骤
列出 NetworkManager 连接配置文件:
nmcli connection show
# nmcli connection show NAME UUID TYPE DEVICE Wired connection 1 a5eb6490-cc20-3668-81f8-0314a27f3f75 ethernet enp1s0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认情况下,NetworkManager 为主机中的每个 NIC 创建一个配置文件。如果您计划仅将这个 NIC 连接到特定的网络,请调整自动创建的配置文件。如果您计划使用不同的设置将这个 NIC 连接到网络,请为每个网络创建单独的配置文件。
以互动模式启动
nmcli
:要创建额外的连接配置文件,请输入:
nmcli connection edit type ethernet con-name "<connection-name>"
# nmcli connection edit type ethernet con-name "<connection-name>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要修改现有的连接配置文件,请输入:
nmcli connection edit con-name "<connection-name>"
# nmcli connection edit con-name "<connection-name>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
可选:重命名连接配置文件:
nmcli> set connection.id Internal-LAN
nmcli> set connection.id Internal-LAN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在有多个配置文件的主机上,有意义的名称可以更容易识别配置文件的用途。
不要使用引号来设置包含空格的 ID,以避免
nmcli
将引号作为名称的一部分。例如,要将Example Connection
设置为 ID,请输入set connection.id Example Connection
。显示连接配置文件的当前设置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果创建一个新的连接配置文件,请设置网络接口:
nmcli> set connection.interface-name enp1s0
nmcli> set connection.interface-name enp1s0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 IPv4 设置:
要使用 DHCP,请输入:
nmcli> set ipv4.method auto
nmcli> set ipv4.method auto
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
ipv4.method
已设置为auto
(默认),请跳过这一步。要设置静态 IPv4 地址、网络掩码、默认网关、DNS 服务器和搜索域,请输入:
nmcli> ipv4.addresses 192.0.2.1/24 Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes nmcli> ipv4.gateway 192.0.2.254 nmcli> ipv4.dns 192.0.2.200 nmcli> ipv4.dns-search example.com
nmcli> ipv4.addresses 192.0.2.1/24 Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes nmcli> ipv4.gateway 192.0.2.254 nmcli> ipv4.dns 192.0.2.200 nmcli> ipv4.dns-search example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
配置 IPv6 设置:
要使用无状态地址自动配置(SLAAC),请输入:
nmcli> set ipv6.method auto
nmcli> set ipv6.method auto
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
ipv6.method
已设置为auto
(默认),请跳过这一步。要设置静态 IPv6 地址、网络掩码、默认网关、DNS 服务器和搜索域,请输入:
nmcli> ipv6.addresses 2001:db8:1::fffe/64 Do you also want to set 'ipv6.method' to 'manual'? [yes]: yes nmcli> ipv6.gateway 2001:db8:1::fffe nmcli> ipv6.dns 2001:db8:1::ffbb nmcli> ipv6.dns-search example.com
nmcli> ipv6.addresses 2001:db8:1::fffe/64 Do you also want to set 'ipv6.method' to 'manual'? [yes]: yes nmcli> ipv6.gateway 2001:db8:1::fffe nmcli> ipv6.dns 2001:db8:1::ffbb nmcli> ipv6.dns-search example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
保存并激活连接:
nmcli> save persistent
nmcli> save persistent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保留为互动模式:
nmcli> quit
nmcli> quit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
显示 NIC 的 IP 设置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 IPv4 默认网关:
ip route show default
# ip route show default default via 192.0.2.254 dev enp1s0 proto static metric 102
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 IPv6 默认网关:
ip -6 route show default
# ip -6 route show default default via 2001:db8:1::fffe dev enp1s0 proto static metric 102 pref medium
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 DNS 设置:
cat /etc/resolv.conf search example.com nameserver 192.0.2.200 nameserver 2001:db8:1::ffbb
# cat /etc/resolv.conf search example.com nameserver 192.0.2.200 nameserver 2001:db8:1::ffbb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果多个连接配置文件同时处于活跃状态,则
nameserver
条目的顺序取决于这些配置文件中的 DNS 优先级值和连接类型。使用
ping
工具验证这个主机是否可以向其他主机发送数据包:ping <host-name-or-IP-address>
# ping <host-name-or-IP-address>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
故障排除
- 验证网线是否插入到主机和交换机。
- 检查链路失败是否只存在于此主机上,或者连接到同一交换机的其它主机上。
- 验证网络电缆和网络接口是否如预期工作。执行硬件诊断步骤,并替换缺陷的网线和网络接口卡。
- 如果磁盘中的配置与设备中的配置不匹配,则启动或重启 NetworkManager 会创建一个代表该设备的配置的内存连接。有关详情以及如何避免此问题,请参阅红帽知识库解决方案 在重启 NetworkManager 服务后,NetworkManager 复制了连接。