linux 网络管理

在现代社会,网络已成为人们生活中不可或缺的一部分。对于操作系统而言,网络功能的支持和管理显得尤为重要。本节课我们将探讨如何在centos8中管理网络。

NetworkManager和常用工具及其基本用法

NetworkManager介绍

在Linux系统中,传统的网络管理方式是通过名为”network”的服务来实现的。在CentOS7中仍然可以看到这个服务,但在CentOS8中已不再使用”network”服务,取而代之的是”NetworkManager”服务。NetworkManager服务简化了有线和无线连接的管理工作,并且能够管理各种类型的网络,包括物理网卡、虚拟网卡、以太网和非以太网等。

常用工具

nmcli:命令行工具nmtui:文本图形界面工具cockpit:基于web的管理工具

nmcli基本用法

nmcli命令的使用类似于Linux中之前的ip命令,支持tab补全,并且可以通过-h--help获取帮助信息。

[root@zutuanxue ~]# nmcli -h[root@zutuanxue ~]# nmcli connection -h

可以看到,不同阶段获取的帮助内容有所不同,具体用法将在后续详细介绍。nmcli工具有两个常用命令:

nmcli connection(nmcli c):与连接相关的操作

[root@zutuanxue network-scripts]# nmcli connectionNAME   UUID                                  TYPE      DEVICEens33  b5ecf570-543c-4da7-b082-bdc073b56acb  ethernet  ens33ens37  077945cb-1d12-4c06-bba3-562426336b67  ethernet  --

在查看时,有颜色的字体标注的是处于活跃状态的网卡,即已连接的;正常颜色的字体标记的是非活跃状态的网卡,即未连接的,未连接的网卡不生效。

乾坤圈新媒体矩阵管家 乾坤圈新媒体矩阵管家

新媒体账号、门店矩阵智能管理系统

乾坤圈新媒体矩阵管家 17 查看详情 乾坤圈新媒体矩阵管家 nmcli device(nmcli d):与设备相关的操作

[root@zutuanxue network-scripts]# nmcli deviceDEVICE  TYPE      STATE   CONNECTIONens33   ethernet  已连接  ens33ens37   ethernet  已断开  --lo      loopback  未托管  --

在日常使用中,这两个命令相互配合,通过nmcli device可以查看到有哪些网络设备被NetworkManager托管,通过nmcli connection控制网络设备的连接状态。

使用nmcli命令设置网卡信息

查看网卡信息

[root@zutuanxue ~]# nmcliens33: 已连接 to ens33#设备状态和名称"Intel 82545EM"#设备型号ethernet (e1000), 00:0C:29:11:47:97, 硬件, mtu 1500ip4 默认inet4 192.168.1.55/24route4 0.0.0.0/0route4 192.168.1.0/24inet6 fe80::ea62:91c6:114:18bb/64route6 fe80::/64route6 ff00::/8

为网卡设置静态IP

[root@zutuanxue ~]# nmcli connection add type ethernet con-name ens-test1 ifname ens37 ipv4.addresses 192.168.18.100/24 ipv4.gateway 192.168.18.1 ipv4.method manual连接 "ens-test1" (da7fdc9a-e7cc-4a1c-8b2c-7751ed2fc4d2) 已成功添加。

启用新添加的连接

[root@zutuanxue ~]# nmcli connection up ens-test1连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/16)

查看连接状态

[root@zutuanxue ~]# nmcli connectionNAME       UUID            TYPE      DEVICEens33      b5ecf5...  ethernet  ens33ens-test1  da7fdc...  ethernet  ens37ens37      077945...  ethernet  --

为网卡设置动态IP

[root@zutuanxue ~]# nmcli connection add type ethernet con-name ens-test2 ifname ens37 ipv4.method auto连接 "ens-test2" (25b9dd2f-a4c0-452d-bd22-992cf12b55b2) 已成功添加。[root@zutuanxue ~]# nmcli connection up ens-test2连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/17)[root@zutuanxue ~]# nmcli connectionNAME       UUID              TYPE      DEVICEens33      b5ec... ethernet  ens33ens-test2  25b9... ethernet  ens37ens37      0779... ethernet  --ens-test1  da7f... ethernet  --

交互式设置IP地址

