l出问题的为嵌入式linux系统,上面支持双网卡、支持内外网,同时为了安全考虑,内外网通过nat转发确保内网可以访问外网。
问题是在系统长时间拷机后出的,出现故障后ping网关或ping内网其他地址都提示
ping: sendto: Operation not permitted。
其他常规网络配置检查没有发现什么问题,后面开始查netfilter的配置,有了重大发现:
nf_conntrack_count已经达到系统连接条目上限值。
cat /proc/sys/net/netfilter/nf_conntrack_count
65535
针对该情况的整改思路如下:
1、调整连接条目的超时时间,系统默认超时时间为432000(5天),可以根据项目实际情况做一些调整。我们这里将其配置成3600(一个小时)
sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=3600
2、调整连接条目的上限。
这个上限也不是越大越好,它会增加系统内存的使用量(跟内存的使用关系自行度娘)。
我们项目中内存相对比较紧张,就不增加了。