Linux iptables 防火墙配置入门——从零开始保护你的服务器
iptables 是 Linux 自带的最强大的防火墙工具。很多新手看到 iptables 的规则就头疼,其实日常只需要记住几条命令就够了。
查看当前规则
iptables -L -n -v默认策略
iptables 有三条默认链(INPUT、OUTPUT、FORWARD)。服务器常用的配置是:默认拒绝入站,允许出站。
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT这样就只有你主动发出去的连接能回来,外面主动连进来的全部被挡。
放行必要端口
SSH(22):
iptables -A INPUT -p tcp --dport 22 -j ACCEPTWeb 服务(80/443):
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT远程桌面(3389):
iptables -A INPUT -p tcp --dport 3389 -j ACCEPT放行已建立的连接
这条非常重要,放行你主动发出去的数据的回应:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT放行本地回环
iptables -A INPUT -i lo -j ACCEPT限制 SSH 登录 IP
只允许特定 IP 连接 SSH:
iptables -A INPUT -p tcp --dport 22 -s 103.151.228.100 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP这样只有 103.151.228.100 能 SSH,其他 IP 全部拒绝。
防止暴力破解
限制 SSH 连接频率,每分钟最多 3 次:
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 -j DROP保存规则
CentOS:
service iptables saveUbuntu:
iptables-save > /etc/iptables/rules.v4新手建议
先按这个模板配置:放行 SSH + Web 端口 → 放行已建立连接 → 默认拒绝。依次执行,不用怕搞错,错了重启服务器就能恢复。
评论