Linux网络配置管理

目录

一、网络配置

1. 网卡配置

2. 路由

二、 网络信息查看

1.netstat

2. ss

三、 额外的命令 time


一、网络配置

之前我们学过 ifconfig ,这个命令可以查看网络接口的地址配置信息,我们只知道它可以查看接口名称、IP 地址、子网掩码等。

但是,这个命令输出了一大堆内容,分别代表什么意思呢?

首当其冲的是 ens33,它是第一块以太网卡的名称。“ens33”中的“en”是“EtherNet”的缩写,表示网卡类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽编号。

flags=4163<UP,BROADCAST,RUNNING,MULTICAST>    这一长串是 用来表示接口状态

UP 表示接口已激活

BROADCAST 表示接口支持广播

RUNNING  表示接口正在运行

MULTICAST  表示接口支持多播通信,能够向多个目标发送数据

第二行第三行分别是 网卡的IP地址等和ipv6地址

第四行  是网卡的mac地址

第五行  接受数据包个数、大小统计信息

第六行  异常接受包的个数、如丢包量、错误等

第七行  发送数据包个数、大小统计信息

第八行  发送包的个数、如丢包量、错误等

然后除了ens33这个网卡之外还有 lo 和 virbr0

lo 是“回环”网络接口,是 “loopback” 的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其 IP 地址默认是“127.0.0.1”。回环地址通常仅用于对本机的网络测试

virbr0 是一个虚拟的网络连接端口,默认为0号虚拟网络连接端口;一般在通过虚拟机进行移植操作系统时,默认会以nat的网络地址转移,但是可以选择桥接或者是无网络连接也是可以的

1. 网卡配置

接着我们说回ens33,我们都知道,在一开始装完虚拟机后,我们都会进行网卡的配置,配置完网卡才能用远程进行连接,也就是 进入到 /ect/sysconfig/network-scripts/ifcfg-ens33 这个配置文件里进行编辑,下面这是我的网卡编辑页面

PROXY_METHOD  用于指定代理方法,这里是none代表没有

BROWSER_ONLY  用于指定是否仅在浏览器使用代理

BOOTPROTO  指定接口的引导协议,我们一般用 static 静态 ,dhcp 动态分配的话,我们可能第二天就连不上虚拟机了

DEFROUTE  字面意思, 表示该接口是否设置为默认路由

IPV4_FAILURE_FATAL  在 IPv4 配置失败时,是否将其视为致命错误

IPV6INIT   是否启用 IPv6 支持

IPV6_AUTOCONF   是否使用自动配置获取 IPv6 地址

IPV6_DEFROUTE    该接口是否应被配置为默认 IPv6 路由

IPV6_ADDR_GEN_MODE  表示使用稳定隐私地址机制生成 IPv6 地址

ONBOOT  在系统启动时是否启用该接口

其他的就不解释了,网卡都配完了这个还不知道就直接从头开始学吧

网卡配置完了,想要配置生效,需要重启网络服务

systemctl restart network

然后我们也可以用    ip a    查看一下网络接口信息

2. 路由

 网卡弄完了我们看路由

route -n                                           查看路由表

ip route show=ip route                    查看路由配置

route add -net [ip地址]/24 gw [下一跳]           可以临时添加路由条目

二、 网络信息查看

1.netstat

Linux网络配置就这样吧,我们接下来需要像查看进程信息那样,查看系统中的各种网络相关的配置信息

netstat 这个命令可以查看当前操作系统的网络连接状态、路由表、接口统计等信息

我们来试试看,输出了一大堆

这里,第一排有各列字段的名字,可能不认识的是前三个

Proto    这是协议类型

RefCnt    通常用于显示网络接口或其他网络对象的当前引用计数

Flags     通常用于显示与网络接口或路由条目相关的状态标志  [   ]就是没有特定的标志

后面分别是类型、状态、inode号、路径

但是这显示的,太杂了,看不过来,我们需要加一些选项来筛选特定的条目

-n  以数字的形式显示相关的主机地址、端口等信息

-r  显示路由表信息

-a  查看所有连接,包括监听端口

-l   查看监听端口

-t   查看 TCP协议相关的信息。

-u  查看 UDP协议相关的信息。

-p  显示与网络连接相关联的进程号、进程名称信息

比如,我想查看有关 sshd 的服务相关的网络配置信息

我可以用

netstat -anpt | grep sshd

-anpt  将几个参数组合起来使用,然后用grep过滤出含有 sshd 的条目

这里我们将 antp 改成 antu 就什么也查不到了,因为 sshd 是tcp连接用于获取关于套接字(socket)统计信息的详细信息

2. ss

ss  命令用于获取关于套接字(socket)统计信息的详细信息,它显示的内容和 netstat 差不多,但ss 的优势在于它能够显示更多更详细的连接状态信息,而且比netstat更快速更高效。

我想,你可能有疑问,什么是套接字?

套接字是计算机网络中用于通信的一种机制,它允许不同计算机上的进程通过网络进行数据交换和通信。套接字可以视作通信链路的一端,它定义了数据交换的规则和方式。

