2026-01-14
运维
0

目录

nmcli修改主机名

nmcli详解

nmcli就是NetworkManager的cli(命令行)

语法

shell
[root@oulaOS ~]# nmcli --help Usage: nmcli [OPTIONS] OBJECT { COMMAND | help } OPTIONS -a, --ask ask for missing parameters -c, --colors auto|yes|no whether to use colors in output -e, --escape yes|no escape columns separators in values -f, --fields <field,...>|all|common specify fields to output -g, --get-values <field,...>|all|common shortcut for -m tabular -t -f -h, --help print this help -m, --mode tabular|multiline output mode -o, --overview overview mode -p, --pretty pretty output -s, --show-secrets allow displaying passwords -t, --terse terse output -v, --version show program version -w, --wait <seconds> set timeout waiting for finishing operations OBJECT g[eneral] NetworkManager's general status and operations n[etworking] overall networking control r[adio] NetworkManager radio switches c[onnection] NetworkManager's connections d[evice] devices managed by NetworkManager a[gent] NetworkManager secret agent or polkit agent m[onitor] monitor NetworkManager changes

查看网卡状态

shell
[root@oulaOS ~]# nmcli d status DEVICE TYPE STATE CONNECTION ens160 ethernet 已连接 ens160 virbr0 bridge connected (externally) virbr0 ens224 ethernet 已断开 -- lo loopback 未托管 -- virbr0-nic tun 未托管 -- [root@oulaOS ~]# nmcli device status DEVICE TYPE STATE CONNECTION ens160 ethernet 已连接 ens160 virbr0 bridge connected (externally) virbr0 ens224 ethernet 已断开 -- lo loopback 未托管 -- virbr0-nic tun 未托管 --

如果是已断开,表示网卡没有获取到配置文件或者没有ip等信息;未托管表示没有被NetworkManager管理

查看网卡的详细信息

shell
[root@oulaOS ~]# nmcli d show ens160 GENERAL.DEVICE: ens160 GENERAL.TYPE: ethernet GENERAL.HWADDR: 00:0C:29:AC:D8:22 GENERAL.MTU: 1500 GENERAL.STATE: 100(已连接) GENERAL.CONNECTION: ens160 GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1 WIRED-PROPERTIES.CARRIER: 开 IP4.ADDRESS[1]: 192.168.75.66/24 IP4.GATEWAY: 192.168.75.2 IP4.ROUTE[1]: dst = 192.168.75.0/24, nh = 0.0.0.0, mt = 100 IP4.ROUTE[2]: dst = 192.168.75.66/32, nh = 0.0.0.0, mt = 0, table=255 IP4.ROUTE[3]: dst = 0.0.0.0/0, nh = 192.168.75.2, mt = 100 IP4.DNS[1]: 8.8.8.8 IP4.DNS[2]: 8.8.4.4 IP6.ADDRESS[1]: fe80::106f:44fa:2e02:9e52/64 IP6.GATEWAY: -- IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 100 IP6.ROUTE[2]: dst = fe80::106f:44fa:2e02:9e52/128, nh = ::, mt = 0, table=255

查看网卡配置文件信息

shell
[root@oulaOS ~]# nmcli c show NAME UUID TYPE DEVICE ens160 af72abc2-7bf4-45d0-8304-8ae89e613a61 ethernet ens160 virbr0 06a11cf0-53da-4eef-b0fa-d582eefeba43 bridge virbr0 [root@oulaOS ~]# nmcli connection show NAME UUID TYPE DEVICE ens160 af72abc2-7bf4-45d0-8304-8ae89e613a61 ethernet ens160 virbr0 06a11cf0-53da-4eef-b0fa-d582eefeba43 bridge virbr0

添加新的网卡配置文件

