当前位置:首页>Linux>软考网络工程师Linux主机配置防火墙案例

软考网络工程师Linux主机配置防火墙案例

  • 2026-09-09 09:16:10
软考网络工程师Linux主机配置防火墙案例

典型应用场景案例

场景一:Web服务器防护

需求:

1. 开放80(HTTP)、443(HTTPS)端口
2. 仅允许办公室IP段(192.168.1.0/24)和管理员IP(202.96.1.100)SSH访问
3. 防止SYN Flood攻击
4. 记录异常访问尝试

配置:

# 使用iptables
iptables -N SYN_FLOOD  # 创建自定义链
iptables -A INPUT -p tcp --syn -j SYN_FLOOD
iptables -A SYN_FLOOD -m limit --limit 10/s --limit-burst 20 -j RETURN
iptables -A SYN_FLOOD -j LOG --log-prefix "SYN Flood: "
iptables -A SYN_FLOOD -j DROP

# 基础规则
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 202.96.1.100 -j ACCEPT

# 记录非法SSH尝试
iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH Attempt: "

场景二:NAT网关配置

需求:

1. 内网192.168.1.0/24通过NAT上网
2. 映射公网IP端口2222到内网192.168.1.10的22端口
3. 限制内网每IP最大连接数100

配置:

# 启用转发
echo 1 > /proc/sys/net/ipv4/ip_forward

# NAT规则
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to 192.168.1.10:22

# 连接数限制
iptables -A FORWARD -s 192.168.1.0/24 -m connlimit --connlimit-above 100 -j DROP

故障排查案例

故障现象:内网用户无法访问互联网,但能ping通网关。

排查步骤:

# 1. 检查转发是否开启
sysctl net.ipv4.ip_forward  # 应为1

# 2. 检查NAT规则
iptables -t nat -L -n -v

# 3. 检查FORWARD链策略
iptables -L FORWARD -n

# 4. 查看连接跟踪
conntrack -L

# 5. 抓包分析
tcpdump -i eth0 port 53  # 检查DNS
tcpdump -i eth0 -n tcp port 80

常见原因:

1. 转发未开启:sysctl -w net.ipv4.ip_forward=1
2. FORWARD链默认拒绝:iptables -P FORWARD ACCEPT
3. 缺少状态规则:添加iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

更多备考学习可加讲师微信交流~

最新文章

随机文章