SSH iptables 감옥이 실행 중인지 확인하고 싶을 때 방금 Fail2ban을 설치했습니다. 그 때 나는 그 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
잘 작동하고 모든 규칙을 표시합니다.