当前位置: 首页 > news >正文

CentOS 9 配置静态IP

文章目录

    • 1_问题原因
    • 2_nmcli 配置静态IP
    • 3_使用配置文件固定IP
    • 4_重启后存在的问题
    • 5_nmcli 补充

1_问题原因

CentOS 7 于 2014年6月发布,基于 RHEL 7,并在 2024年6月30日 结束维护。

CentOS 9 作为目前的最新版本,今天闲来闲来无事下载下来后研究研究。

为了方便日后学习使用,第一步就是配置静态IP,方便ssh服务远程连接。

所以我按照以往配置静态ip的经验进行了如下操作:

vim /etc/sysconfig/network-scripts/ifcfg-ens33

但是发现,并没有 NAT 网络的这个配置文件:

在这里插入图片描述

进入该配置文件所在目录下,查看详细信息:

cd /etc/sysconfig/network-scripts
ls

发现如下文件:

在这里插入图片描述

文件内容如下:

[shenyang@localhost network-scripts]$ cat readme-ifcfg-rh.txt
NetworkManager stores new network profiles in keyfile format in the
/etc/NetworkManager/system-connections/ directory.Previously, NetworkManager stored network profiles in ifcfg format
in this directory (/etc/sysconfig/network-scripts/). However, the ifcfg
format is deprecated. By default, NetworkManager no longer creates
new profiles in this format.Connection profiles in keyfile format have many benefits. For example,
this format is INI file-based and can easily be parsed and generated.Each section in NetworkManager keyfiles corresponds to a NetworkManager
setting name as described in the nm-settings(5) and nm-settings-keyfile(5)
man pages. Each key-value-pair in a section is one of the properties
listed in the settings specification of the man page.If you still use network profiles in ifcfg format, consider migrating
them to keyfile format. To migrate all profiles at once, enter:# nmcli connection migrateThis command migrates all profiles from ifcfg format to keyfile
format and stores them in /etc/NetworkManager/system-connections/.Alternatively, to migrate only a specific profile, enter:# nmcli connection migrate <profile_name|UUID|D-Bus_path>For further details, see:
* nm-settings-keyfile(5)
* nmcli(1)

大致意思就是老版本的配置文件已被弃用,迁移到了/etc/NetworkManager/system-connections/目录中。
要一次迁移所有配置文件可以使用 nmcli connection migrate命令,详细信息参考nmcli


2_nmcli 配置静态IP

那么这个nmcli又是什么呢?经过查阅资料得知:

CentOS 9 默认使用 NetworkManager 管理网络,而nmcliNetworkManager 命令行接口的缩写,是一个用来进行网络配置、管理网络连接的命令工具,可以简化网络设置,尤其是在无头(没有图形界面)环境下。

所以,我们可以尝试用它来设置一个静态 IP:

sudo nmcli con mod "ens33" ipv4.addresses 192.168.150.145/24 # IP地址,自己设置,要匹配网络范围
sudo nmcli con mod "ens33" ipv4.gateway 192.168.150.2		 # 网关,要和VMware中配置的虚拟网卡一致
sudo nmcli con mod "ens33" ipv4.dns "192.168.150.2"			 # DNS服务器,和网关一致即可 8.8.8.8 也可以
sudo nmcli con mod "ens33" ipv4.method manual				 # IPv4配置方法设置为手动,也就是启用静态IP配置
sudo nmcli con up "ens33"		# 使配置生效

查看是否配置成功:

[shenyang@localhost network-scripts]$ ifconfig
ens33: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 192.168.150.145  netmask 255.255.255.0  broadcast 192.168.150.255inet6 fe80::20c:29ff:fea4:42bd  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:a4:42:bd  txqueuelen 1000  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[shenyang@localhost network-scripts]$ ping www.baidu.com
PING www.baidu.com.localdomain (198.18.1.175) 56(84) 比特的数据。
64 比特,来自 198.18.1.175 (198.18.1.175): icmp_seq=1 ttl=128 时间=0.582 毫秒
64 比特,来自 198.18.1.175 (198.18.1.175): icmp_seq=2 ttl=128 时间=0.683 毫秒
64 比特,来自 198.18.1.175 (198.18.1.175): icmp_seq=3 ttl=128 时间=0.591 毫秒
64 比特,来自 198.18.1.175 (198.18.1.175): icmp_seq=4 ttl=128 时间=0.386 毫秒