其实在键入的时候就已经能够明显的感觉到,ss 一按回车立马就显示内容了,而 netstat 却要等一会,更不用说当服务器的socket连接数量变得非常庞大的时候。

那么,为什么,为什么 ss 命令会别 netstat 快这么多呢?

除了优化了数据结构和算法,ss 直接读取TCP协议栈中用于分析统计的模块 tcp_diag ,可以获得Linux 内核中的最新消息,通过更少的系统调用来获取网络信息。

用法是

ss [参数] [过滤]

ss 命令的参数也很多,常用的有

-a         显示所有套接字

-l          和 netstat 差不多,也是显示监听状态的

-s         显示套接字使用概况

-p         显示使用套接字的进程

-t          仅显示 TCP套接字

-u         仅显示 UCP套接字

其他的也用的比较少,同样的我们可以 --help 查看用法,所以我就不一一列举了

现在我们来使用这个命令看看,比如,我要显示UDP连接

我们可以  ss -a -u

同样的,ss 命令我们也可以使用管道符号加过滤命令来实现一些我们想要的操作。

三、 额外的命令 time

之前我们提到,ss 命令比 netstat 命令输出速度要快很多,那假如,服务的量再小一点,就处在刚刚好难以分辨两个命令速度快慢程度,该怎么办呢?

其实 time 命令可以查看,系统执行另外一命令花了多长时间或者系统资源的使用情况 。

比如你想看执行 ss 命令花了多长时间,可以用

time ss

可以看到,非常快

我们再用同样的方法,来看看 netstat

20秒,差距可以说是非常大了

现在我们算是会用这个命令了,但是,输出的结果,有三行,是什么意思

real 是从进程开始执行到完成所耗费的 CPU 总时间,该时间包括进程执行时实际使用的 CPU 时间,进程耗费在阻塞上的时间(如等待完成 I/O 操作)和其他进程所耗费的时间(Linux 是多进程系统,进程在执行过程中,可能会有别的进程抢占 CPU)。

user 是进程执行用户态代码所耗费的 CPU 时间,该时间仅指进程执行时实际使用的 CPU 时间,而不包括其他进程所使用的时间和本进程阻塞的时间。

sys 是进程在内核态运行所耗费的 CPU 时间,即执行内核系统调用所耗费的 CPU 时间。

所以,一个命令真正的执行时间,就是 user + sys 的时间,real 时间包含了其他进程的阻塞时间。

以上就是关于Linux网络配置相关的内容,我能想到的暂时就这么多,后面想到了会补充,如果有什么不对的地方欢迎指点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/868461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 进阶(二)【索引详解】

前言 程序员避不开和数据库打交道&#xff0c;大数据更是如此&#xff0c;不管是 MySQL、Oracle、SQL Server 这些 OLTP 数据库&#xff0c;还是Greeplum、StarRocks、Hive、Spark SQL、Flink SQL、ClickHouse 等 OLAP 数据库&#xff0c;SQL 都是最基础最重要的能力&#xff0…

DFS回溯剪枝|KMP通过数组记录减少判断子字符串|思路

KMP|DFS回溯剪枝 #1、NC149kmp 初步思路&#xff1a; 两层for循环&#xff0c;一个T的字符开始与 S的字符比较&#xff0c;挨个比较&#xff0c;遇到不同就continue当前T的字符&#xff0c;重复步骤》效率太低&#xff0c;超时 eg: TABSABABABD SABABD S&#xff01;A时&#…

【目录】阅读须知!全博文、专栏大纲

首先要和大家说一下&#xff0c;博主的文章并不是想到哪里写到哪里&#xff0c;而是以整个大后端为主题&#xff0c;成体系的在写专栏&#xff0c;从和后端紧相关的计算机核心课程开始、到JAVA SE、JAVA EE、到数据库、MQ等各类中间件、再到业务场景、性能优化。当然也会涉及一…

【Go】常见的变量与常量

变量 常见的变量声明方式 一、声明单个变量的多种方式 1.声明一个变量初始化一个值 //声明变量 默认值是0&#xff0c;var a int//初始化一个值a 1fmt.Println(a) 2. 在初始化的时候省去数据类型&#xff0c;通过值自动匹配当前的变量的数据类型 var b 2fmt.Println(&quo…

html+css+js随机验证码

随机画入字符、线条 源代码在图片后面 点赞❤️关注&#x1f60d;收藏⭐️ 互粉必回 图示 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"…

【java web 01】3小时快速学习前端知识(收藏备用)

3小时快速学习前端知识【全栈专用】 一、教程简介1.1 Java 开发为何学Web技术1.2 课程设计1.3 课前准备 二、HTML2.1 Html简介2.1.1 HTML、CSS、JS分别有什么作用2.1.2 什么是HTML2.1.3 什么是标记语言 2.2 Hello&#xff0c;Html2.2.1 HTML基础结构2.2.2 专业词汇2.2.3 语法细…

C++入门(C语言过渡)

