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,一经查实,立即删除!

相关文章

笔记:Newtonsoft.Json 序列化接口集合

在使用 Newtonsoft.Json 序列化接口集合时&#xff0c;一个常见的挑战是如何处理接口的具体实现&#xff0c;因为接口本身并不包含关于要实例化哪个具体类的信息。为了正确序列化和反序列化接口集合&#xff0c;你需要提供一些额外的信息或使用自定义的转换器来指导 Newtonsoft…

【Unix/Linux】$bash-3.2是什么

bash-3.2 指的是Bourne Again Shell&#xff08;Bash&#xff09;的3.2版本。 Bash是一个广泛使用的Unix shell和命令语言&#xff0c;是GNU项目的一部分&#xff0c;也是许多Linux发行版和Unix系统的默认shell。 以下是一些关于Bash 3.2的要点&#xff1a; 1. 兼容性&#…

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时&#…

开发个人Go-ChatGPT--2 环境搭建

开发个人Go-ChatGPT–2 环境搭建 2.1 环境要求 Golang 1.22 Etcd Docker Redis Mysql 2.2Docker本地开发环境搭建 这里使用 Docker Compose 来编排管理我们的容器&#xff0c;docker-compose.yaml&#xff1a; version: 3.8services:mysql:image: mysql:8.0.18contain…

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

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

七、构造函数与析构函数

七、构造函数与析构函数 构造函数析构函数调用机制构造函数的调用机制析构函数的调用机制总结 构造函数分类深拷贝与浅拷贝浅拷贝&#xff08;Shallow Copy&#xff09;深拷贝&#xff08;Deep Copy&#xff09;示例 初始化参数列表委托构造default、delete和 explicitdefaultd…

【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…

Updates were rejected because the tip of your current branch is behind

Git在push推送时&#xff0c;报错提示信息如下&#xff1a; hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. If you want to integrate the remote changes, hint: use git pull before pushing again. hint: …

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

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

Go compress包

compress 包是 Go 标准库中的一个重要包&#xff0c;提供了对常见压缩格式&#xff08;如 gzip、zlib、bzip2 和 lzw&#xff09;的支持。这个包主要用于处理压缩和解压缩数据流。 compress 包的结构 compress 包包含以下子包&#xff1a; compress/gzip: 提供了对 gzip 格式的…

动态规划算法-以中学排课管理系统为例

1.动态规划算法介绍 1.算法思路 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中&#xff0c;可能会有许多可行解。每一个解都对应于一个值&#xff0c;我们希望找到具有最优值的解。动态规划算法与分治法类似&#xff0c;其基本思想也是将待求解问题分解成若…

爬虫:Sentry-Span参数逆向

在抓某眼查数据太过频繁时会出现极验的验证码。极验的教程有很多&#xff0c;主要是发现在这里获取验证码的时候需要携带参数Sentry-Span。在这里记录一下逆向的主要过程&#xff0c;直接上补环境的代码。 window global; location {}; my_log console.log;(function () {l…

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

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

白骑士的C语言教学实战项目篇 4.4 简单HTTP服务器

在本项目中&#xff0c;我们将设计并实现一个简单的HTTP服务器&#xff0c;涵盖网络编程基础、HTTP协议解析、多线程处理请求。通过这个项目&#xff0c;我们可以更加深入地了解网络编程、HTTP协议以及多线程编程的基本概念和实现方法。 网络编程基础 网络编程是计算机科学中的…

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

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

java中函数式接口一般什么时候使用,并写一下详细的代码实例

在Java中&#xff0c;函数式接口&#xff08;Functional Interface&#xff09;主要用于支持Lambda表达式和方法引用&#xff0c;从而简化代码、提高可读性和可维护性。函数式接口是指仅包含一个抽象方法的接口&#xff0c;这样的接口可以通过Lambda表达式来实例化&#xff0c;…