首页 > 系统相关 >linux 网络管理

linux 网络管理

时间:2023-10-21 14:49:11浏览次数:33  
标签:网络管理 nmcli linux ethernet ens37 root zutuanxue ens33

现代人的生活越来越依赖网络,对于一个操作系统来讲,网络功能的支持和管理就更为重要了,本节课我们一起来看一下在CentOS8中如何对网络进行管理

NetworkManager和常用工具和基本用法

NetworkManager介绍

在linux系统中传统的网络管理方法是用过一个叫network的服务来实现,在CentOS7中依然有这个服务的身影,但是到了CentOS8中已经不使用network这个服务了,而是使用了一个叫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 connection 
NAME   UUID                                  TYPE      DEVICE
连接名	 设备的UUID(通用唯一识别码)							设备类型		设备名称
ens33  b5ecf570-543c-4da7-b082-bdc073b56acb  ethernet  ens33  
ens37  077945cb-1d12-4c06-bba3-562426336b67  ethernet  -- 
在查看时,有颜色的字体标注的是处于活跃状态的网卡,也就是连接的,正常颜色字体标记的是非活跃状态的网卡,也就是未连接的,未连接的不生效
nmcli device	(nmcli d)		与设备相关的操作
[root@zutuanxue network-scripts]# nmcli device 
DEVICE  TYPE      STATE   CONNECTION 
设备名		设备类型	 设备状态	 连接名称
ens33   ethernet  已连接  ens33      
ens37   ethernet  已断开  --         
lo      loopback  未托管  -- 

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

使用nmcli命令设置网卡信息

查看网卡信息
[root@zutuanxue ~]# nmcli 
ens33: 已连接 to ens33	#设备状态和名称
  "Intel 82545EM"	#设备型号
  ethernet (e1000), 00:0C:29:11:47:97, 硬件, mtu 1500
  ip4 默认
  inet4 192.168.1.55/24
  route4 0.0.0.0/0
  route4 192.168.1.0/24
  inet6 fe80::ea62:91c6:114:18bb/64
  route6 fe80::/64
  route6 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 connection 
NAME       UUID            TYPE      DEVICE 
ens33      b5ecf5...		  ethernet  ens33  
ens-test1  da7fdc...		  ethernet  ens37  
ens37      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 connection 
NAME       UUID              TYPE      DEVICE 
ens33      b5ec...					 ethernet  ens33  
ens-test2  25b9...					 ethernet  ens37  
ens37      0779...					 ethernet  --     
ens-test1  da7f...					 ethernet  --     


交互式设置IP地址
[root@zutuanxue ~]# nmcli connection edit ens-test1 
nmcli> goto ipv4.addresses 
nmcli ipv4.addresses> change
编辑 "addresses" 值:192.168.20.100/24
您是否也要将 "ipv4.method" 设为 "manual"?[yes]:yes
nmcli ipv4.addresses> back
nmcli ipv4> save
成功地更新了连接 "ens-test1" (da7fdc9a-e7cc-4a1c-8b2c-7751ed2fc4d2)。
nmcli ipv4> activate 
正在监视连接激活(按任意键继续)
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/18)

nmcli ipv4> quit

[root@zutuanxue ~]# nmcli 
ens37: 已连接 to ens-test1
  "Intel 82545EM"
  ethernet (e1000), 00:0C:29:11:47:A1, 硬件, mtu 1500
  ip4 默认
  inet4 192.168.20.100/24
  route4 192.168.20.0/24
  route4 192.168.18.1/32
  route4 0.0.0.0/0
  inet6 fe80::11c3:e0a4:f62e:9f31/64
  route6 fe80::/64
  route6 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 connection 
NAME   UUID     TYPE      DEVICE 
ens33  b5ec...	ethernet  ens33  
ens37  0779...	ethernet  ens37  
[root@zutuanxue ~]# nmcli connection show
NAME   UUID     TYPE      DEVICE 
ens33  b5ec...  ethernet  ens33  
ens37  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 device 
DEVICE  TYPE      STATE   CONNECTION 
ens37   ethernet  已连接  ens37      
ens33   ethernet  已连接  ens33      
lo      loopback  未托管  --         
[root@zutuanxue ~]# nmcli device show ens33
GENERAL.DEVICE:                         ens33
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:11:47:97
GENERAL.MTU:                            1500
GENERAL.STATE:                          100(已连接)
GENERAL.CONNECTION:                     ens33
GENERAL.CON-PATH:         /org/freedesktop/NetworkMana...
WIRED-PROPERTIES.CARRIER:               开
IP4.ADDRESS[1]:                         192.168.1.55/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:           dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 102
IP4.DNS[1]:             202.106.0.20
IP4.DNS[2]:             114.114.114.114
IP6.ADDRESS[1]:         fe80::ea62:91c6:114:18bb/64
IP6.GATEWAY:            --
IP6.ROUTE[1]:           dst = fe80::/64, nh = ::, mt = 102
IP6.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

