linux网络管理nmcli命令详解

linux网络管理nmcli命令详解

nmcli 命令是 NetworkManager 提供的

nm 代表 NetworkManagercli 代表 Command-Line 命令行

修改网卡命名规则

Linux操作系统的网卡设备传统命名方式是eth0、eth1、eth2等,而CentOS7提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配。这样做的优点是命名全自动的、可预知的,缺点是比eth0、wlan0更难读,比如ens33。

因此,有些用户或系统管理员可能会选择将网卡命名从ens33改为eth0。这可能是因为他们更熟悉传统的命名方式,或者认为eth0的命名方式更加直观和易于理解。

此外,某些应用程序或脚本可能依赖于传统的网卡命名方式,因此在某些情况下,将网卡命名改为eth0可能是必要的

# 修改内核引导文件
[root@yunOS ~]# vim   /etc/default/grub     
、、、、、、
GRUB_CMDLINE_LINUX="……quiet   net.ifnames=0  biosdevname=0"
、、、、、、     
# 重新生成网卡命名的规则
[root@yunOS ~]# grub2-mkconfig  -o  /boot/grub2/grub.cfg
# 重启系统
[root@yunOS ~]# reboot      

使用nmcli配置网络

查看网络连接
[root@yunOS ~]# nmcli  connection  show 

简写: nmcli c show

在这里插入图片描述

绿色表示,启动,在用,但名字处是????,所以没有办法管理,一般我是把它们全部删除,可以使用NAME(名字)删除,也可以使用UUID删除

[root@yunOS ~]# nmcli  connection  delete  9da557dc-30d5-350b-bdef-d3c578cb5d75
[root@yunOS ~]# nmcli  connection  delete  ens33

简写:nmcli c de ens33 # delete 不可简写为 d,否则与 down 冲突,但可以简写为 de

添加新的网络命名
[root@yunOS ~]# nmcli connection add type ethernet ifname eth0 con-name eth0

解析: nmcli connection 添加 类型 以太网设备 网卡设备名为eth0 nmcli命令的命名为eth0

在这里插入图片描述

网卡配置文件目录:/etc/sysconfig/network-scripts/

利用nmcli修改IP地址、子网掩码、网关地址

支持简写: nmcli c m eth0 、、、、、

[root@yunOS ~]# nmcli connection modify  eth0    
ipv4.method    manual                          
ipv4.addresses   192.168.88.77/24                
ipv4.gateway   192.168.88.200               
autoconnect    yes

命令解析

[root@yunOS ~]# nmcli connection  修改   外号   
ipv4.方法    手工配置                          
ipv4.地址   192.168.88.77/24                
ipv4.网关   192.168.88.200               
是否开机自启,其值只能是 yes 或 no,默认 yes

激活

[root@yunOS ~]# nmcli connection up eth0
扩展,修改,也可以写成单条
nmcli connection modify eth0  选项 选项值
简写:nmcli c m eth0  选项 选项值  
# 修改 IP 地址和子网掩码
nmcli c m eth0 ipv4.address 192.168.88.66/24

# 修改为静态配置,默认是 auto
nmcli c m eth0 ipv4.method manual 

# 修改默认网关
nmcli c m eth0 ipv4.gateway 192.168.80.2  

# 修改 DNS
nmcli c m eth0 ipv4.dns 192.168.80.2 

# 添加一个 DNS
nmcli c m eth0 +ipv4.dns 114.114.114.114 

# 将 IPv6 禁用
nmcli c m eth0 ipv6.method disabled 

# 开机启动
nmcli c m eth0 connection.autoconnect yes    

注意,必须先修改 ipv4.address,然后才能修改 ipv4.method!

用空引号""代替选项的值,可将选项设回默认值(以 ipv4.method 为例):

nmcli c m eth0 ipv4.method ""

选项有很多,详细信息可以通过以下命令查看:

man 5 nm-settings-nmcli

主要可以看里面 connection setting 和 ipv4 setting 部分

如果修改了网络配置,没有效果,那就重启吧,重启最有效果。
网络配置文件说明
[root@client1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet      # 网络接口的类型,Ethernet表示以太网接口
PROXY_METHOD=none  # 代理方式,none表示没有设置代理
BROWSER_ONLY=no    # 是否仅限于浏览器使用,no表示不是仅限于浏览器使用
BOOTPROTO=none     # 引导协议,none表示没有设置引导协议,等同于 ipv4.method manual
DEFROUTE=yes       # 是否使用默认路由,yes表示使用默认路由
IPV4_FAILURE_FATAL=no  # 是否将IPV4连接失败视为致命错误,no表示不是致命错误
IPV6INIT=yes       # 是否初始化IPV6支持,yes表示初始化IPV6支持
IPV6_AUTOCONF=yes  # 是否启用IPV6自动配置,yes表示启用IPV6自动配置
IPV6_DEFROUTE=yes  # 是否使用IPV6默认路由,yes表示使用IPV6默认路由
IPV6_FAILURE_FATAL=no  # 是否将IPV6连接失败视为致命错误,no表示不是致命错误
IPV6_ADDR_GEN_MODE=default
NAME=eth0     # 网络接口的名称
UUID=bf659606-5648-428a-a41c-3b493bef79c1
DEVICE=eth0   # 指定网卡设备名称,就是NAME里面的值
ONBOOT=yes    # 指定是否在系统启动时启用该接口,1表示启用,0表示禁用。
IPADDR=192.168.88.77    # IP地址
PREFIX=24     # 子网掩码前缀长度,表示使用了24位的子网掩码(对应的子网掩码是255.255.255.0)
GATEWAY=192.168.88.200  # 网关
常用命令参考
删除指定连接
nmcli  connection  delete  eth0
简写:nmcli c de eth0
重载所有连接的配置文件
nmcli  connection  reload
简写:nmcli  c  r
重载某一指定连接的配置文件
nmcli connection load ifcfg-eth0
简写:nmcli c l ifcfg-eth0

网络配置文件默认保存在 /etc/sysconfig/network-scripts/ 路径下,如果配置文件在其它位置,则需要填写完整路径

显示所有网络接口设备的状态
nmcli device status
简写:nmcli d

status 是 device 的默认项,可以省略不写

显示所有设备的详细信息
nmcli device show
简写:nmcli d sh  

show 不可简写为 s,否则与 status 冲突,但可以简写为 sh

显示某一特定设备的详细信息
nmcli device show eth0
简写:nmcli d sh eth0
连接设备
nmcli device connect eth0
简写:nmcli d c eth0 

如果 eth0 本来就出于连接状态,那此命令会重启 eth0。

断开设备
nmcli device disconnect eth0
简写:nmcli d d eth0
更新设备信息
nmcli device reapply eth0
简写:nmcli d r eth0

只有在设备处于连接状态,才可以更新设备。

更新设备相当于重启连接。

显示主机名
nmcli general hostname
简写:nmcli g h
更改主机名
nmcli general hostname yunOS
简写:nmcli g h yunOS

yunOS是你设置的新主机名。主机名存放在 /etc/hostname 文件中。

修改主机名后,需要重启 NetworkManager

使用Systemctl管理NetworkManager
管理命令用法
systemctl status NetworkManager查看运行状态
systemctl start NetworkManager启动
systemctl restart NetworkManager重启
systemctl stop NetworkManager关闭
systemctl is-enabled NetworkManager查看是否开机启动
systemctl enable NetworkManager开机启动
systemctl disable NetworkManager禁止开机启动

在这里插入图片描述
版本一:2024年1月18日
作者:javayun@qq.com

  • 41
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芸开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值