在rhel8(含centos8)上,在/etc/sysconfig/network-scripts/里也看不到任何脚本文件,没有传统的network.service。因此只能通过其它方法进行网络配置,包括NM命令工具集。换言之,在rhel8上,必须开启NM,否则无法使用网络。

手动配置静态IP

cat /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
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=ens32
UUID=066b4926-b40c-4c28-a5b4-2310d2b96613
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.1.6     # ip地址
NETMASK=255.255.255.0     # 子网掩码
GATEWAY=192.168.1.1     # 网关
DNS1=192.168.1.1            # DNS服务器
PREFIX=24

使用nmcli重新回载网络配置

nmcli c reload

查看

nmcli c
NAME UUID                                  TYPE DEVICE
ens32 066b4926-b40c-4c28-a5b4-2310d2b96613 ethernet ens32               

 补充nmcli命令
nmcli使用方法
nmcli使用方法非常类似linux ip命令、cisco交换机命令,并且支持tab补全(详见本文最后的Tips),也可在命令最后通过-h、--help、help查看帮助。

nmcli --help
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }OPTIONS
-o[verview] overview mode (hide default values)
-t[erse] terse output
-p[retty] pretty output
-m[ode] tabular|multiline output mode
-c[olors] auto|yes|no whether to use colors in output
-f[ields] <field1,field2,...>|all|common specify fields to output
-g[et-values] <field1,field2,...>|all|common shortcut for -m tabular -t -f
-e[scape] yes|no escape columns separators in values
-a[sk] ask for missing parameters
-s[how-secrets] allow displaying passwords
-w[ait] <seconds> set timeout waiting for finishing operations
-v[ersion] show program version
-h[elp] print this helpOBJECT
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

在nmcli中有2个命令最为常用:

