
Linux
文章平均质量分 77
海渊_haiyuan
这个作者很懒,什么都没留下…
展开
-
CentOS 7.x 内核kernel版本升级实操
文章目录CentOS 7.x 内核kernel版本升级实操前言实操记录升级前信息查看和准备升级 CentOS 7.× 内核,启用 ELRepo设置 GRUB 默认的内核版本删除 CentOS 更新后的旧内核CentOS 7.x 内核kernel版本升级实操前言在玩耍kubernetes 集群中(之前部署的一套,可以查看我之前的博客内容),想要尝试部署的CNI Cilium 仅在 kernel 4.8 版本以上支持,推荐使用4.9 以上内核版本;而之前部署使用的CentOS 7.6 缺省内核版本为3.1原创 2020-11-28 23:29:40 · 5376 阅读 · 0 评论 -
虚拟网络运维----认识DPDK
文章目录认识DPDK简单说明DPDK最佳实践寻找性能的天花板解读数据包处理能力认识DPDK简单说明DPDK全称是DataPlaneDevelopmentKit,从字面解释上看,这是专注于数据面软件开发的套件。本质上,它由一些底层的软件库组成。目前,DPDK使用BSDlicense,绝大多数软件代码都运行在用户态。少量代码运行在内核态,涉及UIO、VFIO以及XenDom0,KNI这类内核模块只能以GPL发布。DPDK逐渐成为通用多核处理器高性能数据包处理的业界标杆。ASIC(Application原创 2020-07-05 20:35:21 · 871 阅读 · 0 评论 -
Virtual Network----ping 127.0.0.1回环地址时延大于10ms问题处理记录
文章目录Virtual Network----ping 127.0.0.1回环地址时延大于10ms问题处理记录问题现象问题排查解决方案相关知识Virtual Network----ping 127.0.0.1回环地址时延大于10ms问题处理记录问题现象物理服务器ping 127.0.0.1 回环地址 时延大于10ms,对比正常机器时延 0.01ms -----0.05ms问题排查1、初...原创 2020-03-30 23:13:44 · 1762 阅读 · 0 评论 -
Nginx常用模块学习---定制HTTP头信息定制ngx_http_headers_module设置响应头
Nginx常用模块学习—定制HTTP头信息定制ngx_http_headers_module设置响应头前言HTTP头信息,是实际业务中一个很重要的功能。例如,如果需要将请求结果在浏览器上缓存一段时间,或者在请求代理到后端服务器的过程中生成一个唯一的 ID进行识别。通过对 Nginx进行配置,可以轻松实现这些功能。ngx_http_headers_module是在 Nginx编译时默认自带的模...原创 2019-10-27 22:54:21 · 2068 阅读 · 0 评论 -
Linux运维常用网络抓包工具tcpdump的介绍和使用
Linux运维常用网络抓包工具tcpdump的介绍和使用前言tcpdump是一个用于截取网络分组,并输出分组内容的工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。 tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网原创 2018-08-26 21:14:14 · 1267 阅读 · 0 评论 -
原生OpenStack Neutron 组件资源模型network讲解
原生OpenStack Neutron 组件资源模型network讲解network是neutron的二层资源模型,支持的网络类型有:Local、Flat、VLAN、VXLAN、GRE、Geneve等。Local 只是一个主机内的网络内容,只会用于测试,不会用于生产环境。VXLAN、GRE、Geneve是隧道型网络,Flat和VLAN属于非隧道型网络。Network是Neutron模型的一个...原创 2018-11-12 21:21:04 · 2020 阅读 · 0 评论 -
Python3.X 模块 socket 实训
Python3.X 模块 socket 实训前言网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发...原创 2018-12-23 23:36:00 · 409 阅读 · 0 评论 -
wireshark 报文分析心得 -- Identification 使用说明
wireshark 报文分析心得 – Identification 使用说明前言wireshark 是一个很常见的网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。在实际工作中,经常需要使用它进行报文的分析工作,wireshark即可以在windows环境下进行抓包,更多的是将在Linux环境下通过tcpdump等抓包工具抓取到的数据报文进行分析,...原创 2019-01-01 22:16:24 · 15632 阅读 · 4 评论 -
Python 3.X 模块openpyxl学习和使用---安装和基本使用
Python 3.X 模块openpyxl学习和使用—安装和基本使用前言openpyxl is a Python library to read/write Excel 2010 xlsx/xlsm/xltx/xltm files.It was born from lack of existing library to read/write natively from Python the ...原创 2019-01-08 22:30:06 · 25320 阅读 · 2 评论 -
Python模块实战使用openpyxl 获取将chage -l user检查结果文件进行2次加工检查
chage 命令是一个检查Linux系统用户有效期的一个工具,当集群主机过多时,部分自研的运维工具都可以批量执行命令导出excel。脚本如下:########################################################## Function: 使用openpyxl 获取将chage -l user检查结果文件进行2次加工检查# Author : haiy...原创 2019-01-16 22:25:27 · 603 阅读 · 0 评论 -
运维配置:Nginx日志配置详解
Nginx日志配置详解前言Nginx日志对于统计、系统服务排错很有用。Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志)。通过访问日志我们可以得到用户的IP地址、浏览器的信息,请求的处理时间等信息。错误日志记录了访问出错的信息,可以帮助我们定位错误的原因。本文将详细描述一下如何配置Nginx日志。设置access_log访问日志主要记录客户端的请求...原创 2019-02-13 22:18:52 · 4066 阅读 · 0 评论 -
Neutron 资源模型 Subnet 概述
Neutron 资源模型 Subnet 概述Subnet模型属性:Subnet(子网)模型拥有几个基本的参数,cidr(子网的网段)、ip_version(IP版本)、gateway_ip(网关地址)和host_routes(路由信息)。其中,gateway_ip是这个子网的默认网关IP。host_routes存储着这个Subnet的路由信息。它是一个数组,每个元组的形式是:[destina...原创 2018-11-18 23:12:06 · 2433 阅读 · 0 评论 -
QoS 服务质量介绍说明
QoS 服务质量介绍说明前言QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力, 是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。 在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要QoS,比如Web应用,或E-mail设置等。但是对关键应用和多媒体应用就十分必要。当网络过载或拥塞时,QoS...原创 2018-10-21 19:52:21 · 2194 阅读 · 0 评论 -
Linux 虚拟网络设备---router、tun
Linux 虚拟网络设备—router、tunrouterrouter在虚拟网络中就是路由器,实现三层通信作用。Linux 本身开启转发功能后就是一个路由器。# 开启转发策略[root@public ~]# cat /proc/sys/net/ipv4/ip_forward0[root@public ~]# echo "net.ipv4.ip_forward=1" >...原创 2018-09-16 20:29:47 · 2516 阅读 · 0 评论 -
Linux 虚拟网络基础---namespace、veth pair、bridge 说明和命令实操
namespace前言namespace是Linux虚拟网络的一个重要概念,传统的Linux的许多资源是全局的,如果进程id资源。而namespace的目的首先就是讲这些资源做资源隔离。Linux可以在一个Host内创建许多namespace,于是那些原本是linux的全局资源,就变成了namespace范围内的“全局”资源,而且不同namespace的资源相互不可见,彼此透明。Lin...原创 2018-08-30 11:52:08 · 5002 阅读 · 0 评论 -
Linux虚拟网络基础---tap(虚拟以太设备)
Linux虚拟网络基础—tap(虚拟以太设备)前言虚拟网卡Tun/tap驱动是一个开源项目,支持很多的类UNIX平台,OpenVPN和Vtun都是基于它实现隧道包封装。本文将介绍tun/tap驱动的使用并分析虚拟网卡tun/tap驱动程序在linux环境下的设计思路。 tun/tap驱动程序实现了虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设备,这两种设备针...原创 2018-08-30 11:50:51 · 5771 阅读 · 0 评论 -
Linux运维iptables中如何流程化编写iptables脚本
如何流程化编写iptables脚本根据需求调整系统内核例如tcp的SYN缓冲(syncookies)是一种快速检测和防御SYN洪水工具的机制,如果下命令可以启用SYN缓冲:[root@centos7-2 ~]# echo "1" > /proc/sys/net/ipv4/tcp_syncookies[root@centos7-2 ~]#另外,如果以iptables作为NA原创 2018-08-21 22:59:52 · 826 阅读 · 0 评论 -
Nginx 目录结构说明
nginx 工作目录说明使用tree nginx命令查看nginx目录结构 其中: client_body_temp | conf : 是Nginx所有配置文件的目录nginx/ ├── client_body_temp //Nginx所有配置文件的目录 ├── conf //Nginx所有配置文件的目录 │ ├─原创 2018-08-21 22:59:03 · 2236 阅读 · 0 评论 -
keepalived 健康检查机制说明
前言在进行负载均衡时,一般都会部署一个健康检查工具,确保后端real server是正常的,可以提供服务的,避免出现后端real server 已经宕机或服务不可用时,负载均衡器扔将请求分发到real server,影响整体业务访问。 健康检查的方式有很多,可以自行部署脚本,当然当前用的比较多的就是keepalived服务了。 keepalived的健康检查方式有三种,tcp_check、...原创 2018-08-28 22:59:53 · 12326 阅读 · 1 评论 -
Linux CentOS 7.X 使用rpm包安装、配置Zabbix 3.4
Linux CentOS 7.X 使用rpm包安装、配置Zabbix 3.4前言由于类似于Zabbix 主要为公司内部进行使用,是业务上的监控软件,不会像应用软件那样,对可移植性等要求太高,所以如果没有特殊要求,就不一定要使用源码进行安装了,由于源码确实很繁琐,涉及到php、mysql(mariadb)等的软件依赖等。 所以这里采用使用rpm的方式进行后续的安装。1、安装za原创 2018-08-27 21:27:23 · 458 阅读 · 0 评论 -
Linux 下常用命令纪要,便用便查。
查询系统准确的启动时间[root@test ~]# [root@test ~]# date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"2018-01-19 14:45:35[root@test ~]# who -b system boot 2017-11-2原创 2018-08-22 23:29:32 · 1121 阅读 · 0 评论 -
Python3.X 教程:简述 __init__、__new__、__call__ 方法
Python3.X 教程:简述 init、new、call 方法前言任何事物都有一个从创建,被使用,再到消亡的过程,在程序语言面向对象编程模型中,对象也有相似的命运:创建、初始化、使用、垃圾回收,不同的阶段由不同的方法(角色)负责执行。定义一个类时,大家用得最多的就是 init 方法,而 new 和 call 使用得比较少,这篇文章试图帮助大家把这3个方法的正确使用方式和应用场景分别解释一下...原创 2019-02-20 08:13:48 · 2929 阅读 · 0 评论 -
Lua语言学习笔记----Lua环境安装,数据类型table、function
Lua语言学习笔记----Lua环境安装,数据类型table、function前言Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。其他常见的教程都可以通过各种教程网站学习,这里将学习过程中的一些实操记录进行记录。常见教程网站:http://www.runoob.com/lua/lua-tutor...原创 2019-02-25 21:39:10 · 459 阅读 · 0 评论 -
个人笔记:运维过程中脚本工具编写的几点心得体会
个人笔记:运维过程中脚本工具编写的几点心得体会前言在这段时间的运维工作的编写和学习中,在阅读了其他人输出的各种工具后,有一些书写运维工具的一些心得体会,类似于思路技巧之类的,写给自己进行记录。正文1.书写脚本时,在没有特定要求下,不要拘泥于某一种语言,考虑最适合的实现方式。2.shell 中的 if 判断 或 其他地方,对于[[]]的使用。www.cnblogs.com/jjzd/p/...原创 2019-03-31 15:53:08 · 1139 阅读 · 0 评论 -
Nginx常见基本配置---日志、HTTP执行阶段
日志Nginx通过 ngx_ http_ log_ module来对日志的记录进行配置。记录自定义变量指令: log_ format语法: log_ format name [escape = default | json | none] string …;默认值: log_ format combined “...";环境: http含义:配置日志的格式。绝大部分请求信息都可以...原创 2019-09-22 23:01:04 · 788 阅读 · 0 评论 -
Nginx常见基本配置---rewrite 使用指南
Nginx常见基本配置—rewrite 使用指南前言rewrite是 ngx_ http_ rewrite_ module模块下的指令,使用频率非常高。内部重定向rewrite支持的配置环境有 server、 location、 if,它通过 break和 last来完成内部重定向功能。内部重定向是在 Nginx内部发送请求的操作,它可以将请求转发到其他的 location或对 URL进行...原创 2019-09-18 22:19:36 · 804 阅读 · 0 评论 -
Nginx常见基本配置---upstream 使用指南
Nginx常见基本配置—upstream 使用指南前言利用 proxy_ pass可以将请求代理到后端服务器,前一篇博客中的的配置示例都指向同一台服务器,如果需要指向多台服务器就要用到 ngx_ http_ upstream_ module。它为反向代理提供了负载均衡及故障转移等重要功能。代理多台服务器先来看一个简单的版本:指令: upstream语法: upstream name ...原创 2019-07-28 23:48:22 · 129558 阅读 · 2 评论 -
Nginx常见基础配置---proxy代理模块
Nginx常见基础配置—proxy代理模块proxy代理Nginx使用 ngx_ http_ proxy_ module来完成对后端服务的代理。这一节,我们将一起来见识 Nginx最流行的 proxy代理功能。proxy_ pass请求代理规则语法: proxy_ pass URL;环境: location、 if in location、 limit_ except含义:将请求代理到...原创 2019-07-10 22:42:02 · 2643 阅读 · 0 评论 -
Nginx 常见基础配置—获取client ip,访问控制(allow/deny,auth身份验证指令,LDAP服务)
获取请求的 IP地址Nginx会将客户端的 IP地址信息存放在 $ remote_ addr变量中,但在生产环境下往往会有各种代理,让获取真实的 IP地址变得困难重重。获取用户的真实 IP地址大部分互联网公司的反向代理都会用到下图所示的 CDN加速代理流程图。用户的请求并不直接和 Nginx打交道,而是由 CDN( Content Delivery Network,即内容分发网络)或WAF ...原创 2019-07-09 00:15:12 · 3761 阅读 · 0 评论 -
Bash Shell 常见脚本命令: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"详解
Bash Shell 常见脚本命令: DIR="(cd"( cd "(cd"( dirname “${BASH_SOURCE[0]}” )" && pwd )"详解最近经常在bash脚本文件中看到类似于如下所示的语句:DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"...转载 2019-06-24 23:52:52 · 8248 阅读 · 0 评论 -
Nginx 笔记存档01:Nginx 编译、安装、配置笔记记录
Nginx首先我们需要一个内核为Linux 2.6及以上版本的操作系统,因为Linux 2.6及以上内核才 支持epoll,而在Linux上使用select或poll来解决事件的多路复用,是无法解决高并发压力问题 的。 我们可以使用uname-a命令来查询Linux内核版本,例如:# uname -a Linux wehf2wng001 2.6.18-128.el5 #1 SMP Wed J...原创 2019-07-07 23:15:43 · 340 阅读 · 0 评论 -
报文分析随笔记录
当包乱序时,接收方只要根据seq num 从小到大排序就可以了,这样就保证了tcp的有序性;当包丢失时,接收方通过前一个seq + len 的值与下一个 seq 的差,就能判断缺了哪些包,这样保证了tcp的可靠性。RST:用于重置一个混乱的请求或拒绝一个无效的请求;报文分析时mac地址的实际应用,ARP协议,或 ip 通信过程中,mac地址的统一;暂停帧来解决性能问题;当连接数多到足以占...原创 2019-07-07 21:55:20 · 474 阅读 · 0 评论 -
Linux 常用命令之 netstat 的10个基本用法
Linux 常用命令之 netstat 的10个基本用法前言该文档为转载,原文链接:https://linux.cn/article-2434-1.html转载仅是为个人保存记录,便于日后查阅。在环境中发现使用netstat -s 中的参数来统计网络丢包、重传,并配置对应告警,特查阅netstat使用时发现该文档。Netstat 简介Netstat 是一款命令行工具,可用于列出系统上所...转载 2019-06-18 23:00:34 · 24265 阅读 · 0 评论 -
借助wireshark深入分析---tcp传输窗口
tcp传输窗口解析——借助wireshark深入分析tcp传输报文时,会有“往返”的需要。因为发包之后并不知道对方能否收到,要一直等到确认包到达,这样就花费了一个往返时间。假如每发一个包就停下来等确认,一个往返时间里就只能传一个包,这样的传输效率太低了。最快的方式应该是一口气把所有包发出去,然后一起确认。但现实中也存在一些限制:接收方的缓存(接收窗口)可能一下子接受不了这么多数据;网络的带宽也...原创 2019-05-16 22:30:27 · 4555 阅读 · 0 评论 -
使用wireshark分析tcp报文
前言TCP协议在网络过程中,是一个最常见不过的协议了。在分析tcp网络协议报文时,借助当前强力的工具wireshark可以起到很好的辅助作用。首先抓取了一个简单的http请求报文,选取其中的一次完整请求,追踪tcp流:可以在报文中看到tcp的3次握手,以及http 的request 和 response ,还有tcp的4次断开。另外整个封包列表的面板中也有显示,编号,时间戳,源地址...原创 2019-05-12 19:21:12 · 37930 阅读 · 0 评论 -
MTU 和 MSS 的学习与梳理
MTU 和 MSS 的学习与梳理1、MTU:最大传输单元(英语:Maximum Transmission Unit,缩写MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。因特网协议允许IP分片,这样就可以将数据报包分成足够小的片段以通过那些最大传输单元小于该数据报原始大小的链路了。这一分片过程发生在 I...原创 2019-05-19 22:22:58 · 878 阅读 · 0 评论 -
Linux 常见命令 curl的高级用法---curl 格式化输出
curl 格式化输出前言Curl 命令是在运维过程中,非常常见的命令,cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。cURL支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、...原创 2019-05-08 23:51:17 · 11248 阅读 · 0 评论 -
HTTP Connection 头(header)说明:keep-alive和closer的区别
HTTP Connection 头(header)说明:keep-alive和closer的区别前言在http请求时,我们一般会在request header 或 response header 中看到”Connection:Keep-Alive”或 “Connection:close”,这里具体的含义是有关http 请求的是否保持长连接,即链接是否复用,每次请求是复用已建立好的请求,还是重新...原创 2019-05-02 11:39:13 · 53588 阅读 · 3 评论 -
云计算运维---wireshark 工具使用抓包常见小技巧
Wireshark 工具使用常见小技巧一、抓包拿到一个网络包时,我们总是希望它尽可能小。因为操作一个大包相当费时,有时甚至会死机。如果让初学者分析1GB以上的包,估计会被打击得信心全无。所以抓包时应该尽量只抓必要的部分。有很多方法可以实现这一点。1.只抓包头。一般能抓到的每个包(称为“帧”更准确,但是出于表达习惯,本书可能会经常用“包”代替“帧”和“分段”)的最大长度为1514字节,启用...原创 2019-04-21 22:23:53 · 1290 阅读 · 0 评论 -
使用Wireshark 分析ping(icmp)报文时延
使用Wireshark 分析ping(icmp)报文时延使用2台机器进行ping,抓取数据包。下载到本地后使用wireshark打开抓包文件:由于ping包是基于icmp协议的,数据包流转逻辑是:一来一回。在wireshark上有可以看到报文来回的标记:截图报文是正常情况下,如果出现异常情况,比如高时延,或丢包情况,标记可能就不是2个连在一起了,需要注意下该情况。如果要分析ic...原创 2019-05-12 18:16:06 · 12160 阅读 · 0 评论