解决Linux系统 ping: sendmsg: Operation not permitted 问题
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
参考: http://heavendw.blog.51cto.com/695019/274392
http://coffeecatcc.blog.51cto.com/3304373/609772
http://ubuntuforums.org/showthread.php?t=812644 (如果是因为iptables问题可以参考)
http://bbs.chinaunix.net/thread-2147959-1-1.html
故障说明:
访问网站慢。故障检查方法:
ping 127.0.0.1;ping: sendmsg: Operation not permitted
系统负核 10 以下,网络线路通畅,资料库无死锁进程;
系统日志出现大量:kernel: printk: xxxx messages suppressed.资讯。dmesg 指令后发现大量以下资讯:
TCP: drop open request from 202.153.162.100/62751
printk: 78 messages suppressed.
分析如下:
问题可能出在TCP/IP连结上,根据日志资讯查找资料介绍如下:
IP_conntrack表示连接跟踪数据库(conntrack database),代表NAT机器跟踪连接的数目,连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的ip-sysctl函数设置。每一个跟踪连接表会占用350字节的内核存储空间,时间一长就会把默认的空间填满。
(1) 加大 ip_conntrack_max 值:
查出原本的 ip_conntrack_max 值,指令: cat /proc/sys/net/ipv4/ip_conntrack_max
写入理想的数值 (每一个 ip_conntrack buffer 会占用 292 Bytes)
指令: echo "数值" > /proc/sys/net/ipv4/ip_conntrack_max
例如: echo "163840" >/proc/sys/net/ipv4/ip_conntrack_max
这个效果是暂时的, 如果要每次开机都使用新的数值, 需将上述指令写入 /etc/rc.d/rc.local
或是在 /etc/sysctl.conf 加入: net.ipv4.ip_conntrack_max = 数值
或使用指令: sysctl -w net.ipv4.ip_conntrack_max=数值
(2): 降低 ip_conntrack timeout 时间
重设:ip_conntrack_tcp_timeout_established (原值: 432000, 单位: 秒)
指令:echo "数值" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
例如:echo "180" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
开机自动设置的作法同方法(1).
(3):开启 tcp_syncookies
重设:tcp_syncookies (默认值 0)
例如:echo '1'> /proc/sys/net/ipv4/tcp_syncookies
开机自动设置的作法同方法(1).
经过以上设置后,系统日志出现一条:kernel: possible SYN flooding on port 80. Sending cookies.后不再出现:kernel: printk: xxx messages suppressed. 的提示。访问网站明显感觉速度提升。
附其他相关命令:
查看目前 ip_conntrack buffer 使用状况
指令: grep conn /proc/slabinfo
结果实例: ip_conntrack 3024 4090 384 409 409 1 (各值说明如下)
ip_conntrack the cache name
3024 the number of currently active objects
4090 the total number of available objects
384 the size of each object in bytes
409 the number of pages with at least one active object
409 the total number of allocated pages
1 the number of pages per slab are given
man slabinfo 可查询详细说明.
查出目前 ip_conntrack 记录最多的前五名 IP
指令: cat /proc/net/ip_conntrack | cut -d ' ' -f 10 | cut -d '=' -f 2 | sort | uniq -c | sort -nr | head -n 5
结果实例:
2816 192.168.1.100
14 163.30.85.129
6 220.132.142.175
6 127.0.0.1
4 218.187.5.223
由此可知, 192.168.1.100 占用了绝大多数的 buffer, 推断这个 IP 的 User 可能使用了 P2P 软件.
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献3条内容
所有评论(0)