我刚刚安装了fail2ban,当我想检查ssh iptables监狱是否正在运行时。就在那时我看到那个iptables -Lvn
清单什么也没有。 Iptables 正在使用自定义脚本运行,但我不知道为什么没有列出规则。它只是显示任何内容,甚至没有显示默认策略这是脚本:
#!/bin/sh
#
LOG_ALL="a"
# Known ports
HTTP_PORT="80"
HTTPS_PORT="443"
PROXY_PORT="3128"
PROXY="1.2.3.4"
NET="1.2.3.4/5"
IPT="/sbin/iptables"
###############################################################################
# Flush all rules
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -t raw -F
# Set Policies
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
###############################################################################
if [ "$1" = "stop" ]
then
echo "Firewall completely flushed! Now running with no firewall."
exit 0
fi
# Logging of web access
$IPT -A OUTPUT -p tcp ! -d $NET --dport $HTTP_PORT -j REJECT
$IPT -A OUTPUT -p tcp ! -d $NET --dport $HTTPS_PORT -j REJECT
$IPT -A OUTPUT -p tcp ! -d $PROXY --dport $PROXY_PORT -j REJECT
答案1
您应该注意,-L
可以选择列出要列出的链的名称,因此请-Lvn
您询问 chain vn
。尝试-vnL
一下。
答案2
好吧,事实证明我只是傻了。我在家里启动了 iptables -vnL,并且有 iptables 的脚本,因此它会不断重新启动相同的脚本。/sbin/iptables -nvL
工作正常并显示所有规则