[root@zutuanxue ~]# nmcli connection edit ens-test1nmcli> goto ipv4.addressesnmcli ipv4.addresses> change编辑 "addresses" 值:192.168.20.100/24您是否也要将 "ipv4.method" 设为 "manual"?[yes]:yesnmcli ipv4.addresses> backnmcli ipv4> save成功地更新了连接 "ens-test1" (da7fdc9a-e7cc-4a1c-8b2c-7751ed2fc4d2)。nmcli ipv4> activate正在监视连接激活(按任意键继续)连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/18)nmcli ipv4> quit[root@zutuanxue ~]# nmcliens37: 已连接 to ens-test1"Intel 82545EM"ethernet (e1000), 00:0C:29:11:47:A1, 硬件, mtu 1500ip4 默认inet4 192.168.20.100/24route4 192.168.20.0/24route4 192.168.18.1/32route4 0.0.0.0/0inet6 fe80::11c3:e0a4:f62e:9f31/64route6 fe80::/64route6 ff00::/8

启用和停用

[root@zutuanxue ~]# nmcli connection up ens-test1连接已成功激活(D-Bus 活动路径:...[root@zutuanxue ~]# nmcli connection down ens-test1成功停用连接 "ens-test1"(D-Bus 活动路...

删除连接

[root@zutuanxue ~]# nmcli connection delete ens-test1成功删除连接 "ens-test1" (4fc43f65-ea53-43a1-85d4-692e425fcd7d)。[root@zutuanxue ~]# nmcli connectionNAME   UUID     TYPE      DEVICEens33  b5ec...ethernet  ens33ens37  0779...ethernet  ens37[root@zutuanxue ~]# nmcli connection showNAME   UUID     TYPE      DEVICEens33  b5ec...  ethernet  ens33ens37  0779...  ethernet  ens37

重新加载设置(不会立即生效)

[root@zutuanxue ~]# nmcli connection reload

重新加载指定的设置(不会立即生效)

[root@zutuanxue ~]# nmcli connection load /etc/sysconfig/network-scripts/ifcfg-ens37

生效方法

启用设备

[root@zutuanxue ~]# nmcli connection up  ens37连接已成功激活(D-Bus 活动路径...

或者连接设备并更新设备

[root@zutuanxue ~]# nmcli device connect ens37[root@zutuanxue ~]# nmcli device reapply ens37

查看设备及查看设备的详细信息

[root@zutuanxue ~]# nmcli deviceDEVICE  TYPE      STATE   CONNECTIONens37   ethernet  已连接  ens37ens33   ethernet  已连接  ens33lo      loopback  未托管  --[root@zutuanxue ~]# nmcli device show ens33GENERAL.DEVICE:                         ens33GENERAL.TYPE:                           ethernetGENERAL.HWADDR:                         00:0C:29:11:47:97GENERAL.MTU:                            1500GENERAL.STATE:                          100(已连接)GENERAL.CONNECTION:                     ens33GENERAL.CON-PATH:         /org/freedesktop/NetworkMana...WIRED-PROPERTIES.CARRIER:               开IP4.ADDRESS[1]:                         192.168.1.55/24IP4.GATEWAY:                            --IP4.ROUTE[1]:           dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 102IP4.DNS[1]:             202.106.0.20IP4.DNS[2]:             114.114.114.114IP6.ADDRESS[1]:         fe80::ea62:91c6:114:18bb/64IP6.GATEWAY:            --IP6.ROUTE[1]:           dst = fe80::/64, nh = ::, mt = 102IP6.ROUTE[2]:           dst = ff00::/8, nh = ::, mt = 256, table=255

连接/断开网卡

[root@zutuanxue ~]# nmcli device connect/disconnect ens37

开启/关闭无线网络

[root@zutuanxue ~]# nmcli radio all on/off

开启/关闭NetworkManager的网络管理功能

[root@zutuanxue ~]# nmcli networking on/off

监控网络状态

[root@zutuanxue ~]# nmcli monitor (ctrl+c结束)ens37: 停用中网络管理器现在处于 "已连接(仅本地)" 状态连接性现在是 "受限"ens37: 已断开

询问NetworkManager网络连接状态(默认等待30秒)

[root@zutuanxue ~]# nm-online正在连接...............   30s [online]

使用其他网络管理方式配置网络

nmtui

[root@zutuanxue ~]# nmtui

linux 网络管理

cockpit

[root@zutuanxue ~]# rpm -qa | grep cockpitcockpit-packagekit-184.1-1.el8.noarchcockpit-system-185-2.el8.noarchcockpit-185-2.el8.x86_64cockpit-bridge-185-2.el8.x86_64cockpit-ws-185-2.el8.x86_64cockpit-storaged-184.1-1.el8.noarch[root@zutuanxue ~]# systemctl start cockpit

linux 网络管理linux 网络管理

以上就是linux 网络管理的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/463952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 04:41:50
下一篇 2025年11月8日 04:43:07

