理解防火墙的表及其配置功能

防火墙的表是网络流量管理的基础架构,通过不同的表和规则链实现各种网络安全功能。以下是主要防火墙表及其功能的深入解析:

主要防火墙表

1. filter表(过滤表)

  • 核心功能:数据包过滤(允许/拒绝流量)

  • 默认包含三条链

    • INPUT:处理进入本机的数据包

    • FORWARD:处理经过本机路由的数据包

    • OUTPUT:处理本机发出的数据包

  • 典型应用

    • 允许特定IP访问SSH服务

    • 阻止来自特定国家的流量

    • 限制内部用户访问某些网站

2. nat表(网络地址转换表)

  • 核心功能:IP地址和端口转换

  • 主要链

    • PREROUTING:数据包进入路由决策前修改

    • POSTROUTING:数据包离开路由决策后修改

    • OUTPUT:本地生成数据包的地址转换

  • 典型应用

    • 实现局域网共享公网IP(SNAT)

    • 端口转发(DNAT)

    • 负载均衡

3. mangle表(修改表)

  • 核心功能:修改数据包头部信息

  • 可操作所有链:可作用于所有五个链(PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING)

  • 典型应用

    • 设置QoS标记(如设置TOS字段)

    • 修改TTL值

    • 特殊的路由标记(配合iproute2使用)

4. raw表(原始表)

  • 核心功能:数据包连接跟踪豁免

  • 主要链

    • PREROUTING

    • OUTPUT

  • 典型应用

    • 对某些流量禁用连接跟踪(NOTRACK)

    • 提高高性能网络环境效率

    • 处理特殊协议数据包

表与链的处理顺序

数据包通过防火墙时的处理流程:

  1. PREROUTING链(raw → mangle → nat)

  2. 路由决策(判断是发给本机还是转发)

  3. INPUT链 (mangle → filter)或 FORWARD链(mangle → filter)

  4. OUTPUT链(raw → mangle → nat → filter)

  5. POSTROUTING链(mangle → nat)

实际配置示例

示例1:基本的Web服务器保护(filter表)

复制代码
# 清空现有规则
iptables -F

# 设置默认策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# 允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许本地回环
iptables -A INPUT -i lo -j ACCEPT

# 开放HTTP/HTTPS
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 限制SSH访问
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT

示例2:NAT配置(nat表)

复制代码
# 启用IP转发
echo 1 > /proc/sys/net/ipv4/ip_forward

# 共享上网(SNAT)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# 端口转发(DNAT)
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80
iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 80 -j ACCEPT

示例3:QoS标记(mangle表)

复制代码
# 标记VoIP流量
iptables -t mangle -A PREROUTING -p udp --dport 5060 -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -p udp --dport 10000:20000 -j MARK --set-mark 1

# 然后可以使用tc进行流量控制

理解表之间的关系

  1. 分工协作:各表处理不同层面的网络流量问题

    • filter:安全决策(允许/拒绝)

    • nat:地址转换

    • mangle:数据包修改

    • raw:连接跟踪控制

  2. 处理顺序:数据包依次通过各表,前一表的处理结果会影响后表

  3. 性能考虑:简单规则放前面,复杂规则放后面;频繁匹配的规则放前面

通过合理配置这些表及其规则链,可以实现从基本访问控制到复杂网络服务的全方位网络安全防护。

相关推荐
半梦半醒*1 小时前
zabbix安装
linux·运维·前端·网络·zabbix
南尘NCA86662 小时前
企业微信防封防投诉拦截系统:从痛点解决到技术实现
java·网络·企业微信
程序猿费益洲3 小时前
Docker 网络详解:(三)四大网络模式
网络·docker·容器
Mr_Meng_De4 小时前
网络安全认证培训机构的痛点
网络
AORO20255 小时前
2025全新三防平板科普:5G-A+卫星通信+国产化
网络·5g·智能手机·电脑·制造·信息与通信
深圳南柯电子5 小时前
车载通信设备EMC整改:高频问题与AI辅助诊断方案|深圳南柯电子
网络·人工智能·互联网·实验室·emc
morning_sir_jking7 小时前
深入解析 kube-proxy:Kubernetes 服务发现的网络基石
网络·kubernetes·服务发现
问道飞鱼7 小时前
【Linux知识】Linux磁盘开机挂载
linux·运维·网络·磁盘·自动挂载
☆璇8 小时前
【Linux】网络基础概念
linux·网络
独行soc9 小时前
2025年渗透测试面试题总结-106(题目+回答)
网络·python·安全·web安全·adb·渗透测试·安全狮