iptables 防火墙基础
服务器安全往往始于端口管理。作为 Linux 系统自带的防火墙工具,iptables 能有效控制进出流量。
理解数据流向
查看当前策略:
iptables -L -n
输出显示三个核心链:
- INPUT:进入服务器的数据包
- OUTPUT:从服务器发出的数据包
- FORWARD:经服务器路由转发的数据包
调整默认策略
默认情况下策略多为 ACCEPT(接受)。为了安全,我们可以先设置为 DROP(丢弃),再按需放行。
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
此时若未配置例外规则,SSH 连接会立即断开。这属于临时生效,重启后恢复原状。需执行以下命令保存:
service iptables save
规则将写入 /etc/sysconfig/iptables。
实战:只开放 SSH 端口
假设我们需要保留 SSH 远程管理(端口 22),同时封锁其他入口。 首先确认监听端口:
netstat -tnl
接着添加允许规则:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
验证规则已生效:
iptables -L -n
此时只有 22 端口可通。
关键参数解析
-A:追加规则到链末尾-p:指定协议,如 tcp 或 udp--dport:目标端口(入站)--sport:源端口(出站)-j:动作,ACCEPT 或 DROP
配置完成后记得再次保存,确保重启后依然有效。

