TCP拥塞控制算法–从 CUBIC 到 BBRv2
介绍Linux 默认的CUBIC算法,在高延迟、高丢包的网络情况下,单线程TCP性能会严重受限制。 BBR算法可以提高TCP传输在高延迟网络中的性能表现,可以最大程度的利用带宽。于Linux kernel 4.9开始正式加入内核。 PS:但注意只会加速上行流量。 前言诞生于1974年的TCP协议(Transmission Control Protocol,传输控制协议)绝对算得上是最古老的网络协议之一,很可能是当今互联网上使用最多的网络协议。我们每个人每天不经意间就会发送和接收几十万甚至超过一百万以上的TCP数据包用来收看视频、玩游戏或者进行网络社交。 再进一步,也许你还了解目前互联网上最流行的两种传输协议UDP和TCP。UDP概括起来是一个“发送后不管”的协议。它是无状态的,没有拥塞控制或可靠的传输支持,这也导致了网络运营商会针对UDP协议的限流。我们经常看到UDP被用于DNS(域名系统)和NTP(网络时间协议)等。与之相对,TCP则像是UDP互补的孪生兄弟,提供了可靠的传输和流量控制,因此TCP协议也变得相当复杂。 人们通常认为TCP和UDP的主要区别就是TCP给我们提供了可...
Zabbix SNMP开机时间497天重置问题
简介工作中遇到,网络设备开机时间到了约497天的时候(或者每过497天),Zabbix SNMP获取的时间值就会归零,重新计数,但查看设备状态正常,未重启。 原因分析sysUpTimeInstance OID 1.3.6.1.2.1.1.3.0 获取的时间单位为 0.01秒,而此OID为32bit,所以最大只能显示42949672.96秒即497.1天,所以每累计大于此限制,就会重置,导致开机时间获取不正确。 https://oidref.com/1.3.6.1.2.1.1.3.0 解决方法snmpEngineTime OID 1.3.6.1.6.3.10.2.1.3.0 获取的时间单位为秒,也为32bti,但最多可以存储49710 天。足够设备生命周期使用。 修改Zabbix SNMP获取时间的方式为上述OID即可,其数据类型为整数。 注意:此为SNMP的启动时间,若SNMP进程重启,也会导致时间重置。 https://oidref.com/1.3.6.1.6.3.10.2.1.3 参考https://www.zabbix.com/forum/zabbix-help/47245...
接收SEC OTP4000 UDP告警日志
介绍本教程用于鼎频通信的SEC OTP4000波分设备系列的告警接收。 PS:很小众的东西。 报文分析经配置设备的SNMP Trap服务器后,分析报文不为SNMP Trap报文。 由简单的UDP报文承载告警信息,字符编码为中文编码 (GB18030)。 端口号为UDP 9000。 Logstash 配置接收UDP日志vim /etc/logstash/conf.d/trap.conf 1234567input {udp {type => "UDP-Logs"port => 9000codec => plain{ charset => "GB18030"}} ELK与告警单机搭建:https://songxwn.com/elk/ 告警搭建:https://songxwn.com/frostmourne_install/
VXLAN 基本配置
介绍本文章介绍了静态VXLAN配置方案。 本文章是针对华为系列网络设备的学习笔记。 VNI在VXLAN网络上有全局意义,而BD只有本地意义。 VXLAN配置介绍1234567891011121314151617181920212223241. 创建广播域BD[Huawei] bridge-domain bd-id# 系统视图下创建广播域BD,进入BD视图。ID取值范围为1~16777215。2. 创建VNI[Huawei-bd100] vxlan vni vni-id# BD视图下创建VXLAN网络标识VNI并关联广播域BD。ID取值范围为1~16777215。3. 创建NVE接口。[Huawei] interface nve nve-number# 创建NVE接口,并进入NVE接口视图。一般情况下NVE接口编号有且仅为1。4. 配置源VTEP的IP地址。[Huawei-Nve1] source ip-address# 配置源端VTEP的IP地址。一般规划使用Loopback接口的地址。5. 配置头端复制列表。[Huawei-Nve1] vni vni-id head-end p...
VXLAN 转发原理
介绍VXLAN工作原理如下: 在每个数据中心的交换机上都配置一个VTEP(VXLAN Tunnel Endpoints),用于封装和解封装VXLAN报文。 在两个VTEP之间建立一个VXLAN隧道,用于在两个数据中心之间传输封装后的VXLAN报文。 当虚拟机之间需要通信时,它们的报文会被发送到所在数据中心的交换机上。交换机上的VTEP会将报文封装成VXLAN报文,并通过VXLAN隧道发送到另一个数据中心的交换机上。 另一个数据中心的交换机上的VTEP会将VXLAN报文解封装,还原成原始报文,并发送给目标虚拟机。 这样,虚拟机之间就可以通过VXLAN隧道进行通信了。 本文章介绍了其工作原理和配置方案。 本文章是针对华为系列网络设备的学习笔记。 VXLAN隧道的建立方式VXLAN隧道由一对VTEP确定,报文在VTEP设备进行封装之后在VXLAN隧道中依靠路由进行传输。只要VXLAN隧道的两端VTEP是三层路由可达的,VXLAN隧道就可以建立成功。 根据VXLAN隧道的创建方式将VXLAN隧道分为以下两种: 静态隧道:通过用户手工配置本端和远端的VNI、VTEP IP地址和头端复...
VXLAN 基本概念
介绍VXLAN(Virtual eXtensible Local Area Network)采用MAC in UDP(User Datagram Protocol)封装方式,是NVO3(Network Virtualizaiton over Layer 3)中的一种网络虚拟化技术。它是云计算的核心技术之一,服务器虚拟化凭借其大幅降低IT成本、提高业务部署灵活性、降低运维成本等优势已经得到越来越多的认可和部署。 本文章介绍了其基本概念和接入方式。 本文章是针对华为系列网络设备的学习笔记。 实际应用环境VXLAN在数据中心的应用 在数据中心中采用Spine-Leaf两层物理架构,结合VXLAN应用。 Spine节点执行路由转发,转发时不感知VXLAN。Leaf节点负责资源接入,完成VXLAN封装及解封装。 数据中心的业务均由VXLAN承载。 Spine-Leaf说明: Spine-Leaf架构是一种数据中心网络拓扑,它由两个交换层组成——脊柱和叶子。叶层由接入交换机组成,它们汇聚来自服务器的流量并直接连接到脊柱或网络核心。脊柱交换机以全网状拓扑相互连接所有叶子交换机1。 这种...
ELK Logstash解析Syslog主机名错误
介绍Logstash解析系统日志错误: 如果大家使用Logstash自带的解析规则,在某些情况下会出现解析系统日志失败的情况,原因是因为:系统主机名包含下划线时会解析失败,造成无法识别主机名字段。 主要是生产环境有些网络设备的主机名有带下划线_ ,而合法在主机名是没有不允许下划线的。 使用环境:Rocky Linux 8 、ELK 8.x HostName主要规则 主机名只允许包含ascii字符里的数字0-9,字母a-zA-Z,连字符-。其他都不允许。例如,不允许出现其他标点符号,不允许空格,不允许下划线,不允许中文字符。 主机名的开头和结尾字符不允许是连字符。 主机名强烈建议不要用数字开头,尽管这一条不是强制的。甚至不要使用只包含可解释为16进制字符的字符串,例如”beef”。 建议不要使用计算机领域的特殊的词汇,例如,up。 给主机命名通常不考虑字母大小写问题,并且只用小写字母而不用大写字母。 给主机命名,建议使用合法的单词,这样方便记忆。因为主机名是在一个domain的范围内唯一即可,通常不必担心重复问题。 修改1234find /usr/share/logstash/v...
Elasticsearch 接入微软Active Directory认证
简介本文章主要介绍了Elasticsearch 接入微软的Active Directory(域控)作为身份认证。 LDAP认证接入可参考官方文档。 使用环境:Rocky Linux 8、Elasticsearch 8、Windows Server 2022 注意:由于此功能基础版无法使用,需要白金版本,可参考教程:https://songxwn.com/Elasticsearch-x-pack-core/ ELK系列文章:https://songxwn.com/categories/linux/ELK/ 修改配置文件123456789101112vim /etc/elasticsearch/elasticsearch.yml# ad1xpack:security:authc:realms:active\_directory:ad1:order: 0domain\_name: songxwn.comurl: ldap://songxwn:389bind\_dn: [email protected] domain_name和url选项修改为自己的域名。 bind_...
Podman 容器管理工具
介绍Podman是一个用于在 Linux 系统上构建、管理和运行OCI标准容器的CLI工具,是Docker的直接替代品。 由红帽主导,与开源社区一起开发。在RHEL8开始预装并替代Docker。命令上与Docker并无区别。 主要特点是不需要守护进程,可以支持非root用户运行容器,提高了安全性和可访问性。 本教程也适用于RHEL其他衍生版本,如Rocky Linux。 安装RHEL8-9安装1234567dnf install podman podman-docker# 安装podman及docker的命令兼容程序。systemctl enable --now podman# 启动并设置开机启动。podman run hello-worlddocker run hello-world# 命令示例,两者都可用,但docker命令无法自动不全。 安装podman-compose(需要提前安装epel yum源)12345dnf install podman-compose# 安装compose工具,用于管理或运行多个容器。可直接替代docker-compose。podman-co...
Zabbix SNMPv3 设备重启后无法监控问题
简介最近有发现有SNMPv3 监控的网络设备断电重启后,Zabbix无法正常监控,显示SNMP超时。 但SNMP工具去Get OID值却没有问题,但Zabbix Server重启后能解决此问题。 查询一番后有了不重启的解决方案。 解决方案 要求 SNMPv3 设备保留其 engineBoots。 一些设备不这样做,这导致它们的 SNMP 消息在重新启动后被丢弃为过时的。 在这种情况下,需要在服务器/代理上手动清除 SNMP 缓存(通过使用 -R snmp_cache_reload)或者需要重新启动服务器/代理 . 123zabbix\_server -R snmp\_cache\_reloadzabbix\_proxy -R snmp\_cache\_reload# 清理SNMP缓存 定时可以考虑使用crontab定时清理。 参考https://www.zabbix.com/documentation/6.0/zh/manual/config/items/itemtypes/snmp https://blog.csdn.net/qq_42906357/art...
Elasticsearch 8.7 白金版激活
介绍本文章讲解了Elasticsearch 8的白金版激活,使用了Docker环境进行自动生成破解文件x-pack-core。仅用于学习使用。 仅适用于:Elasticsearch版本:8.7.0 (使用RPM包安装) Java容器版本:JDK19.0.2 环境要求:Rocky Linux8、Docker或Podman。 网络要求:需要能正常访问GitHub和Docker HUB(建议全局挂代理) 白金版功能:支持LDAP、watcher、支持邮箱发送等。 安装教程可参考:https://songxwn.com/elk/ 步骤使用Docker自动生成破解文件123456789101112131415161718192021222324252627282930313233343536yum install wget unzip -y# 安装工具,且确保Docker可用。wget https://github.com/Songxwn/crack-elasticsearch-by-docker/archive/refs/tags/8.7.zipunzip 8.7.zip# 解压tree...
Linux 虚拟机在线热扩容分区
介绍本教程是用于Linux虚拟机在调整虚拟硬盘大小后,进行在线不重启热扩容分区大小。 适用于RHEL 7+以上的版本及衍生发行版。(如Centos、Rocky Linux、Alma Linux等) 硬盘分区在线热扩容刷新硬盘容量123echo '1' > /sys/block/sda/device/rescan# 刷新容量,设备为 sda# 注意若大于2TB的硬盘,需要GPT分区格式,且为引导硬盘的话,需要以UEFI引导启动。 安装扩容工具1234567891011121314151617181920212223# Redhat 系列yum install cloud-utils-growpart -y# Debian 系列sudo apt install cloud-guest-utils# 安装growpart,使用此工具可以自动调整分区。lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 2T 0 disk├─sda1 8:1 0 100M 0 part /boot/efi└─sda2 8:...
Elasticsearch 安装配置集群系统
介绍本教程客户端API关闭HTTPS认证,但传输使用HTTPS。(为了接入日志监控) 主要介绍了ES集群的搭建。ELK单机使用可参考:https://songxwn.com/elk/ Elasticsearch版本:8.x 系统版本:Rocky Linux 8.7 (关闭SE Linux和防火墙) 配置要求:建议4核8G以上,存储空间按照存储的文档大小规划。 Elasticsearch 集群建议至少要有三个节点,两个以上的master节点。 本教程也同样适用于也适用于其他RHEL8-9版本衍生版系统:如Centos stream、AlmaLinux等。 概念(1)集群(Cluster): ES可以作为一个独立的单个搜索服务器。不过,为了处理大型数据集,实现容错和高可用性,ES可以运行在许多互相合作的服务器上。这些服务器的集合称为集群。 (2)节点(Node): 形成集群的每个服务器称为节点。 (3)索引(index): 在 ES 中, 索引是一组文档的集合。 (4)分片(shard) 当有大量的文档时,由于内存的限制、磁盘处理能力不足、无法足够快的响应客户端的请求等,一个节点可能...
ELK Logstash配置SNMP-Trap
简介本文章适用于ELK的logstash 配置SNMP Trap插件,接收告警通知。默认情况下是安装此插件的,如没有可手动安装。 一般用于网络设备。 注意此插件不支持v3版本。 ELK系列教程:https://songxwn.com/categories/linux/ELK/ 参考:https://www.elastic.co/guide/en/logstash/current/plugins-inputs-snmptrap.html 配置1234567891011121314151617vim /etc/logstash/conf.d/trap.confinput {snmptrap {type => "snmp-trap"community =>"public"port => 162}}output {elasticsearch {hosts => ["http://192.168.0.1:9200"]index => &quo...
VMware Vsphere 8 序列号
简介适用于VMware Vsphere 8系列产品的序列号,用于学习使用。 vSphere Enterprise Plus:1234HG00K-03H8K-48929-8K1NP-3LUJ44V492-44210-48830-931GK-2PRJ4NF212-08H0K-488X8-WV9X6-1F0244F40H-4ML1K-M89U0-0C2N4-1AKL4 vSphere Enterprise vCenter Standard:1234F282-0MLD2-M8869-T89G0-CF2400Z20K-07JEH-08030-908EP-1CUK40F41K-0MJ4H-M88U1-0C3N0-0A214 vSAN Enterprise Plus:12MG292-08L9K-48078-KJ372-27K20JF61H-48K8K-488X9-W98Z0-1FH24 vSphere 8 for Virtual SAN Witness for Embedded OEMs Horizon Enterprise v8.x10G4DA-49J81-M80R1-012N4-86...