sendto:不允许操作:netsnmp

时间:2011-06-05 04:08:58

标签: c linux snmp net-snmp

我从net-snmp库中得到一个错误,正在执行一个说

的snmp
Operation not permitted error from sendto.

我想知道什么会导致sendto(2)系统调用因此错误而失败。

请注意,这是间歇性错误,因此我认为这不是由防火墙问题引起的,除非防火墙可能会间歇性地导致此问题。

2 个答案:

答案 0 :(得分: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政策。 YMMV。

答案 1 :(得分:1)

如果错误代码是EPERM,则您使用特权端口作为非root用户

使用端口> 1024