文章目录 前言一、C关键字二、命名空间三、C输入&输出四、缺省参数五、函数重载六、引用七、inline八、nullptr总结 前言 C是一种通用的、高级的、静态类型的编程语言&#xff0c;它在20世纪80年代由丹尼斯里奇创建的C语言基础上发展而来。以下是C发展的一些重要里程碑。 1…

[个人感悟] 消息队列应该考察哪些问题?

前言 消息队列. 不论是Java内部提供的LinkedBlockingQueue, 还是当下主流的中间件RabbitMQ, Kafka, RockMQ. 其本质上都是一个削峰填谷的工具. 我们都知道, 请求和流量都有可能瞬间很高, 或者很低. 所以, 很多时候, 我们需要请求存储起来, 或者使用异步的方式, 来匀速的处理过…

windows 11 + kali wsl二合一配置步骤与踩坑

windows 11 kali wsl二合一配置步骤与踩坑 在前几天的某市攻防演练中&#xff0c;在攻防前期&#xff0c;我的虚拟机经常无缘无故出现断网、卡顿等现象&#xff0c;但找不出原因。 为了不影响后续的这些天的攻防演练&#xff0c;我选择在一个晚上通宵 在我的windows 11系统上…

2024年电脑监控软件排行榜(真实测评推荐七款电脑监控软件)

在信息化快速发展的今天&#xff0c;企业对员工电脑活动的监控变得尤为重要。有效的电脑监控软件不仅可以提升员工的工作效率&#xff0c;还能防止信息泄露&#xff0c;保障企业的数据安全。本文将介绍几款知名的电脑监控软件&#xff0c;并对其特点进行详细分析&#xff0c;帮…

笔记本电脑投屏怎么操作?一看就会!

日常工作或办公都会用到笔记本电脑&#xff0c;但很多新手用户不知道笔记本电脑的投屏要怎么操作&#xff1f;接下来系统之家给大家介绍三种简单的操作方法&#xff0c;帮助大家轻松完成笔记本电脑投屏投屏操作&#xff0c;从而满足自己的办公或学习使用需求。 方法一 1. 直接W…

Django QuerySet对象,exclude()方法

模型参考上一章内容&#xff1a; Django QuerySet对象&#xff0c;filter()方法-CSDN博客 exclude()方法&#xff0c;用于排除符合条件的数据。 1&#xff0c;添加视图函数 Test/app11/views.py from django.shortcuts import render from .models import Postdef index(re…

Eclipse运行main函数报 launch error

右键run as java application&#xff0c;运行main函数的时候报launch error 解决方式&#xff1a;文件右键run configurations 旧的是Project JRE&#xff0c;改成下图这个样子

Windows7彻底卸载mysql

1.控制面板卸载mysql 2.删除C:\Program Files\MySQL 3.删除C:\用户\Administrator\App Data\Roaming\MySQL”(App Data默认隐藏&#xff0c;需要在文件夹和搜索选项中勾选显示文件夹),为了删除的更彻底&#xff0c;可以直接在计算机全盘搜索MySQL关键字&#xff0c;将所有找到…

软件测试下的AI之路(5)

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。 💎声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问题欢迎大家…

Unity之Text组件换行\n没有实现+动态中英互换

前因:文本中的换行 \n没有换行而是打印出来了,解决方式 因为unity会默认把\n替换成\\n 面板中使用富文本这个选项啊 没有用 m_text.text = m_text.text.Replace("\\n", "\n"); ###动态中英文互译 using System.Collections; using System.Collections…

顺序表与链表

前言&#xff1a; 顺序表和链表是属于数据结构中比较基础的知识&#xff0c;我们需要对其进行掌握。在JAVA原生标准库中分别为ArrayList和LinkedList。下图是整个数据结构之间的结构框图 1.ArrayList 背后用来存储数据的是一个数组&#xff0c;所以用ArrayList来进行相关操作…

前端面试题23(css3)

关于CSS3的面试题&#xff0c;我们可以从多个维度来探讨&#xff0c;包括但不限于选择器、盒模型、布局技术、动画与过渡、响应式设计等。下面我会列举一些典型的CSS3面试问题&#xff0c;并尽可能提供详细的解答或示例代码。 1. CSS3中新增了哪些选择器&#xff1f; 答案: C…

JAVA之(static关键字、final关键字)

JAVA之&#xff08;static关键字、final关键字&#xff09; 一、 static关键字1、静态变量2、静态方法3、 静态代码块4、例子 二、final关键字1、final修饰类2、 final修饰方法3、修饰变量 一、 static关键字 1、静态变量 private static String str1“staticProperty”2、静…

SAP 无权限的解决

在进行SAP操作过程中&#xff0c;经常会出现无权限的情况&#xff0c;如客户说没有“ABAAL计划外折旧”权限 但是在查看SU01的时候&#xff0c;已经有角色分配了 解决&#xff1a;1、ABAA之后&#xff0c;SU53查看2、 2、PFCG查找到角色手动添加权限对象S_TCODDE,之后更新&…