用 iptables 来清空防火墙规则并放开所有流量限制,用于 Linux 系统的网络防火墙配置。以下是对这条命令的详细解释和逐段解析:
—
命令:
sudo iptables -P INPUT ACCEPT && sudo iptables -P FORWARD ACCEPT && sudo iptables -P OUTPUT ACCEPT && sudo iptables -F
—
说明:
sudo iptables -P INPUT ACCEPT
- 设置默认策略(Policy)为
ACCEPT,对所有 “进入本机的流量” 默认放行。
- 比如你访问网站、远程登录(SSH)、接收文件等都属于
INPUT。
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
—
总体效果
—
注意事项
这是危险操作,会关闭所有防火墙保护。
若你的系统暴露在公网,容易遭受攻击(如暴力破解、端口扫描、DDoS)。
建议配合 iptables-save 和 iptables-restore 做好备份:
sudo iptables-save > /root/iptables.bak
建议操作流程
1. 保存当前规则(备份)
在放行之前,建议先备份当前的 iptables 配置:
sudo iptables-save > /root/iptables-backup-$(date +%F).rules
—
2. 恢复默认拒绝策略 + 常用端口放行
如果你想恢复最基本的防火墙策略(拦截一切,只开放常用端口),可以使用如下命令:
# 设置默认策略为拒绝
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
# 保留本地回环
sudo iptables -A INPUT -i lo -j ACCEPT
# 接受已建立连接的返回包
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 放行 SSH 端口(建议用甲骨文控制台绑定密钥登录)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 可选:放行 HTTP/HTTPS(如果你部署了网站)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
—
3. 保存防火墙配置(重启后生效)
根据你使用的系统类型选择保存方式:
—
建议补充措施
一键 iptables 管理脚本(适配甲骨文 VPS)
#!/bin/bash
echo "正在备份当前 iptables 规则..."
sudo iptables-save > /root/iptables-backup-$(date +%F-%H%M).rules
echo "开始放开所有防火墙规则(临时放行)..."
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
sleep 2
echo "正在恢复安全策略(默认拒绝,允许常用端口)..."
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A