关于Anolis8/Centos8系统重启后ip地址不显示的原因版权声明:原创作品,谢绝转载!否则将追究法律责任。 ————— 作者:kirin
#、今天把之前在VMware安装的Anolis8系统重启了,启动之后发现Xshell连接不上。在VMware上登录后执行ip a命令发现ip地址不见了
#、我的网卡配置信息如下:[root@anolis8.6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=EthernetPROXY_METHOD=noneBOOTPROTO=staticNAME=eth0DEVICE=eth0ONBOOT=yesIPADDR=10.0.0.103PREFIX=255.255.255.0GATEWAY=10.0.0.2DNS1=223.5.5.5DNS1=223.6.6.6
#、然后在网上查了一圈,发现关于Anolis8系统网卡配置的文章少之又少,把搜索关键字`Anolis`换成`Centos`之后总算是找到了一些有用的文章。Anolis(龙蜥)系统其实就是复刻的Centos。8系统与7不一样,在Anolis8之后,不再使用`network.service `(只能手动去安装),默认安装的是`NetworkManager.service`
1、解决方法
#1、启动NetworkManager.service服务[root@anolis8.6 ~]# systemctl start NetworkManager#2、重新载入网卡配置文件[root@anolis8.6 ~]# nmcli c reload eth0#3、激活网卡[root@anolis8.6 ~]# nmcli d connect eth0
#4、再次执行ip a命令,发现ip地址已经出来了。但是这个地址是不对的。我配置的网卡地址是:10.0.0.103。因为我实在是不熟悉使用`NetworkManager.service`服务的`nmcli`命令。只能继续使用`network.service `了哈哈
#5、安装`network.service `服务[root@anolis8.6 ~]# yum install -y network-scripts.x86_64
#6、关闭`NetworkManager.service`[root@anolis8.6 ~]# systemctl stop NetworkManager[root@anolis8.6 ~]# systemctl disable NetworkManager#7、启动`network.service `服务,再次执行ip a命令查看网卡ip。发现已经可以了[root@anolis8.6 ~]# systemctl start network.service[root@anolis8.6 ~]# ip a
虽然服务起来了,ip也有了,但是我们发现。目前在eth0这块网卡上有两个ip,是因为`NetworkManager.service`服务虽然关闭了,但是网卡配置还在。此时我们在重启一下`network.service `服务就可以了。Xshell连接也没问题了。[root@anolis8.6 ~]# systemctl restart network.service[root@anolis8.6 ~]# ip a
#、系统重启下,验证`network.service `服务 可用性重启后重新连接。是没问题的。执行`ip a`命令可以看到ip地址。问题得到解决!
2、Anolis8网络配置详细介绍2.1、NetworkManager介绍2.1.1、Anolis8网络配置的区别
#、在 CentOS7上同时支持network.service和NetworkManager.service。默认情况下,这2个服务都有开启。在Anolis8和CentOS8上,已废弃network.service(只能手动去安装),默认安装的是NetworkManager.service,因此推荐通过NetworkManager.service进行网络配置,网卡配置包括设置动态和静态IP。
2.1.2、NetworkManager作用
#、NetworkManager是2004年Red Hat启动的项目,旨在能够让Linux用户更轻松地处理现代网络需求,尤其是无线网络,能自动发现网卡并配置ip地址。类似在手机上同时开启wifi和蜂窝网络,Anolis8网络自动探测可用网络并连接,无需手动切换Anolis8网卡。
2.1.3、NetworkManager支持的网络
#、NetworkManager支持的网络:有线网卡、无线网卡动态ip、静态ip以太网、非以太网物理网卡、虚拟网卡
2.1.4、NetworkManager使用方式
#、NetworkManager使用方式nmcli:命令行nmtui:在shell终端开启文本图形界面Freedesktop applet:如GNOME上自带的网络管理工具cockpit:redhat自带的基于web图形界面的"驾驶舱"工具,具有dashborad和基础管理功能#、使用 nmcli 时,NetworkManager 必须保持开启。#、NetworkManager 的相关命令:查看运行状态:systemctl status NetworkManager启动:systemctl start NetworkManager重启:systemctl restart NetworkManager关闭:systemctl stop NetworkManager查看是否开机启动:systemctl is-enabled NetworkManager开机启动:systemctl enable NetworkManager禁止开机启动:systemctl disable NetworkManager#、注意:NetworkManager 中开头的 N 和中间的 M 必须大写。
2.2、nmcli常用命令2.2.1、nmcli介绍
在NetworkManager里,有2个维度:连接(connection)和设备(device),可以为一个设备配置多个连接,这里特别需要指出的是,一个设备只能有一个活跃连接,每个连接可以理解为一个 ifcfg 配置文件。
2.2.2、显示 NetworkManager 是否接管网络设置:
[root@Anolis8.6 ~]# nmcli networkingenabled#、networking 可以简写为 n、ne、net、netw…… 所以以上命令可以简写为:nmcli n
2.2.3、查看网络连接状态:
[root@Anolis8.6 ~]# nmcli n connectivityfull
2.2.4、NetworkManager 接管网络设置:
#、设定 NetworkManager 接管网络设置[root@Anolis8.6 ~]# nmcli n on#、取消 NetworkManager 接管网络设置:[root@Anolis8.6 ~]# nmcli n off
2.2.5、nmcli general
#、显示系统网络状态:[root@Anolis8.6 ~]# nmcli general statusSTATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN 已连接 完全 已启用 已启用 已启用 已启用#、general 可以简写为 g、ge、gen、gene……#、status 是 general 的默认项,可以省略不写。所以,以上命令可简写为:[root@Anolis8.6 ~]# nmcli gSTATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN 已连接 完全 已启用 已启用 已启用 已启用 connected full enabled enabled enabled enabled#、其中:STATE 显示网络是否连接;CONNECTIVITY 与前面介绍的 nmcli networking connectivity 相同;WIFI-HW 表示 WIFI 硬件开关、WIFI 表示 WIFI 软件开关;WWAN-HW 表示 WWAN 硬件开关、WWAN 表示 WWAN 软件开关。HW 代表 HardWare,WWAN 代表 Wireless Wide Area Network。
2.2.6、显示主机名:
[root@Anolis8.6 ~]# nmcli g hostnameanolis8[root@Anolis8.6 ~]# nmcli g hAnolis8.6#、更改主机名:nmcli g hostname newHostName #或 nmcli g h newHostName#、注意:newHostName是你设置的新主机名。主机名存放在 /etc/hostname 文件中。修改主机名后,需要重启 NetworkManager。
2.2.7、显示所有网络连接的信息:
[root@Anolis8.6 ~]# nmcli connection showNAME UUID TYPE DEVICE ens192 c296eeaa-0c9a-4621-8b32-4903e26009f9 ethernet ens192 #、connection 可以简写为 c、co、con、conn……#、show 是 connection 的默认项,可以省略不写。所以,以上命令可简写为:[root@Anolis8.6 ~]# nmcli cNAME UUID TYPE DEVICE ens192 c296eeaa-0c9a-4621-8b32-4903e26009f9 ethernet ens192#、nmcli connection show 有一个 -active 参数,可以只显示当前启动的连接:nmcli c s --active #或nmcli c s -a # 因为 show 后面有参数项,所以此时的 show 不能省[root@Anolis8.6 ~]# nmcli c s -aNAME UUID TYPE DEVICE ens192 c296eeaa-0c9a-4621-8b32-4903e26009f9 ethernet ens192#、显示某一特定连接的详细信息(以 ens192 为例):[root@Anolis8.6 ~]# nmcli c s ens192connection.id: ens192connection.uuid: c296eeaa-0c9a-4621-8b32-4903e26009f9connection.stable-id: --connection.type: 802-3-ethernetconnection.interface-name: ens192connection.autoconnect: 是connection.autoconnect-priority: 0connection.autoconnect-retries: -1 (default)connection.multi-connect: 0(default)connection.auth-retries: -1connection.timestamp: 1664789124connection.read-only: 否......DHCP4.OPTION[25]: subnet_mask = 255.255.255.0IP6.ADDRESS[1]: fe80::18b9:6600:f377:2d7b/64IP6.GATEWAY: --IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 100IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
2.2.8、启动指定连接:
[root@Anolis8.6 ~]# nmcli c up ens192连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)#、如果 ens192 本来就出于连接状态,那此命令会重启 ens192。#、关闭指定连接:nmcli c down ens192关闭连接后,使用 nmcli c 命令, DEVICE 项将显示为 – 。
2.2.9、修改连接:
nmcli c modify ens192 [ + | - ]选项 选项值 # 或nmcli c m ens192 [ + | - ]选项 选项值#、下面给出常用修改示例:nmcli c m ens192 ipv4.address 192.168.100.83/24 # 修改 IP 地址和子网掩码nmcli c m ens192 ipv4.method manual # 修改为静态配置,默认是 autonmcli c m ens192 ipv4.gateway 192.168.100.1 # 修改默认网关nmcli c m ens192 ipv4.dns 192.168.100.1 # 修改 DNSnmcli c m ens192 +ipv4.dns 114.114.114.114 # 添加一个 DNSnmcli c m ens192 ipv6.method disabled # 将 IPv6 禁用nmcli c m ens192 connection.autoconnect yes # 开机启动#、注意,必须先修改 ipv4.address,然后才能修改 ipv4.method!用空引号""代替选项的值,可将选项设回默认值(以 ipv4.method 为例):nmcli c m ens192 ipv4.method ""#、选项有很多,详细信息可以通过以下命令查看:man 5 nm-settings-nmcli#、主要可以看里面 connection setting 和 ipv4 setting 部分。
2.2.10、新增连接:
nmcli c add tyep 连接类型 选项 选项值 #或nmcli c a tyep 连接类型 选项 选项值#、type 为必选项,我们通常用到的是 802-3-ethernet(别名 ethernet)。#、选项与前面介绍的“修改连接”中的选项一样,其中重要的几个选项:connection.id(别名 con-name):连接名;connection.interface-name(别名 ifname):设备名;connection.autoconnect(别名 autoconnect):是否开机自启,其值只能是 yes 或 no,默认 yes。#、下面给出一个示例:nmcli c a type ethernet con-name ens36 ifname ens36
2.2.11、删除指定连接:
nmcli c delete ens33 #或nmcli c de ens33 # delete 不可简写为 d,否则与 down 冲突,但可以简写为 de
2.2.12、重载所有连接的配置文件:
nmcli c reload #或nmcli c r#、重载某一指定连接的配置文件:nmcli c load ifcfg-ens192 #或nmcli c l ifcfg-ens192 #、网络配置文件默认保存在 /etc/sysconfig/network-scripts/ 路径下,如果配置文件在其它位置,则需要填写完整路径。网络配置文件的命名方式就是ifcfg-连接名,例如 ens33 的配置文件名为ifcfg-ens33。#、网络配置文件说明:TYPE="Ethernet" //以太网,还有其他的如bond,bridgePROXY_METHOD="none"//默认代理方式:关闭状态BROWSER_ONLY="no" //默认只是浏览器:否BOOTPROTO="none" //dhcp 表示动态获取IP地址, static 表示表态IP,none表示不指定,就是静态DEFROUTE="yes" //默认路由:是IPV4_FAILURE_FATAL="no" //是否开启IPV4致命错误检测:否IPV6INIT="yes" //默认IPV6是否自动初始化: 是IPV6_AUTOCONF="yes" //默认IPV6是否自动配置:是IPV6_DEFROUTE="yes" //默认IPV6是否默认路由:是IPV6_FAILURE_FATAL="no" //如果IPv4或IPv6配置失败,此接口将被禁用,否:如果配置失败,此接口不会被禁用IPV6_ADDR_GEN_MODE="stable-privacy" //IPV6地址生成模型NAME="ens192" //名称UUID="51e111fd-ec09-44f5-8163-81d8f8ebc8f4" //唯一IDDEVICE="ens192" //设备名称ONBOOT="yes" //开启启动IPADDR="192.168.100.83" //IPPREFIX="24" //子网掩码长度GATEWAY="192.168.100.1" //网关DNS1="114.114.114.114" //DNS1DNS2="8.8.8.8" //DNS1IPV6_PRIVACY="no" //IPV6隐私
2.2.13、显示所有网络接口设备的状态:
nmcli device statusdevice 可以简写为 d、de、dev……#、status 是 device 的默认项,可以省略不写。所以,以上命令可简写为:[root@Anolis8.6 ~]# nmcli dDEVICE TYPE STATE CONNECTION ens192 ethernet 已连接 ens192 lo loopback 未托管 --[root@Anolis8.6 ~]# nmcli deviceDEVICE TYPE STATE CONNECTION ens192 ethernet 已连接 ens192 lo loopback 未托管 -- #、显示所有设备的详细信息:nmcli d show#或nmcli d sh # show 不可简写为 s,否则与 status 冲突,但可以简写为 sh[root@Anolis8.6 ~]# nmcli d shGENERAL.DEVICE: ens192GENERAL.TYPE: ethernetGENERAL.HWADDR: 00:0C:29:5D:B2:19GENERAL.MTU: 1500GENERAL.STATE: 100(已连接)GENERAL.CONNECTION: ens192GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2WIRED-PROPERTIES.CARRIER: 开IP4.ADDRESS[1]: 192.168.100.83/24IP4.GATEWAY: 192.168.100.1IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.100.1, mt = 100IP4.ROUTE[2]: dst = 192.168.100.0/24, nh = 0.0.0.0, mt = 100IP4.DNS[1]: 192.168.100.1IP4.DNS[2]: 4.2.2.2IP6.ADDRESS[1]: fe80::18b9:6600:f377:2d7b/64IP6.GATEWAY: --IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 100IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255GENERAL.DEVICE: loGENERAL.TYPE: loopbackGENERAL.HWADDR: 00:00:00:00:00:00GENERAL.MTU: 65536GENERAL.STATE: 10(未托管)GENERAL.CONNECTION: --GENERAL.CON-PATH: --IP4.ADDRESS[1]: 127.0.0.1/8IP4.GATEWAY: --IP6.ADDRESS[1]: ::1/128IP6.GATEWAY: --IP6.ROUTE[1]: dst = ::1/128, nh = ::, mt = 256
2.2.14、显示某一特定设备的详细信息:
[root@Anolis8.6 ~]# nmcli d sh ens192GENERAL.DEVICE: ens192GENERAL.TYPE: ethernetGENERAL.HWADDR: 00:0C:29:5D:B2:19GENERAL.MTU: 1500GENERAL.STATE: 100(已连接)GENERAL.CONNECTION: ens192GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/2WIRED-PROPERTIES.CARRIER: 开IP4.ADDRESS[1]: 192.168.100.83/24IP4.GATEWAY: 192.168.100.1IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.100.1, mt = 100IP4.ROUTE[2]: dst = 192.168.100.0/24, nh = 0.0.0.0, mt = 100IP4.DNS[1]: 192.168.100.1IP4.DNS[2]: 4.2.2.2IP6.ADDRESS[1]: fe80::18b9:6600:f377:2d7b/64IP6.GATEWAY: --IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 100IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
2.2.15、连接设备:
nmcli d connect ens192 #或nmcli d c ens192 #、如果 ens192 本来就出于连接状态,那此命令会重启 ens192。
2.2.16、断开设备:
#、断开设备:nmcli d disconnect ens33 #或nmcli d d ens33 #、更新设备信息:nmcli d reapply ens33#或nmcli d r ens33只有在设备处于连接状态,才可以更新设备。更新设备相当于重启连接。
2.2.17、Anolis8网络切换连接
[root@Anolis8.6 ~]# nmcli c up ens192连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
2.2.18、Anolis8网络查看IP
[root@Anolis8.6 ~]# nmcliens192: 已连接 到 ens192 "VMware VMXNET3" ethernet (vmxnet3), 00:0C:29:5D:B2:19, 硬件, mtu 1500 ip4 默认 inet4 192.168.100.83/24 route4 0.0.0.0/0 route4 192.168.100.0/24 inet6 fe80::18b9:6600:f377:2d7b/64 route6 fe80::/64 route6 ff00::/8lo: 未托管 "lo" loopback (unknown), 00:00:00:00:00:00, 软件, mtu 65536DNS configuration: servers: 192.168.100.1 4.2.2.2 interface: ens192使用 "nmcli device show" 获取关于已知设备的完整信息,以及 "nmcli connection show" 获取活动连接配置集的概述。完整的用法细节,可参考 nmcli(1) 和 nmcli-examples(7) 手册页。
2.2.19、CentOS8网络启用网卡ensX,例如ens160
nmcli c up ens160
2.2.20、Anolis8网络停止connection
nmcli c down
2.2.21、CentOS8网络删除connection
nmcli c delete ens160
2.2.22、立即生效connection
nmcli c up ens160nmcli d reapply ens160nmcli d connect ens160
2.2.23、关闭网络
nmcli r all off
3、常见的AnolisOS 8网卡配置方式
通过NetworkManager进行AnolisOS 8网卡配置时候,会自动将connection同步到ifcfg配置文件中,这里特别指出eth和ens的区别,ethX是真实物理网卡,ensX是虚拟网络会话。
手工配置ifcfg,通过NetworkManager来生效
通过NM自带工具配ip,比如nmcli
手工配置ifcfg,通过传统network.service来生效
3.1、通过手工配置AnolisOS 8网卡ifcfg的方式
#、这里推荐使用上述第1种AnolisOS 8网卡配置方法,就是手工配置ifcfg,通过NetworkManager来生效,因为这样既兼容了传统的ifcfg配置,又能熟悉nmcli。#、打开配置文件,ifcfg-开头的,根据实际名称修改。例如我的机器是ifcfg-ens192vi /etc/sysconfig/network-scripts/ifcfg-ens192#、配置参数示例,大家可以根据实际接入的网络进行配置AnolisOS 8网卡,试试吧已经对此配置做了详细备注。TYPE="Ethernet" //以太网,还有其他的如bond,bridgePROXY_METHOD="none"//默认代理方式:关闭状态BROWSER_ONLY="no" //默认只是浏览器:否BOOTPROTO="none" //dhcp 表示动态获取IP地址, static 表示表态IP,none表示不指定,就是静态DEFROUTE="yes" //默认路由:是IPV4_FAILURE_FATAL="no" //是否开启IPV4致命错误检测:否IPV6INIT="yes" //默认IPV6是否自动初始化: 是IPV6_AUTOCONF="yes" //默认IPV6是否自动配置:是IPV6_DEFROUTE="yes" //默认IPV6是否默认路由:是IPV6_FAILURE_FATAL="no" //如果IPv4或IPv6配置失败,此接口将被禁用,否:如果配置失败,此接口不会被禁用IPV6_ADDR_GEN_MODE="stable-privacy" //IPV6地址生成模型NAME="ens192" //名称UUID="51e111fd-ec09-44f5-8163-81d8f8ebc8f4" //唯一IDDEVICE="ens192" //设备名称ONBOOT="yes" //开启启动IPADDR="192.168.100.83" //IPPREFIX="24" //子网掩码长度GATEWAY="192.168.100.1" //网关DNS1="114.114.114.114" //DNS1DNS2="8.8.8.8" //DNS1IPV6_PRIVACY="no" //IPV6隐私
3.2、CentOS8网卡配置后重启网络
systemctl restart NetworkManager
3.3、检测网络状态
ping www.baidu.comcurl www.baidu.com
4、网络重启
#、CentOS 8 、Red Hat 8、Anolis 8 、fedora 33/34/35 、Alibaba Cloud Linux 3操作系统,请执行以下操作:#4.1、执行以下命令,重新加载所有网卡配置。nmcli c reload#4.2、执行以下命令,激活网卡。nmcli d connect eth0
参考文章链接:https://www.jianshu.com/p/ed411ebd9cc4
本文来自博客园,作者:kirin(麒麟),转载请注明原文链接:https://www.cnblogs.com/kirin365/p/17843049.html