$ sudo iptables -L -n//列出了当前服务器的防火墙规则
root@yxvm:~# sudo iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8000
DROP 0 -- 103.149.28.141 0.0.0.0/0
DROP 0 -- 185.191.127.212 0.0.0.0/0
ACCEPT 0 -- 0.0.0.0/0 0.0.0.0/0
ACCEPT 0 -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6001
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6443
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:7443
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25565
ACCEPT 17 -- 0.0.0.0/0 0.0.0.0/0 udp dpt:19132
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:26384
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:26385
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:26386
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:26387
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:26388
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:26389
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6690
ACCEPT 6 -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:9999
DROP 0 -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
- Chain INPUT:处理所有进入服务器的流量,也就是其他设备向你的服务器发送的数据包。
policy ACCEPT
表示没有匹配规则时,默认允许流量。 - Chain FORWARD:处理流经服务器的流量(即,服务器充当路由器时的流量),但在大多数场景下不会使用。
- Chain OUTPUT:处理从服务器发出的流量(即服务器主动向外发送的数据包)。
INPUT链的规则
以下是对 Chain INPUT
中每条规则的解释:
- ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:8000
允许所有来源(0.0.0.0/0
)的 IPv4 流量,通过 TCP 协议,访问服务器的 8000 端口。 - DROP 0 – 103.149.28.141 0.0.0.0/0
丢弃来自 IP 地址 103.149.28.141 的所有流量,不管它要访问服务器的哪个端口。 - DROP 0 – 185.191.127.212 0.0.0.0/0
丢弃来自 IP 地址 185.191.127.212 的所有流量。 - ACCEPT 0 – 0.0.0.0/0 0.0.0.0/0
允许所有来源的所有流量(此规则看起来有点宽松,建议检查其必要性)。 - ACCEPT 0 – 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
允许所有已建立或与当前连接相关的流量,这确保了服务器可以响应合法的连接请求。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
允许所有来源的 TCP 流量访问服务器的 22 端口,这通常是用于 SSH 连接。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
允许所有来源的 TCP 流量访问服务器的 80 端口,通常用于 HTTP(未加密的网页流量)。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:6001
允许访问 6001 端口(此端口可能用于自定义服务或 WebSocket 服务器)。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
允许所有来源的 TCP 流量访问服务器的 443 端口,这是 HTTPS(加密的网页流量)端口。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:6443
允许访问 6443 端口(Kubernetes API 端口)。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:7443
允许访问 7443 端口(某些自定义服务或 Web 应用常用的端口)。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:25565
允许访问 25565 端口(通常用于 Minecraft 服务器)。 - ACCEPT 17 – 0.0.0.0/0 0.0.0.0/0 udp dpt:19132
允许通过 UDP 协议访问 19132 端口(此端口通常用于 Minecraft Bedrock 版)。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:26384
允许通过 TCP 协议访问 26384 端口(自定义服务端口)。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:26385
允许访问 26385 端口。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:26386
允许访问 26386 端口。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:26387
允许访问 26387 端口。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:26388
允许访问 26388 端口。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:26389
允许访问 26389 端口。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:6690
允许访问 6690 端口。 - ACCEPT 6 – 0.0.0.0/0 0.0.0.0/0 tcp dpt:9999
允许访问 9999 端口(通常是某些自定义服务使用的端口)。 - DROP 0 – 0.0.0.0/0 0.0.0.0/0
丢弃所有来源的所有流量,意味着没有匹配上述规则的流量将被丢弃。
FORWARD 链和 OUTPUT 链
- FORWARD 链没有任何自定义规则,所有流量默认被允许。
- OUTPUT 链处理服务器发出的流量,目前也没有自定义规则,所有流量默认被允许。