nmcli connection译作连接,可理解为配置文件,相当于ifcfg-ethX。可以简写为nmcli c
nmcli device译作设备,可理解为实际存在的网卡(包括物理网卡和虚拟网卡)。可以简写为nmcli d
在NM里,有2个维度:连接(connection)和设备(device),这是多对一的关系。想给某个网卡配ip,首先NM要能纳管这个网卡。设备里存在的网卡(即nmcli d可以看到的),就是NM纳管的。接着,可以为一个设备配置多个连接(即nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。可以通过nmcli c up切换连接。
connection有2种状态:
▷ 活跃(带颜色字体):表示当前该connection生效
▷ 非活跃(正常字体):表示当前该connection不生效
device有4种常见状态:
▷ connected:已被NM纳管,并且当前有活跃的connection
▷ disconnected:已被NM纳管,但是当前没有活跃的connection
▷ unmanaged:未被NM纳管
▷ unavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候(比如ip link set ens32 down)

nmcli常用命令一览

# 查看ip(类似于ifconfig、ip addr)
nmcli# 创建connection,配置静态ip(等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动)
nmcli c add type ethernet con-name ens32 ifname ens32 ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual# 创建connection,配置动态ip(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)
nmcli c add type ethernet con-name ens32 ifname ens32 ipv4.method auto# 修改ip(非交互式)
nmcli c modify ens32 ipv4.addr '192.168.1.200/24'
nmcli c up ens32# 修改ip(交互式)
nmcli c edit ens32
nmcli> goto ipv4.addresses
nmcli ipv4.addresses> change
Edit 'addresses' value: 192.168.1.200/24
Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
nmcli ipv4> save
nmcli ipv4> activate
nmcli ipv4> quit# 启用connection(相当于ifup)
nmcli c up ens32# 停止connection(相当于ifdown)
nmcli c down# 删除connection(类似于ifdown并删除ifcfg)
nmcli c delete ens32# 查看connection列表
nmcli c show# 查看connection详细信息
nmcli c show ens32# 重载所有ifcfg或route到connection(不会立即生效)
nmcli c reload# 重载指定ifcfg或route到connection(不会立即生效)
nmcli c load /etc/sysconfig/network-scripts/ifcfg-ens32
nmcli c load /etc/sysconfig/network-scripts/route-ens32# 立即生效connection,有3种方法
nmcli c up ens32
nmcli d reapply ens32
nmcli d connect ens32# 查看device列表
nmcli d# 查看所有device详细信息
nmcli d show<br><br># 查看指定device的详细信息
nmcli d show ens32# 激活网卡
nmcli d connect ens32# 关闭无线网络(NM默认启用无线网络)
nmcli r all off# 查看NM纳管状态
nmcli n# 开启NM纳管
nmcli n on# 关闭NM纳管(谨慎执行)
nmcli n off# 监听事件
nmcli m# 查看NM本身状态
nmcli# 检测NM是否在线可用
nm-online提及的ifcfg均指代/etc/sysconfig/network-scripts/ifcfg-ens32及/etc/sysconfig/network-scripts/route-ens32nmcli connection重点nmcli c show
NAME UUID TYPE DEVICE
ens32 066b4926-b40c-4c28-a5b4-2310d2b96613 ethernet ens32▪ 第一列是connection名字,简称con-name(注意con-name不是网卡名)
▪ 第二列是connection的UUID
▪ 最后一列才是网卡名(标准说法叫device名),可通过nmcil d查看device对connection做操作时需要指定标识,标识可以是con-name、UUID、如果存在ifcfg文件则也可以用ifcfg的完整路径,即/etc/sysconfig/network-scripts/ifcfg-ens32
nmcli c show ens32
nmcli c show cae3f1ef-e79a-46c3-8e0c-946b91a65e11
nmcli c show /etc/sysconfig/network-scripts/ifcfg-ens32

nmcli c的con-name
同时对应ifcfg的文件名以及内容中的NAME=,该参数表示连接(connection)的名字,无需和网卡名相同,可以为一个设备(device)创建多个连接,但同一时刻只能有一个连接生效。当有多个连接时候,nmcli c delete删除当前连接,就会自动选择同一个设备的其他连接来顶替生效。可以通过nmcli c up来将指定连接切换生效。
注意:通过nmcli c modify修改con-name,只会对应修改ifcfg文件中的NAME,而不会更改ifcfg文件名。

nmcli c的ipv4.method
对应ifcfg文件内容的BOOTPROTO,ipv4.method默认为auto,对应为BOOTPROTO=dhcp,这种时候如果指定ip,就可能导致网卡同时有dhcp分配的ip和静态ip。设置为manual表示BOOTPROTO=none,即只有静态ip。

例子:创建一个连接(connection)
nmcli c add type ethernet con-name ens32-test ifname ens32 ipv4.addresses '192.168.1.100/24,192.168.1.101/32' ipv4.routes '10.0.0.0/8 192.168.1.10,192.168.0.0/16 192.168.1.11' ipv4.gateway 192.168.1.254 ipv4.dns '8.8.8.8,4.4.4.4' ipv4.method manual▪ type ethernet:创建连接时候必须指定类型,类型有很多,可以通过nmcli c add type -h看到,这里指定为ethernet。
▪ con-name ens32 ifname ens32:第一个ethX表示连接(connection)的名字,这个名字可以任意定义,无需和网卡名相同;第二个ethX表示网卡名,这个ethX必须是在nmcli d里能看到的。
▪ ipv4.addresses '192.168.1.100/24,192.168.1.101/32':配置2个ip地址,分别为192.168.1.100/24和192.168.1.101/32
▪ ipv4.gateway 192.168.1.254:网关为192.168.1.254
▪ ipv4.dns '8.8.8.8,4.4.4.4':dns为8.8.8.8和4.4.4.4
▪ ipv4.method manual:配置静态IP

对应的ifcfg和dns就是

# /etc/sysconfig/network-scripts/ifcfg-ens32-test
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.1.100
PREFIX=24
IPADDR1=192.168.1.101
PREFIX1=32
GATEWAY=192.168.1.254
DNS1=8.8.8.8
DNS2=4.4.4.4
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=ens32-test
UUID=9a10ad89-437c-4caa-949c-a394a6d28c8d
DEVICE=ens32
ONBOOT=yes# /etc/resolv.conf
nameserver 8.8.8.8
nameserver 4.4.4.4

此时,通过nmcli c应该可以看到增加了一条连接
注意:如果这是为ethX创建的第一个连接,则自动生效;如果此时已有连接存在,则该连接不会自动生效,可以执行nmcli c up ethX-test来切换生效

nmcli device重点

nmcli d connect ens32

由NM对指定网卡进行管理,同时刷新该网卡对应的活跃connection(如果之前有修改过connection配置);如果有connection但是都处于非活跃状态,则自动选择一个connection并将其活跃;如果没有connection,则自动生成一个并将其活跃。

nmcli d disconnect ens32

让NM暂时不管理指定网卡,此操作不会变更实际网卡的link状态,只会使对应的connection变成非活跃。若重启系统则又会自动connect。另外,如果手工将该网卡的connection全部删掉,该网卡状态也会自动变为disconnected。

nmcli d reapply ens32

专门用于刷新connection,前提是网卡的device处于connected状态,否则会报错。

nmcli d set ens32 autoconnect yes|no managed yes|no

可以设置是否自动连接和是否自动管理,但经测试只能用于当前开机状态, 如果这2个参数都设置为no,然后重启系统,又会自动恢复成connected和managed yes的状态。所以该命令用途不大。注意事项:如果managed设置为no,那么nmcli c reload会读取配置文件,但是不会立即生效,接着如果执行nmcli c up ethX,就会立即生效,同时managed自动变为yes。

每天记录一点,就能多学一点,充实一点~

Centos8 配置静态IP地址相关推荐

  1. VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装

    VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装 在阿里云开源镜像地址下载镜像 Index of /centos/7.2.1511/isos/x86_64/ http://mi ...

  2. linux18配置静态ip,ubuntu18配置静态IP地址

    xavier NX板子上安装的事ubuntu18, 简单记录一下ubuntu18如何配置静态IP地址. 首先生成一下文件: sudo netplan generate 运行这一句的时候如果提示netp ...

  3. 如何在CentOS 7中配置静态IP地址

    转载来源:https://www.techrepublic.com/article/how-to-configure-a-static-ip-address-in-centos-7/ PS:这个简短的 ...

  4. linux7配置静态地址,Centos7 配置静态 IP 地址的方法

    Centos7 配置静态 IP 地址的方法 一, 不使用网络管理器 nmcli 配置静态 IP 地址的方法 进入 / etc/sysconfig/network-scripts 目录, 找到该接口的配 ...

  5. 如何为CentOS 7配置静态IP地址

    问题:在CentOS 7上,我想要将我其中一个网络接口从DHCP改为静态IP地址配置,如何才能永久为CentOS或RHEL 7上的网络接口分配静态IP地址? 如果你想要为CentOS 7中的某个网络接 ...

  6. xstatic图形连接linux,RHCE认证考试模拟题深入讲解:linux配置静态IP地址为:192.168.0.X!...

    原标题:RHCE认证考试模拟题深入讲解:linux配置静态IP地址为:192.168.0.X! RHCE认证考试模拟题深入讲解:linux配置静态IP地址为:192.168.0.X! 本经验由宗龙龙原 ...

  7. CentOS_7配置静态ip地址

    ** CentOS_7配置静态ip地址 ** 1.ifconfig查看当前IP信息 2.修改网络接口配置文件修改配置,注意文件名称是(ifcfg-默认第一个网络接口名称),文件路径是/etc/sysc ...

  8. 为虚拟机配置静态ip地址

    记录为虚拟机配置静态ip地址的过程 一.配置静态ip地址的过程 一.配置静态ip地址的过程 下面我们将以Hadoop-2.6.5(下载地址请见这里)为例,说明它的安装配置过程. 点击"NAT ...

  9. CentOS7.9安装教程,以及出现dracut- initqueue timeout-starting…starting timeout scripts 解决办法,linux配置静态IP地址

    阿里云搜索centos 这里选择7.9作为演示,当然也可以下载8.0 下载完成后,使用软碟通刻录在U盘上 刻录完成后插入物理服务器按F11进入Boot命令菜单,这是是F11进入具体看服务器型号. 进入 ...

最新文章

  1. [转]Windows CE 编程的十点忠告(by pdasky)
  2. yolov5-face无关键点测试
  3. php面向对象链接mysql_php连接数据库的两种方式- 面向过程 面向对象
  4. 之一:CABasicAnimation - 基本动画
  5. Intellectual Property Essentials for Start-Ups
  6. [Jarvis OJ - PWN]——Smashes
  7. JAVA数据结构与算法【简单介绍】
  8. 19岁P8入驻阿里?从阿里的人才成长体系学习
  9. 物联网核心安全系列——物联网安全需求
  10. 利用第三方工具上传文件
  11. ArcGIS Pro 有多强大?(一)
  12. linux shell 列表循环,shell脚本中,for基于列表进行循环的实现方法
  13. 摄影构图的几种基本方法
  14. regedit.msc
  15. 将VSCode语言环境设置为中文
  16. 线性代数几何意义-矩阵乘法、行列式
  17. 0基础 C++ 第一章(1)你好世界
  18. HTML基础第十二讲---链接标志
  19. 判断目标是否在角色正前方一个扇形区域内,一般战斗系统中用作伤害处理
  20. 计算机毕业设计指北 基于SSH+MySQL的万圣博管理系统

热门文章

  1. java中实现方法重试机制
  2. 解决问题备忘:Http头Authorization值格式错误,请参考《微信支付商户REST API签名规则》
  3. Delphi中BPL包的使用,个人经验
  4. 矩阵的分解_QR分解
  5. Python3 之基础知识
  6. 对diff算法的理解
  7. 2018_9_22 模拟赛
  8. 《期权、期货及其他衍生产品》读书笔记(第八章:证券化与2007年信用危机)
  9. 成都c语言程序设计,成都c语言编程学习入门
  10. 把excel转换成html格式的文件,极强PDF转换器将Excel表格转换成HTML网页格式的方法...