相关推荐

  • PHP7中openssl_encrypt加密:32位Key和IV长度导致错误如何解决?

    PHP7中使用openssl_encrypt加密时密钥和IV长度问题详解 本文分析在PHP7中使用openssl_encrypt函数进行AES加密时,由于密钥(Key)和初始化向量(IV)长度不匹配导致的错误。 问题源于用户尝试使用32位长度的密钥和IV进行AES-128-CBC加密,导致代码报错,…

    好文分享 2025年12月10日
    000
  • 微信公众号跳转页面异常:如何排查部分用户跳转失败及跳转页面不一致的问题?

    微信公众号跳转异常排查及解决方案 本文分析并解决一个微信公众号跳转页面异常问题:同一按钮,不同用户跳转至不同页面,部分用户跳转失败,显示为未获取openid而跳转至绑定页面。代码已尝试获取openid并控制跳转,但仍存在问题。 问题代码片段: public function __construct(…

    2025年12月10日
    000
  • PHP7 OpenSSL加密:如何正确选择密钥长度和加密算法?

    PHP7 OpenSSL加密:AES加密密钥长度与算法匹配问题 本文分析在PHP7中使用openssl_encrypt函数进行AES加密时,如何正确处理密钥长度与算法选择的问题,避免因密钥长度与算法不匹配导致加密失败或结果不一致的情况。 许多开发者在使用AES-128-CBC算法时,容易误认为32位…

    2025年12月10日
    000
  • 后端开发环境:Docker是必须的吗?

    Docker在后端开发环境中的应用:利与弊 许多后端团队尝试使用Docker标准化开发环境,以解决环境差异导致的代码兼容性问题。Docker通过镜像技术打包运行环境,理论上简化了环境配置,只需将代码放入容器即可运行。然而,实际应用中并非如此简单。 开发者经常面临的挑战是:频繁更新依赖需要重新构建镜像…

    2025年12月10日
    000
  • 如何设计一个通用的PHP接口频率限制类?

    如何构建高效的PHP接口限流机制? 许多开发者都面临着API限流的需求。本文探讨构建一个通用的PHP接口限流类所需的关键组件,并解释为什么PHP生态中缺乏独立、通用的开源限流类。 核心在于有效控制API访问频率。一个可行的方案需要一个数据存储组件,例如Redis,用于记录每个用户或IP的访问次数和时…

    2025年12月10日
    000
  • 公众号用户跳转异常:Session获取openid失败如何排查和解决?

    公众号用户跳转异常排查与解决方案 近期,在公众号开发中遇到一个跳转异常问题:部分用户点击同一按钮后,跳转页面异常,部分用户跳转正常,而另一些用户则跳转至绑定页面,表现为未获取openid而强制跳转。本文将深入分析问题根源并提供解决方案。 问题代码位于构造函数__construct()中,核心逻辑在于…

    2025年12月10日
    000
  • 如何设计和实现高效的接口限流机制?

    构建高效的API限流机制 本文探讨如何设计一个高效的API频率限制器,并分析PHP生态中缺乏独立、通用的开源限流组件的原因。 许多开发者都面临着API访问频率控制的需求,以应对恶意请求或突发流量。 实现限流的核心在于记录每个请求的访问次数和时间。 Redis凭借其高性能和丰富的特性,成为理想的存储方…

    2025年12月10日
    000
  • 如何设计一个通用的接口频率控制类并解决PHP生态下缺乏此类开源项目的问题?

    构建高效的接口频率控制类 本文将探讨如何设计一个通用的接口频率限制类,并解释为什么PHP生态中缺乏此类独立开源项目的原因。 许多应用需要限制接口访问频率,以防止恶意攻击或资源过度消耗。 实现频率控制的关键在于有效地存储和管理访问记录,追踪每个客户端的请求次数和时间。 常用的存储方案包括Redis、数…

    2025年12月10日
    000
  • Swoole常驻内存下如何有效应对静态变量带来的挑战?

    Swoole常驻内存与静态变量:挑战与应对 Swoole的常驻内存机制赋予PHP高并发能力,但也引入了新的挑战,尤其是在大量使用静态变量的项目中。静态变量的生命周期与类绑定,在常驻进程中,重复访问同一静态变量可能导致内存泄漏或数据错乱。这对于从传统PHP项目迁移到Swoole的项目来说,是一个棘手的…

    2025年12月10日
    000
  • 后端开发:Docker并非唯一选择,还有哪些替代方案?

    后端开发环境:探索Docker之外的替代方案 Docker作为后端开发环境日益流行,其初衷是构建一致、可复现的开发环境,避免因环境差异导致的代码运行问题。Docker通过镜像技术打包运行环境,开发者只需编写配置文件,即可轻松搭建开发环境,无需手动安装繁杂的依赖项。然而,这种方法并非完美无缺。 本文作…

    2025年12月10日
    000
  • 微信公众号跳转异常:为何部分用户跳转到绑定页面?

    微信公众号跳转异常排查及解决方案 近期,部分用户反馈微信公众号内跳转功能异常:点击同一按钮,部分用户跳转至预期页面,而部分用户却被导向绑定页面(https://www.php.cn/link/e4563f7b21ded1b4baf7494d10ab9c9d。 问题描述: 公众号内特定页面跳转出现差异…

    2025年12月10日
    000
  • PHP7中AES加密密钥长度如何与算法匹配才能避免报错?

    PHP7 OpenSSL加密:密钥长度与AES算法的匹配问题 本文分析在PHP7中使用openssl_encrypt函数进行AES加密时,如何避免因密钥长度与算法不匹配导致的错误。 问题场景:使用AES-128-CBC算法,PKCS7填充,在线加密工具成功,但PHP代码报错,提示密钥或IV长度不支持…

    2025年12月10日
    000
  • LAMP架构下,PHP适合开发API接口吗?

    LAMP架构与PHP API接口开发:可行性分析 许多开发者偏好使用JavaScript或Java构建API接口,但在LAMP环境下进行实验时,常常会疑问:PHP是否胜任后端API接口开发?例如,能否利用PHP创建一个简单的API? 答案是肯定的。PHP作为LAMP架构的核心组件之一,其服务器端脚本…

    2025年12月10日
    000
  • 如何精准提取SQL语句中逗号分割的最后一个表名?

    高效提取SQL语句中逗号分割的最后一个表名 本文介绍如何从类似 select dt from a.b.c where dt = ‘20210808’ limit 10 这样的SQL语句中,准确提取以逗号分隔的最后一个表名。 挑战在于表名可能包含下划线,并可能存在各种前缀(如 a.,a.d. 等)。 …

    2025年12月10日
    000
  • 如何精准提取SQL语句中以逗号分割的最后一个表名?

    从SQL语句中精准提取最后一个表名:多种方法详解 本文探讨如何从类似 “select dt from a.b.c where dt = ‘20210808’ limit 10” 这样的SQL语句中,提取以点号分隔的最后一个表名(例如,从 “…

    2025年12月10日
    000
  • Windows环境下如何用PHP读取Modbus RTU数据?

    在Windows系统下,如何使用PHP读取Modbus RTU数据? 许多项目需要PHP与Modbus RTU设备进行数据交互,但PHP本身并不支持Modbus RTU协议。本文介绍在Windows环境下,利用PHP间接访问Modbus RTU设备数据的方案。 由于PHP缺乏原生Modbus RTU…

    2025年12月10日
    000
  • LAMP架构下,必须使用PHP进行后端开发和接口编写吗?

    LAMP架构与PHP后端开发的关系 许多开发者偏好使用JavaScript或Java进行接口编写,但在某些实验或项目中,LAMP架构仍然是首选。那么,LAMP架构是否强制要求使用PHP进行后端开发,例如接口开发呢? 答案是肯定的。LAMP架构的核心组件包括:Linux操作系统、Apache Web服…

    2025年12月10日
    000
  • PHP启用Xdebug后性能大幅下降,如何解决?

    xdebug导致php性能下降的解决方案 Xdebug是PHP开发中强大的调试工具,但启用后常常导致性能显著下降。本文针对Windows平台PHP7.1环境下,TTFB时间从100ms增加到1s的案例,提供优化方案。 问题根源在于Xdebug的默认配置。通过调整关键参数,可以在兼顾调试功能的同时,大…

    2025年12月10日
    000
  • PHP启用Xdebug后速度骤降十倍,如何优化配置提升性能?

    Xdebug性能优化:解决PHP程序速度骤降问题 Xdebug是PHP开发中不可或缺的调试工具,但启用后性能下降甚至十倍的现象也让许多开发者头疼。本文针对Windows平台PHP 7.1环境下,TTFB从100ms飙升至1s的问题,提供有效的Xdebug配置优化方案。 问题描述:启用Xdebug后,…

    2025年12月10日
    000
  • curl报错35:SSL连接失败怎么办?

    curl报错35:SSL连接失败的排查与解决 使用curl进行网络请求时,经常会遇到令人头疼的“error 35”错误,这通常与SSL证书验证失败有关。本文将分析curl报错35的常见原因,并提供相应的解决方法。 错误原因分析: curl的“error 35”错误提示SSL连接问题,可能由以下几个因…

    2025年12月10日
    000

发表回复

登录后才能评论
关注微信