故障排查:

早上突然收到nagios服务器check_icmp的报警,报警显示一台网站服务器的内网网络有问题。因为那台服务器挂载了内网的NFS,因此内网的网络就采用nagios的check_icmp来做监控。

赶紧登录服务器进行排查。首先使用ping 内网IP的方式查看内网的连通性,ping的过程中出现丢包现象,信息如下:

64 bytes from 10.1.1.1: icmp_seq=34 ttl=255 time=0.928 ms

64 bytes from 10.1.1.1: icmp_seq=35 ttl=255 time=1.01 ms

ping: sendmsg: Operation not permitted

ping: sendmsg: Operation not permitted

显示ping不被允许,奇怪,防火墙上明明开通了icmp的协议。有问题先看日志,日志文件一般会有所记录,tail –f /var/log/messages,发现大量的如下内容:

Sep 13 09:11:21 dowload_server1 kernel: printk: 261 messagessuppressed.

Sep 13 09:11:21 dowload_server1 kernel: ip_conntrack: table full,dropping packet

发现是当前会话数已经满了,因此出现丢包现象。这里对ip_conntrack做一下简单的介绍:IP_conntrack表示连接跟踪数据库(conntrack database),代表NAT机器跟踪连接的数目,连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的ip-sysctl函数设置。每一个跟踪连接表会占用350字节的内核存储空间,时间一长就会把默认的空间填满,那么默认空间是多少?在内存为64MB的机器上是4096,内存为128MB是8192,内存为256MB是16384

通过如下命令查看当前的会话数:

cat /proc/net/ip_conntrack | wc –l

或者使用:

cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count

使用如下命令查看设置的最大会话数

cat /proc/sys/net/ipv4/ip_conntrack_max

解决办法:

发现确实已经达到了最大会话数,通过google发现,可以直接调大用户的最大会话数,命令为:

echo "102400" > /proc/sys/net/ipv4/ip_conntrack_max

执行此命令后,不在丢包了,ping也正常了。但是这样设置不会永久保存,当系统重启后设置会丢失,因此需要保存到/etc/sysctl.conf,在/etc/sysctl.conf中加入:net.ipv4.ip_conntract_max =102400,然后执行/sbin/sysctl –p刷新内核参数即可,如果出现error:"net.ipv4.ip_conntract_max" is an unknown key报错的话,需要加载ip_conntract模块,使用modprobe  ip_conntrack加载,使用lsmod | grepip_conntrack查看模块是否加载。

终极解决:

为了使彻底解决此问题,还需要再设置一个东西,那就是会话连接超时变量,这个参数设置太长的话就会导致会话连接数不断增加,默认是设置为432000秒,很显然这个值太大了,通过如下命令设置小一点:

echo 21600>/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established

设置成21600也就是6小时,这样会自动清除6小时候后的无效链接。记得将这句话加到自动启动文件/etc/rc.local文件中去。

linux ping 报错 sendmsg: Operation not permitted相关推荐

  1. vite打包报错EPERM: operation not permitted

    在网上找了很久都是说权限问题,其实这个问题跟权限没有任何关系,我在尝试各种加权限后终于自己找到了问题,在使用vite打包的时候,在vite.config文件里面有个publicDir: resolve ...

  2. nfs参数介绍与写法示例及报错( Operation not permitted)

    一. NFS各版本通用参数 soft/hard [参数说明]软挂载方式挂载系统,若NFS请求超时,则客户端向调用程序返回错误:如果使用硬连接方式则客户端一直重新请求直至成功.默认为hard. [使用建 ...

  3. linux wifi 报错 siocsifflags: operation not possible due to rf-kill

    问题描述:SIOCSIFFLAGS: Operation not possible due to RF-kill         计算机系统:ubuntu12.04-LTS              ...

  4. keepalived启动后无法ping通VIP,提示ping: sendmsg: Operation not permitted

    主备服务器的keepalived服务启动后,主机上的VIP已经绑定了VIP: 但是ping VIP 提示ping: sendmsg: Operation not permitted错误,如下: 解决方 ...

  5. ping: icmp open socket: Operation not permitted 的解决办法

    简介:ping: icmp open socket: Operation not permitted 的解决办法 为 ping 加上 suid 即可. Author:yangyingchao, 201 ...

  6. 安装linux 系统报错:No DEFAULT or UI configuration directive found 解决方法

    安装linux 系统报错:No DEFAULT or UI configuration directive found 解决方法 参考文章: (1)安装linux 系统报错:No DEFAULT or ...

  7. Postman请求linux服务器报错:503Forwarding failure,由于服务器端口未开放;服务器端口开放与关闭

    Postman请求linux服务器报错:503Forwarding failure,由于服务器端口未开放:服务器端口开放与关闭 文章目录: 1 问题分析 2 在Centos上开启和关闭端口 2.1 C ...

  8. linux启动报错+centos关闭和开启ipv6

    LINUX启动报错,dmesg | grep -i erro 当前位置:洪哥笔记 >Linux >centos 6关闭或开启ipv6 centos 6关闭或开启ipv6 关键词 ipv6  ...

  9. linux ssh 报错failed - POSSIBLE BREAK-IN ATTEMPT

    linux ssh 报错failed - POSSIBLE BREAK-IN ATTEMPT 问题故障: 今天在新租的虚拟机上,发现ssh登陆机器的时候报错,如下: [root@pictures_ne ...

最新文章

  1. 不是微型计算机主板上的部件,微型计算机主板上安装的主要部件
  2. mysql 四舍五入
  3. DownloadProvider 源码详细分析
  4. python的特殊类_python - 类的特殊成员方法
  5. php中MySQL数据库导入与导出_Mysql数据库导出和导入
  6. 第七十期:IT技术人员的自我修养
  7. 企业到底需要什么样的飞鸽传书
  8. C语言程序设计基础讲座之指针的慨念
  9. 第1章 Ext JS快速入门示例[4/4]
  10. iOS h264硬编码
  11. Hibernate框架简单应用
  12. PASCAL VOC 2012数据集
  13. c++ primer plus第六版复习题及答案
  14. 读《PROSOSPEECH: ENHANCING PROSODY WITH QUANTIZED VECTOR PRE-TRAINING IN TEXT-TO-SPEECH》
  15. Boost电路的驱动电路
  16. 融云助力中国企业打造海外云平台
  17. VR和AR的联系和区别
  18. QtXlsx第三方库在Mac OS和Windows下的配置及简单使用
  19. Android 仿微信语音识别
  20. 北京市工作居住证官方网站js报错不能使用解决办法

热门文章

  1. 计算体系结构的演进规律
  2. 4G EPS 中建立 eNB 与 MME 之间的 S1 连接
  3. vsnprintf的作用和使用
  4. ESX 3.5 与License Server不定时失去连接解决方法一例
  5. Adobe将于2020年末停止对Flash的支持
  6. PHP 核心知识要点
  7. Linux网络属性配置相关命令
  8. iis8.5部署net项目
  9. Jenkins 使用 Kubernetes Plugin 完成持续构建与发布
  10. CentOS7重新生成 /boot/grub2/grub.cfg