NMCLI 概述
nmcli
是一个网络管理命令行工具,它可以管理Centos的各种网络配置,在以前我们需要手动编辑网卡配置文件来处理的事情现在通过nmcli
都可以轻松完成。
要获取完整的使用说明你可以通过nmcli -h
来查看,同时也可以使用man nmcli
来查看更详细的说明。
安装NetworkManager
yum install -y NetworkManager
# or
apt install network-manager -y
使用最小安装 ( 未安装 GUI 情况下 ) 的 Debian 将使用 network 网络管理器。而安装 GUI 的情况下则会安装 NetworkManager。
迁移
NetworkManager 会带来两个新的网络配置工具,nmcli
与 nmtui
。
但 NetworkManager 会覆盖已有的所有网络配置,包括 DNS 在内,因此所有配置要使用 NetworkManager 配套工具进行。
如果要整体对网络管理器进行迁移,需要进行一番操作,在继续使用之前,我们将原配置文件的网卡配置注释。
vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
# 注释原有的网卡配置
# allow-hotplug ens32
# iface ens32 inet dhcp
接下来重启 networking 与 network-manager 服务
systemctl restart networking
systemctl restart NetworkManager
基础网络管理
设置网络
显示 NetworkManager 总体状态
nmcli general status
要显示所有连接的列表,可使用 nmcli con show
。要仅列出活动的连接,可用-a
、 --active
选项。
nmcli connection show
指定连接 ID(名称),查看该连接的详细信息。
nmcli connection show "eth1"
显示由 NetworkManager 识别到设备及其状态
nmcli device show
使用 nmcli 启动和停止接口
可使用 nmcli 工具启动和停止任意网络接口,其中包括主接口。
nmcli con up id bond0
nmcli con up id port0
nmcli dev disconnect iface bond0
nmcli dev disconnect iface ens3
建议使用 nmcli dev disconnect iface iface-name 命令,而不是 nmcli con down id id-string 命令,因为连接断开可将该接口放到“手动”模式,这样做用户让 NetworkManager 启动某个连接前,或发生外部事件(比如载波变化、休眠或睡眠)前,不会启动任何自动连接。
检查设备及连接的状态:
nmcli device status
查看配置的连接详情:
nmcli -p connection show ens192
要更改主机发送到DHCP服务器的主机名,请按照一下方式修改 dhcp-hostname
属性
nmcli connection modify ens192 ipv4.dhcp-hostname Services ipv6.dhcp-hostname Services
要忽略 DHCP
服务器发送到主机的 DNS
服务器,请按照一下操作修改 ignore-auto-dns
属性
nmcli connection modify ens192 ipv4.ignore-auto-dns yes ipv6.ignore-auto-dns yes
修改网络信息
通过 nmcli con mod
参数修改现有连接。参数为键/值对组合。键包含设置名称和属性名称。使用 nmcli con show
查看连接的当前值的列表。
关闭自动连接。
nmcli con mod eth1 connection.autoconnect no
指定 DNS 服务器。
nmcli con mod eth1 ipv4.dns 223.5.5.5
一些配置参数可能增加或删除了值。在参数前添加 +/- 符号。添加辅助 DNS 服务器。
nmcli con mod eth1 +ip4.dns 8.8.8.8
当然也可以使用如下方式直接设置2个DNS(该方式会替换掉已有设置)
nmcli con mod eth1 ipv4.dns "8.8.8.8 8.8.4.4"
设置DHCP 为手动获取IP
nmcli con mod eth1 ipv4.method manual
设置固定IP
nmcli connection modify eth1 ipv4.addresses 192.168.5.200/24
设置网关
nmcli con mod eth1 ipv4.gateway 192.168.5.1
混合设置
nmcli
是支持混合命令使用的,它可以将上述命令合并在一起使用。
nmcli connection modify ens192 ip4 192.168.5.201 gw4 192.168.5.1 ipv4.method manual
激活配置
当所有设置完成以后,需要使用 nmcli con up eht1 这样的命名来激活新的配置,否则所有的设置均不会生效。
nmcli con mod
将把设置保存到配置文件中。要激活更改,需要激活或重新激活该连接。
nmcli con up eth1
nmcli 命令摘要
命令 | 用途 |
---|---|
nmcli dev status | 列出所有设备。 |
nmcli con show | 列出所有连接。 |
nmcli con up "" | 激活连接。 |
nmcli con down "" | 取消激活连接。如果自动重新连接为是,则该连接将重新启动。 |
nmcli dev dis | 中断接口,并且暂时禁用自动连接。 |
nmcli net off | 禁用所有管理的接口。 |
nmcli con add ... | 添加新连接。 |
nmcli con mod "" ... | 修改连接。 |
nmcli con del "" | 删除连接。 |
NMTUI 文本用户界面
NetworkManager 文本用户界面(TUI)工具 nmtui 可提供一个文本界面配置由 NetworkManager 控制的网络。该工具包含在 NetworkManager-tui 子软件包中。它不会默认随 NetworkManager 安装该子软件包。要安装 NetworkManager-tui,请作为 root
运行以下命令:
yum install NetworkManager-tui
要启动 nmtui,请按如下方式运行命令:
nmtui
此时会出现文本用户界面。要在该界面中导航,请使用箭头键,或按 Tab 在选项间前进,按 press Shift+Tab 后退。按 Enter 选择某个选项。Space 键切换选择库状态。
有以下命令可用:
nmtui edit connection-name
如果未提供连接名称,则会出现选择菜单。如果提供连接名称,并正确验证,则会出现相关的 编辑连接 页面。nmtui connect connection-name
如果未提供连接名称,则会出现选择菜单。如果提供连接名称并正确验证,则会激活相关连接。如命令无效,则会输出用法信息。
nmtui 不支持所有连接类型。特别是无法编辑使用 WPA Enterprise 的 VPN、Wi-Fi 连接,或无法编辑使用 802.1X
的以太网连接。
文章评论