nmcli 配置到此完成!

另外在配置前一定要注意自己的网络接口名称是否是ens33,可以使用ifconfignmcli d命令查看,如果不一致别忘了进行替换。


3_使用配置文件固定IP

还记得我们上面提到过的/etc/NetworkManager/system-connections/目录吗 ?

编辑该目录下的配置文件也可以达到相同的效果:

cd /etc/NetworkManager/system-connections/
ls

可以看到对应的ens33.nmconnection文件,修改内容如下:

sudo vim ens33.nmconnection
[connection]
id=ens33
uuid=2c1fb13d-391d-4add-9919-7cebb1f76782
type=ethernet
autoconnect=false
interface-name=ens33[ethernet][ipv4]
address1=192.168.150.145/24,192.168.150.2
dns=192.168.150.2;
method=manual[ipv6]
addr-gen-mode=eui64
method=auto[proxy]

修改配置文件后,需要重启网络服务以使更改生效。

sudo systemctl restart NetworkManager

或者重启网卡:

sudo nmcli connection reload # 重新加载配置文件, 并使网络连接生效
sudo nmcli con up ens33 # 重新启用网络接口并应用新的配置

验证配置:

ip a show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:a4:42:bd brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 192.168.150.145/24 brd 192.168.150.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fea4:42bd/64 scope link noprefixroute valid_lft forever preferred_lft forever

可以看到看到 ens33 接口已经使用了配置的静态 IP 地址 192.168.150.145


4_重启后存在的问题

部分版本可能出现重启后发现配置没有生效,使用ifconfig命令也没有查看到对应的IP地址,但是/etc/NetworkManager/system-connections/配置文件中的内容确实是我们配置之后的。

这是由于配置的网卡(比如ens33)没有设置自动连接造成的,如果使用nmcli connection up ens33后再查看会发现配置生效了。

使用如下命令解决:

sudo nmcli connection modify "ens33" connection.autoconnect yes
sudo systemctl restart NetworkManager

还可以通过修改配置文件的方式确保网卡开机后自动连接:

sudo vim /etc/NetworkManager/system-connections/ens33.nmconnection

在文件中找到 [connection] 部分,确保 autoconnect 设置为 true

[connection]
id=ens33
uuid=2c1fb13d-391d-4add-9919-7cebb1f76782
type=ethernet
autoconnect=true  # 确保这一行设置为 true
interface-name=ens33

使更改生效,重新启动 NetworkManager

sudo systemctl restart NetworkManager

确保 NetworkManager 服务在系统启动时自动启动:

sudo systemctl enable NetworkManager

配置完毕后, ens33 在系统启动时就能自动连接了。


5_nmcli 补充


nmcli 的功能和作用

nmcli 允许用户执行以下常见的网络管理任务:

  • 配置有线和无线网络
  • 查看网络接口和连接的状态
  • 启动、停止、重新连接网络
  • 设置静态或动态 IP 地址
  • 管理 VPN 连接
  • 配置网络的代理设置等

nmcli 通常在需要通过命令行进行网络管理时非常有用,尤其是在没有图形界面的服务器环境中。

基本语法:nmcli [选项] <命令> [参数]


常用命令和用法


1.查看当前网络连接的状态,包括接口、IP 地址等信息

nmcli device status

示例输出:

DEVICE  TYPE      STATE         CONNECTION 
ens33   ethernet  已连接        	ens33      
lo      loopback  连接(外部)	    lo 

2.查看所有连接

列出所有网络连接(包括有线、无线、VPN 等):

nmcli connection show

示例输出:

NAME   UUID                                  TYPE      DEVICE 
ens33  2c1fb13d-391d-4add-9919-7cebb1f76782  ethernet  ens33  
lo     4b7c1923-16d8-4f53-90f0-e17b9a6519e0  loopback  lo 

3.激活网络连接

激活特定的网络连接(例如连接到一个 Wi-Fi 网络):

nmcli connection up <连接名称>

例如,连接到 ens33

nmcli connection up ens33

4.停用网络连接

停止一个网络连接(断开 Wi-Fi、以太网等):

nmcli connection down <连接名称>

例如,断开 ens33

nmcli connection down ens33

5.配置无线网络

连接到一个无线网络:

nmcli device wifi connect <SSID> password <密码>

示例:

nmcli device wifi connect MyNetwork password MyPassword

6.配置静态 IP 地址

设置静态 IP 地址:

nmcli connection modify <连接名称> ipv4.addresses <IP地址>/<子网掩码> ipv4.method manual
nmcli connection up <连接名称>

示例:

nmcli connection modify Wired connection 1 ipv4.addresses 192.168.1.100/24 ipv4.method manual
nmcli connection up Wired connection 1

7.配置 DNS 服务器

设置 DNS 服务器:

nmcli connection modify <连接名称> ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection up <连接名称>

8.查看当前活动的 IP 地址

nmcli device show

这将显示设备的详细信息,包括当前的 IP 地址。


9.查看设备的详细信息

显示特定设备的详细信息(如网络接口 eth0wlan0):

nmcli device show <设备名称>

示例:

nmcli device show ens33

10.断开 Wi-Fi 连接

nmcli device disconnect wlan0

nmcli 选项和常见子命令说明
device管理网络设备(如启用/禁用设备、查看设备状态等)。
connection管理网络连接(如激活、停用、修改连接等)。
general显示系统网络管理的基本信息(如版本、状态等)。
wifi用于管理无线网络连接,扫描、连接等。
monitor实时监控网络状态、连接和设备事件。

相关文章:

CentOS 9 配置静态IP

文章目录 1_问题原因2_nmcli 配置静态IP3_使用配置文件固定IP4_重启后存在的问题5_nmcli 补充 1_问题原因 CentOS 7 于 2014年6月发布&#xff0c;基于 RHEL 7&#xff0c;并在 2024年6月30日 结束维护。 CentOS 9 作为目前的最新版本&#xff0c;今天闲来闲来无事下载下来后…...

深入解析 Webhook:从原理到实践的全面指南

1. 引言 1.1 什么是 Webhook&#xff1f; Webhook 是一种基于 HTTP 回调的轻量级通信机制&#xff0c;它允许一个系统实时向另一个系统发送数据。当特定事件发生时&#xff0c;Webhook 会主动向指定的 URL 发送 HTTP 请求&#xff0c;通常携带事件相关的数据。这种被动接收通…...

基于springboot+vue实现的创新创业学分管理系统 (源码+L文+ppt)4-111

4 系统总体设计 4.1系统功能结构设计图 根据需求说明设计系统各功能模块。采用模块化设计方法实现一个复杂结构进行简化&#xff0c;分成一个个小的容易解决的板块&#xff0c;然后再将小的板块继续分化成功能单一的更小模块。模块化设计方法使测试调试、维护更容易&#xff…...

如何高效地架构一个Java项目

引言 Java是企业级应用开发的主流语言之一&#xff0c;而我们作为使用Java语言的程序员&#xff0c;职称有初级、中级、高级、资深、经理、架构&#xff0c;但我们往往只是慢慢通过经验的积累迭代了自己的等级&#xff0c;如果没有保持学习的习惯&#xff0c;大多数程序员会停留…...

Scala的模式匹配(8)

