iptables -F 命令是否将我锁定在 SSH 之外?

Nic*_*ett 2 linux iptables centos

我正在使用 iptables 为 VPS 创建一些防火墙规则。我的 shell 脚本如下所示:

#!/bin/sh
# My system IP/set ip address of server
SERVER_IP="1.2.3.4"

# Flushing all existing rules
iptables -F
iptables -X

# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Allow SSH on 22
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

# Default policy DROP
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
Run Code Online (Sandbox Code Playgroud)

如果我iptables -F在运行此脚本后运行命令,我将被锁定在 SSH 之外(我可以重新进入,但我从不希望 SSH 关闭)。

我有三个问题。

  1. 当我运行iptables -F命令时,我是否被未删除的默认过滤器策略锁定?
  2. 如果我这样做,我不会被锁定iptables -FX吗?
  3. 如果我在 shell 脚本末尾添加默认删除策略,是否还需要默认过滤策略?

干杯!

wom*_*ble 5

当然,您被锁定了 - 您将策略设置为默认拒绝,然后刷新所有允许您进入的规则。

  1. 是的。
  2. 不,因为-X与连锁政策有很大关系-F(也就是说,没有关系)。
  3. 是的,因为可以删除、刷新、转轴和破坏规则。连锁政策不能。