Iptables根据uid删除特定的规则



比如说,我已经添加了3条规则:

# iptables -A INPUT -s google.com -m owner --uid-owner 10011 -j DROP
# iptables -A INPUT -s facebook.com -m owner --uid-owner 10011 -j DROP
# iptables -A INPUT -s microsoft.com -m owner --uid-owner 10022 -j DROP

现在我想删除uid为10011的所有规则。有可能的命令吗?试着找出规则,然后一条一条地去掉,这是个好主意,但还不够好。

iptables --line-numbers -L INPUT | awk '/UID match 10011/{ print $1 }' | sort -r | while read num ; do iptables -D INPUT ${num} ; done

注意iptables -D一次只能删除一条规则。当我们删除一条规则时,它们的编号可能会改变,所以我们必须通过减少编号来删除它们,因此sort -r

最新更新