在 CentOS 上安装和使用 iptables,不同版本差异较大,下面按 CentOS 7 / 8 / Stream 分别说明(重点放在 CentOS 7,因为 8 以后默认用 nftables)。
rpm -q iptables
yum install -y iptables iptables-services
systemctl stop firewalld
systemctl disable firewalld
systemctl start iptables
systemctl enable iptables
systemctl status iptables
iptables -L -n
CentOS 8 默认使用 nftables,iptables 只是一个兼容层。
iptables -V
dnf install -y iptables-services
⚠️ 注意:
firewalld 或 nftablesiptables -L -n
iptables -F
iptables -X
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
service iptables save
# 或
iptables-save > /etc/sysconfig/iptables
iptables -F
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
service iptables save
| 系统 | 推荐 |
|---|---|
| CentOS 7 | ✅ iptables |
| CentOS 8 / Stream | ✅ firewalld / nftables |
| 老服务器 | ✅ iptables |
如果你愿意,可以告诉我:
我可以帮你直接写一套 完整可用的 iptables 规则 ✅