本文永久链接: https://www.xtplayer.cn/linux/another-app-is-currently-holding-the-xtables-lock/

有时候当我们执行 iptables 命令时候可能会报 Another app is currently holding the xtables lock. Perhaps you want to use the -w option?

在 iptables 客户端进行写 iptables 规则的时候,会短时间的锁住 xtables lock,以防止其他客户端同事写成造成冲突。正常情况下,这个锁定时间会非常短暂。当出现截图问题时,说明其他进程还一直锁住 xtables lock 并未释放,从而会导致其他 iptables 客户端无法正常写 iptables 规则。如果是在 k8s 环境,因为网络驱动会进行 iptables 规则的更新,如果 xtables lock 被锁住导致 iptables 规则无法更新,从而导致跨节点集群网络不可互通。

解决方法

  1. 可以通过执行 ps -fp $(pidof iptables)或者``lsof -p $(pidof iptables)或者 lsof -n 2>/dev/null|grep xtables.lock `查询是什么进程占用着 xtables lock。

  2. 根据查询到的结果,如果有必要,可以先检查一下异常经常的日志,确定为什么一直锁住 xtables lock。也可以直接使用