shell
[root@oulaOS ~]# nmcli connection add con-name ens224 ifname ens224 type ethernet 连接 "ens224" (62dcfe95-8bc2-46e1-977e-0d265dc9532f) 已成功添加。 [root@oulaOS ~]# nmcli device status DEVICE TYPE STATE CONNECTION ens160 ethernet 已连接 ens160 virbr0 bridge connected (externally) virbr0 ens224 ethernet 连接中(正在获取 IP 配置) ens224 lo loopback 未托管 -- virbr0-nic tun 未托管 -- ## 查看配置文件 [root@oulaOS ~]# cd /etc/sysconfig/network-scripts/ [root@oulaOS network-scripts]# ls ifcfg-ens160 ifcfg-ens224 [root@oulaOS network-scripts]# cat ifcfg-ens224 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp 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=ens224 UUID=62dcfe95-8bc2-46e1-977e-0d265dc9532f DEVICE=ens224 ONBOOT=yes ##添加ip,网关,dns等信息 [root@oulaOS network-scripts]# nmcli c modify ens224 ipv4.addresses 192.168.75.200/24 ipv4.gateway 192.168.75.2 ipv4.dns 8.8.8.8 connection.autoconnect yes ## 重启网卡 ## 重载配置文件,可能不太及时 [root@oulaOS network-scripts]# nmcli c reload ens160 ## 将网卡和配置文件断开,及网卡down掉了 [root@oulaOS network-scripts]# nmcli c down ens160 ## 重新将网卡和配置文件链接 [root@oulaOS ~]# nmcli c up ens160 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/18)

为网卡添加一个vip

shell
[root@oulaOS ~]# nmcli c modify ens160 +ipv4.addresses 192.168.72.199/24 [root@oulaOS network-scripts]# cat ifcfg-ens160 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no 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=af72abc2-7bf4-45d0-8304-8ae89e613a61 DEVICE=ens160 ONBOOT=yes IPADDR=192.168.75.66 NETMASK=255.255.255.0 GATEWAY=192.168.75.2 DNS1=8.8.8.8 DNS2=8.8.4.4 PREFIX=24 IPADDR1=192.168.72.199 PREFIX1=24 NETMASK1=255.255.255.0 ## 重启网卡生效 [root@oulaOS network-scripts]# nmcli c down ens160 成功停用连接 "ens160"(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/19) [root@oulaOS network-scripts]# nmcli c up ens160 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/20)

查看网卡信息:

shell
[root@oulaOS network-scripts]# nmcli d show ens160 GENERAL.DEVICE: ens160 GENERAL.TYPE: ethernet GENERAL.HWADDR: 00:0C:29:AC:D8:22 GENERAL.MTU: 1500 GENERAL.STATE: 100(已连接) GENERAL.CONNECTION: ens160 GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/20 WIRED-PROPERTIES.CARRIER: 开 IP4.ADDRESS[1]: 192.168.72.199/24 IP4.ADDRESS[2]: 192.168.75.66/24 IP4.GATEWAY: 192.168.75.2 IP4.ROUTE[1]: dst = 192.168.75.66/32, nh = 0.0.0.0, mt = 0, table=255 IP4.ROUTE[2]: dst = 192.168.72.199/32, nh = 0.0.0.0, mt = 0, table=255 IP4.ROUTE[3]: dst = 192.168.75.0/24, nh = 0.0.0.0, mt = 100 IP4.ROUTE[4]: dst = 192.168.72.0/24, nh = 0.0.0.0, mt = 100 IP4.ROUTE[5]: dst = 0.0.0.0/0, nh = 192.168.75.2, mt = 100 IP4.DNS[1]: 8.8.8.8 IP4.DNS[2]: 8.8.4.4 IP6.ADDRESS[1]: fe80::106f:44fa:2e02:9e52/64 IP6.GATEWAY: -- IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 100 IP6.ROUTE[2]: dst = fe80::106f:44fa:2e02:9e52/128, nh = ::, mt = 0, table=255 IP6.ROUTE[3]: dst = ff00::/8, nh = ::, mt = 256, table=255

断开以及连接网卡(即将网卡从系统中排除以及重新纳入系统)

shell
## 只能断开已经活动的网卡 [root@oulaOS network-scripts]# nmcli d disconnect ens224 错误:断开设备 "ens224" (/org/freedesktop/NetworkManager/Devices/5) 的连接失败:This device is not active 错误:未断开所有设备的连接。 ## [root@oulaOS network-scripts]# nmcli d disconnect ens160 成功断开设备 "ens160"。 [root@oulaOS network-scripts]# nmcli d connect ens160 成功用 "ens160af72abc2-7bf4-45d0-8304-8ae89e613a61" 激活了设备 ""。

nmcli修改主机名

shell
[root@oulaOS network-scripts]# nmcli general hostname help 用法:nmcli general hostname { 参数 | help } 参数 := [<主机名>] 获取或更改永久的系统主机名。 如果没有参数,则会输出当前配置的主机名。给定主机名后,网络管理器(NetworkManager)会将其设为 新的永久系统主机名。