image20191128171950048.png

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

image20191128172456779.png

image20191128172540728.png

标签:网络管理,nmcli,linux,ethernet,ens37,root,zutuanxue,ens33
From: https://www.cnblogs.com/yihr/p/17778937.html

相关文章

  • linux磁盘基本管理
    一、磁盘介绍磁盘:计算机中的外部存储设备,负责存储计算机数据,并且断电后也能保持数据不丢失。磁盘分类:按照物理结构:机械磁盘固态磁盘按照接口:IDESCSISATASASmSATAM.2NVMEPCIe按照尺寸:机械硬盘:1.8寸2.5寸3.5寸固态硬盘:SATA:2.5寸M.2:2242、2260、2280......
  • linux磁盘管理-RAID介绍
    一、RAID介绍RAID(RedundantArrayofIndependentDisk独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余......
  • linux服务管理
    systemctl命令管理服务我们一起来看一下在服务管理方面systemctl这个工具如何使用[root@zutuanxue~]#systemctlstartservernamestart 启动服务stop 停止服务restart 重启服务(没启动的服务会启动)try-restart 只重启正在运行的服......
  • Linux基本优化
    一、selinux和防火墙优化1、SElinuxselinux安全增强型Linux(Security-EnhancedLinux)简称SELinux,它是一个Linux内核模块,也是Linux的一个安全子系统。SELinux主要由美国国家安全局开发。它的主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。也由于它......
  • Linux基本命令与常用符号
    一、常用命令介绍在linux系统中存在很多命令,这些命令可以帮助我们完成不同的工作,在这里面我们先介绍一些常用的基础命令,这些命令可以帮助我们完成对应的基本操作,随着以后的学习,我们还会接触到更多可以帮助我们完成不同工作的linux命令,我们来一起看一下这些基础命令都有哪些1、关......
  • linux日志服务器部署
    集中式日志服务器介绍如果你负责管理数台的Linux,你得登录每一台Linux后,才能阅读其中的信息!这样是不是很麻烦??那有没有什么更好的方案呢?Linux的系统日志服务,允许你把信息传递到某一台Linux的系统日志服务中;那你就可以把一台Linux作为日志服务器(LogServer),而其他的Linux......
  • linux启动常见问题
    一、忘记root密码日常生活中,我们会接触到很多账号和密码,而这些账号和密码我们不能都很好的记忆,对于linux也是一样的,如果root密码忘记了怎么办?岂不是都无法登陆使用Linux了?现在我就教各位,在不知道root密码的前提下,如何给root设置一个新的密码step1重启你的linux系统,在下图这个......
  • linux网络故障排查
    在日常使用中,经常会出现无法连通的情况,这个时候我们就需要找到问题出在哪里,这里面给各位提供一个生产环境排查网络故障的大体思路,一般情况下如果遇到网络故障,都是通过筛选的方式一点一点的确定问题所在,首先判断是本机的问题还是网络上其它设备的问题,如果同一网络环境中的其它主机......
  • linux软件包管理
    在linux系统中我们经常涉及到软件包的删除和添加,那一起来看下在linux系统中软件包的管理方式都有哪些rpm软件yum软件仓库源码软件一、rpm软件包rpm的介绍前面的课程我们提到过源码包安装需要解决系统环境、权限等等,这些对于初学者而言都是噩梦一般的存在,所以linux厂商推出......
  • linux日志管理
    一、日志服务的介绍日志介绍程序执行的时候,可以通过标准输出(stdout,StandardOutput)与标准错误输出(stderr,StandardErrorOutput)来输送信息,用户就可以了解该程序执行时发生了什么状况;可是对于在后台执行的服务器程序,或者Linux内核本身来说,就没有办法这样做了。服务与内核启......