greedyprocess
我有一个始终以用户身份运行的进程,它使用了太多的 NAT 连接。它们并没有占用太多带宽,而是堵塞了路由器的 NAT 表。是否可以将用户限制为 1000 个打开的连接?我更希望对可以打开的greedyuser
套接字数量进行某种内核限制。greedyuser
服务器运行 debian jessie(撰写本文时为稳定分支)。不,我无法绕过 NAT,因为我无法控制路由器。
用户的打开文件限制为 166,384,如果可能的话,我宁愿不降低这个限制。我只想限制打开的套接字,而不是所有打开的文件。
答案1
iptables
使用connlimit
和owner
扩展可能会有帮助。类似的东西(未经测试):
iptables -A OUTPUT -m owner --uid-owner greedyuser -m connlimit --connlimit-above 1000 -j REJECT