package hfdobject Test35_1 { //需求:现在有一个数组Array(1,2,3,4)。我希望能定义三个变量&#xff0c;他们的值分别是数组中的第1&#xff0c;2&#xff0c;3个元素的值 def main(args: Array[String]): Unit {val arr Array(1,2,3,4,5)//第一个元素的值&#xff1a;arr(0…...

nodejs30: CSS 剪辑路径clip-path导致伪元素不可见问题及解决方法

相关问题 应用圆角裁剪时无法显示::after 取消clip-path设置&#xff1a; 完整问题代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, i…...

Git分布式版本控制工具 Git基本概念、Git工作流程、Git常用命令、Git远程仓库、IDEA操作Git

目录 ​​​​​​ 1.Git基本概念 1.1 概述 1.1.1 开发中的实际场景 1.1.2 版本控制器的方式 1.1.2.1 集中式版本控制工具(SVN) 1.1.2.2 分布式版本控制工具(Git) 2.概述git工作流程 3.Git常用命令 3.1 Git环境配置 3.1.1 下载与安装 3.1.2 基本配置 3.1.3 为常用指令配置别名&…...

十,[极客大挑战 2019]Secret File1

点击进入靶场 查看源代码 有个显眼的紫色文件夹&#xff0c;点击 点击secret看看 既然这样&#xff0c;那就回去查看源代码吧 好像没什么用 抓个包 得到一个文件名 404 如果包含"../"、"tp"、"input"或"data"&#xff0c;则输出"…...

Android 获取数字键盘和输入类型

在Android中&#xff0c;获取数字键盘可以通过为EditText设置输入类型为number或numberPassword来实现。以下是一个简单的例子&#xff1a; <!-- 在XML布局文件中 --> <EditText android:id"id/editTextNumber" android:layout_width"match_parent…...

8. 一分钟读懂“代理模式”

8.1 模式介绍 代理模式是一种结构型设计模式&#xff0c;它通过提供一个代理对象来替代对另一个对象&#xff08;真实对象&#xff09;的访问。代理对象与真实对象实现相同的接口&#xff0c;并通过代理类对真实对象的访问进行控制&#xff0c;可以在调用前后执行附加操作&…...

【实战攻略】如何从零开始快速实现深度学习新想法?——四步走战略

标题 【实战攻略】如何从零开始快速实现深度学习新想法&#xff1f;——四步走战略 【核心结论】 通过四步走战略&#xff0c;即找到baseline论文、深入baseline代码、搭建自己的pipeline、融入核心算法&#xff0c;新手也能快速实现深度学习新想法。 【通俗解释&#xff0…...

Creating Server TCP listening socket *:6379: bind: No error

启动redis报错&#xff1a;Creating Server TCP listening socket *:6379: bind: No error 解决方案&#xff1a; 1、直接在命令行中输入 redis-cli.exe 2、输入shutdown&#xff0c;关闭 3、输exit&#xff0c;退出 4、重新输入 redis-server.exe redis.windows.conf&…...

Go热加载工具air-使用说明-win11问题解决指南

写web程序 每次都要ctrlc 然后go run .非常但疼 用一下这个热加载工具air Live reload for Go apps 贴个github地址&#xff1a;https://github.com/air-verse/air 1. go版本1.23先install一下 go install github.com/air-verse/airlatest下载完发现输入air windows还是报…...

华为HarmonyOS 让应用快速拥有账号能力 -- 2 获取用户头像昵称

场景介绍 如应用需要完善用户头像昵称信息&#xff0c;可使用Account Kit提供的头像昵称授权能力&#xff0c;用户允许应用获取头像昵称后&#xff0c;可快速完成个人信息填写。以下只针对Account kit提供的头像昵称授权能力进行介绍&#xff0c;若要获取头像还可通过场景化控…...

oracle表迁移至postgre

第一步: 导出表结构 进入脚本 第二步: 删除spool相关和prompt相关(不需要表空间的情况下) 类似以下语句 第三步: 修改数据类型 VARCHAR2 --> VARCHAR VARCHAR2(200 CHAR) --> VARCHAR(200) NUMBER(10,2) --> numeric(10,2…...

【PlantUML系列】类图(一)

目录 一、类 二、接口 三、抽象类 四、泛型类 五、类之间的关系 六、添加注释 七、包图 八、皮肤参数 一、类 使用class关键字定义类&#xff0c;类名后跟大括号&#xff0c;声明类的属性和方法。 属性&#xff1a;格式为{visibility} attributeName : AttributeType…...

Unity AssetBundles(AB包)

目录 前言 AB包是什么 AB包有什么作用 1.相对Resources下的资源AB包更好管理资源 2.减小包体大小 3.热更新 官方提供的打包工具:Asset Bundle Browser AB包资源加载 AB包资源管理模块代码 前言 在现代游戏开发中&#xff0c;资源管理是一项至关重要的任务。随着游戏内容…...

腾讯面试:如何解决哈希冲突?

我们面试时经常被问到HashMap是怎么解决哈希冲突的&#xff0c;很多同学对其含糊其词、一知半解。因此小编对相关知识进行了总结&#xff0c;希望帮助读者加深对其理解。 哈希表就是通过散列函数将键映射到定值&#xff0c;简单来说就是一个键对应一个值。 而通过散列函数映射…...

【动手学运动规划】 4.5 A*算法

我宁愿永远做我自己&#xff0c;也不愿成为别人&#xff0c;即使那个人比你更快乐。 —《成为简奥斯汀》 &#x1f3f0;代码及环境配置&#xff1a;请参考 环境配置和代码运行! 4.5.1 概述 Dijkstra算法是基于广度优先搜索策略来遍历空间内的所有节点&#xff0c;最终计算出…...

Spring Boot 3.4.0 发布:功能概览与示例

Spring Boot 3.4.0 带来了许多增强功能&#xff0c;使现代应用开发更加高效、便捷和强大。以下是最新功能的完整概述&#xff0c;以及一些帮助您快速入门的代码示例。 1. 应用程序版本管理 Spring Boot 引入了 spring.application.version 属性&#xff0c;方便开发者设置和访…...

告别低速串口:用STM32的FSMC总线驱动FPGA,实现高速数据交换的完整流程(基于STM32F407)

STM32与FPGA的高速数据通道&#xff1a;基于FSMC总线的实战设计指南 在嵌入式系统开发中&#xff0c;数据吞吐量常常成为制约系统性能的关键瓶颈。当STM32微控制器需要与FPGA进行大数据量交互时——无论是实时图像处理、高速数据采集还是复杂算法加速——传统的串行通信接口如…...

如何用嘎嘎降AI处理汉语言文学论文:文学类毕业论文降AI免费完整操作教程

如何用嘎嘎降AI处理汉语言文学论文&#xff1a;文学类毕业论文降AI免费完整操作教程 帮同学处理过汉语言文学论文降AI教程&#xff0c;流程基本是固定的&#xff0c;记录下来供参考。 主推工具&#xff1a;嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;&#xff0c;4.…...

如何实现快速排名?老站降权后恢复收录的4步挽救法

企业站点日常维护期间&#xff0c;可能遭遇搜索访问量大面积滑坡。周一早晨九点登录系统&#xff0c;常会看到令人震惊的数据&#xff1a;原先稳定排在搜索结果前十名的50个主商业名词&#xff0c;在一夜之间完全不见踪迹。管理控制台页面显示的单日整体曝光量从25000次骤然缩减…...

从原理图到PCB:STM32最小系统外围电路布局布线实战避坑指南

从原理图到PCB&#xff1a;STM32最小系统外围电路布局布线实战避坑指南 在嵌入式硬件开发中&#xff0c;设计一个可靠的STM32最小系统PCB远比绘制原理图更具挑战性。许多开发者能够正确连接原理图符号&#xff0c;却在将设计转化为实际电路板时遭遇各种问题——从莫名其妙的复位…...

【Midjourney双色调风格终极指南】:20年视觉算法专家亲授3步精准复刻电影级Duotone效果

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;双色调美学的视觉起源与Midjourney适配性解析 双色调&#xff08;Duotone&#xff09;并非现代数字设计的发明&#xff0c;其视觉基因可追溯至19世纪的凹版印刷工艺——通过两块独立印版叠加单色油墨&#xf…...

为什么说Ohook重新定义了Office激活的技术边界?

为什么说Ohook重新定义了Office激活的技术边界&#xff1f; 【免费下载链接】ohook An universal Office "activation" hook with main focus of enabling full functionality of subscription editions 项目地址: https://gitcode.com/gh_mirrors/oh/ohook 当…...

手把手教你:用SuperMap iServer发布3D Tiles服务,并在Cesium中加载(附完整代码)

从S3MB到3D Tiles&#xff1a;SuperMap iServer三维服务发布与Cesium集成实战指南 三维地理信息系统&#xff08;3D GIS&#xff09;正在重塑我们对空间数据的理解和交互方式。想象一下&#xff0c;你手中有一批精美的建筑模型或地形数据&#xff0c;如何让它们在网页上流畅展示…...

KMS_VL_ALL_AIO:Windows和Office永久激活终极指南

KMS_VL_ALL_AIO&#xff1a;Windows和Office永久激活终极指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活和Office软件授权问题烦恼吗&#xff1f;KMS_VL_ALL_AIO是一…...

终极魔兽争霸3兼容性修复指南:5分钟让经典游戏在现代电脑上重生

终极魔兽争霸3兼容性修复指南&#xff1a;5分钟让经典游戏在现代电脑上重生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现代Win…...

C++详解实现Stack方法

栈简介栈本着先进后出的原则&#xff0c;来存取数据。作为数据结构中的一种&#xff0c;这里不多介绍相关栈。仅以此文记录C中栈的实现&#xff0c;可帮助提升编程能力与对栈的理解。stack模拟stack是一种容器适配器&#xff0c;专门在具有后进先出的上下文环境中&#xff0c;其…...