📚 我的文章

linux 常用系统资源查看命令

none

一、sar命令 #

# sar 1 10  监控CPU,每秒监控一次,共监控10次
# sar -P ALL 1 5   监控所有CPU
# sar -S 1 10      监控交换分区
# sar -d 1 10      监控磁盘IO
# sar -b 1 10      监控磁盘IO和速率
# sar -r 1 10      监控内存使用
# sar -n DEV  1 10 监控网络接口卡的数据传输

二、mpstat #

# mpstat -P ALL 1 10

三、iostat #

# iostat -c 2
# iostat -d 1 100
# iostat 1 20
# iostat -p /dev/sda2 1 10

四、vmstat #

#vmstat -d 1 20
输出信息
r 运行队列中的进程数,不要长时间超过CPU核心总数
b 等待IO的进程数
si 每秒从交换分区写到内存的数据大小
so 每秒写入交换分区的数据大小
#vmstat -a 1 10

五、其它常用监控命令 #

(1) top (2) free (3) iptraf

...

linux 防拒绝服务攻击

none

一、使用脚本 #

wget http://www.inetbase.com/scripts/ddos/install.sh 安装脚本
wget http://www.inetbase.com/scripts/ddos/uninstall.sh 卸载脚本

二、内核优化 #

net.ipv4.tcp_max_syn_backlog = 1024 #设定syn队列长度
net.ipv4.tcp_syncookies = 1 #设定是否启用cookies
net.ipv4.tcp_synack_retries = 3 #设定synack重试次数
net.ipv4.tcp_syn_retries = 2 #设定syn重试次数
net.ipv4.icmp_echo_ignore_all = 1 #不回应ping
net.ipv4.icmp_echo_ignore_broadcast = 1 #不回应广播ping

三、防火墙配置 #

1、基于数据包进行限制 #

#iptables -A INPUT -p tcp --tcp-flags syn,ack,fin syn -m limit --limit 5/s --limit-burst 8 -j ACCEPT
#iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

2、基于连接数进行限制 #

#iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 23 -m connlimit --connlimit-above 2 -j DROP

3、基于地址列表进行限制 #

#iptables -A INPUT -p tcp --dport 80 --tcp-flags syn,ack,fin syn -m recent --name webpool --rcheck --seconds 120 --hitcount 10 -j LOG --log-prefix="ddos:" --log-ip-options
#iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 120 --hitcount 10 -j DROP
#iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --set -j ACCEPT

linux 防御SYN攻击

none

一、默认syn配置 #

sysctl -a | grep _syn
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syn_retries = 5

tcp_max_syn_backlog 是SYN队列的长度,加大SYN队列长度可以容纳更多等待连接的网络连接数。

tcp_syncookies是一个开关,是否打开SYN Cookie 功能,该功能可以防止部分SYN攻击。

...

linux代理地址失效导致的问题解析

none

错误描述 #

任何需要使用http服务的程序都会存在假死或超时,包括wget、cur、yum等等。

初步发现 #

使用sudo 可是正常访问。

例如:

sudo yum install wget

然后发现 #

[root@jn6 tmp]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
--2018-03-08 14:13:53--  http://mirrors.163.com/.help/CentOS6-Base-163.repo
Connecting to 10.1.205.242:3128...

根据上面的提示发现了

...

linux内存清理释放命令

none

命令 #

sync
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

解释 #

cache释放:
To free pagecache:
echo 1 > /proc/sys/vm/drop_caches

To free dentries and inodes:
echo 2 > /proc/sys/vm/drop_caches

To free pagecache, dentries and inodes:
echo 3 > /proc/sys/vm/drop_caches

说明 #

释放前最好sync一下,防止丢数据。

Linux清除内存

如何在 Linux 中清除缓存(Cache)? #

每个 Linux 系统有三种选项来清除缓存而不需要中断任何进程或服务。

(LCTT 译注:Cache,译作“缓存”,指 CPU

...

Mac terminal清除历史命令纪录

Linux传统清除方式并没能解决

history -c

我用的iterm2 + zsh

常用history命令:

查看历史命令纪录:

history…

Linux传统清除方式并没能解决

history -c

我用的iterm2 + zsh

...

MacOS 10.12 解决找不到任何来源设置

安装第三方软件必备技能

打开终端 ( 终端在 应用程序 - 实用工具内 )

输入以下命令并回车

sudo spctl --master-disable

然后查看问题是否解决, 偏好设置->安全性与隐私->通用->任何来源

...