分类目录归档:网络

 Apache 的 ab 工具使用

Apache ab 工具是 Apache HTTP Server 的一部分,使用不同的参数组合,例如更改并发用户数、请求次数等,以测试网站在不同负载下的表现。

常用请求参数:
-n 总的请求数量
-c 单次请求的并发数
例如 ab -n 10000 -c 200 http://test.web.url/uri

返回信息解析

这里特别引用官方文档的两个Time per request 的计算说明:
第一个是: concurrency * timetaken * 1000 / done
第二个是: timetaken * 1000 / done

官方参考文档:https://httpd.apache.org/docs/2.4/programs/ab.html

ubuntu上的ufw使用介绍

1. 设置默认策略

ufw reset
ufw default deny incoming
ufw default allow outgoing

2. 允许 SSH、HTTP、HTTPS

ufw allow from 192.168.5.0/24 to any port 22
ufw allow from 192.168.5.125 to any port 9100
ufw allow 8100,8200,80,443

3. 启用防火墙

ufw enable
ufw status numbered

负载均衡后端无法获取终端用户真实IP的解决方案

场景描述

移动云平台,使用了云上的负载均衡,默认配置的4层负载均衡 ,后端服务器为ubuntu 20 ,部署了nginx服务器

问题

nginx 日志查看只能看到100.125.64.104 100.125.64.103 之类的云内地址。

解决

编译加载TOA内核
源码 https://github.com/Huawei/TCP_option_address.git

1、预安装 gcc make linux-headers-`uname -r`

我的ubuntu是 uname -r 是 5.4.0-171-generic ,我选择最近的下载版本 5.4.0-128.144

2、下载源码TCP_option_address后, 解压,cd src 进入 ,make 编译如果未提示错误则编译成功,检查当前目录下是否已经生成toa.ko文件。

3、加载内核
insmod toa.ko
dmesg |grep TOA

4、自启动加载

Ubuntu 在 /etc/modules-load.d/toa.conf 下建立 ,文件直接写 模块名字 toa
拷贝toa.ko 文件到 /lib/modules/$(uname -r)/ ,运行depmod -a 更新内核模块依赖关系

参考连接https://ecloud.10086.cn/op-help-center/doc/article/29108

firewall 的这么多zone的优先级

zone 介绍

firewall的zone有 block dmz docker drop external home internal public trusted work等,除此之外,还有自定义的zone。每个zone就是一套规则集。

多个活动zone下的流量匹配优先级顺序

有那么多zone,对于一个具体的请求来说应该使用哪个zone(哪套规则)来处理呢?这个问题至关重要,如果这点不弄明白其他的都是空中楼阁,即使规则设置的再好,不知道怎样用、在哪里用也不行。

对于一个接受到的请求具体使用哪个zone,firewalld是通过三种方法来判断的:

1、source,也就是源地址

2、interface,接收请求的网卡

3、firewalld.conf中配置的默认zone

4、默认规则,丢弃

这三个的优先级按顺序依次降低,也就是说如果按照source可以找到就不会再按interface去查找,如果前两个都找不到才会使用第三个,也就是在firewalld.conf中配置的默认zone

这里做下特别说明:

假设某个来源IP访问匹配了 某个定义了source的zone,它接着在zone中找service或port是否有匹配的规则设置,如果有则按照zone 中的targe设置来决定是否放行。没有匹配的就找第二个优先级的zone去查找service 或port 规则

target 有(default , accept ,drop ,%%REJECT%%)几种

相关命令说明

#列出本机所有zone
firewall-cmd --get-zones
#列出默认zone
firewall-cmd --get-default-zone
#设置默认zone
firewall-cmd --set-default-zone
#列出活动的zone,可以有多个
firewall-cmd --get-active-zones
#显示默认zone的所有配置信息(Permanent)
firewall-cmd --list-all