我得到一个错误,从networkingsnmp库做一个snmp得到这个说
Operation not permitted error from sendto.
我想知道什么可以使sendto(2)
系统调用失败,这个错误。
请注意,这是一个间歇性的错误,所以我不认为这是由防火墙问题引起的,除非防火墙可能导致间歇性。
今天发生在我身上,这个问题是由于conntrack表已经满了。
额外的症状是syslog中有很多“ nf_conntrack: table full, dropping packet
”。 如果是这种情况,解决方法是将net.ipv4.netfilter.ip_conntrack_max
(又名net.netfilter.nf_conntrack_max
)设置为更高的值,例如:
# sysctl net.ipv4.netfilter.ip_conntrack_max net.ipv4.netfilter.ip_conntrack_max = 65536 # sysctl net.ipv4.netfilter.ip_conntrack_max=1548576 net.ipv4.netfilter.ip_conntrack_max = 1548576
正如其他人所说,可能还有其他可能的原因,比如SELinux或AppArmor策略。 因人而异。
如果错误代码是EPERM,则使用特权端口作为非root用户
使用端口> 1024