使用Iptables构建Linux防火墙.ppt
使用Iptables构建Linux防火墙,相关参考文献,Linux2.4 Packet Filtering HOWTO Linux 2.4 NAT HOWTO信息安全综合实验讲义,LinuxKernel中的包过滤防火墙,Ipfw/ipfwadm2.0.*中使用移植于BSD的ipfw缺点:包过滤、NAT等代码混杂在整个网络相关代码中Ipchains2.2.*中使用Netfilter/iptables2.4.*模块化,支持状态跟踪,Netfilter/iptables,可以实现完整的基于连接跟踪的包过滤防火墙支持包过滤,双向地址转换路由型,Netfilter结构示意图,filter内定规则链,进来的数据包,路由,本机,发出的数据包,FORWARDING,INPUT,OUTPUT,nat 中的内定规则链,PREROUTING,进来的数据包,路由,本机,发出的数据包,POSTROUTING,PREROUTING 处理DNAT规则POSTROUTING 处理SNAT规则连接的第一个数据包处理后会保持一些信息,用来在应答的数据包再次通过时修改数据包内容,netfilter/iptables,Netfilter/iptables,Netfilter/iptablesNetfilter是Linux kernel 中对数据包进行处理的框架定义了5个HOOK位置NF_IP_PRE_ROUTINGNF_IP_LOCAL_IN NF_IP_FORWARD NF_IP_POST_ROUTING NF_IP_LOCAL_OUT,包过滤防火墙,规则条件 动作 序列条件源地址、目的地址、协议、端口、协议内部数据、时间、物理接口动作ACCEPT 允许DROP 直接丢弃REJECT tcp-reset/icmp-port-unreachableLOG 日志,包过滤防火墙,有先后关系数据包的处理接收到数据包逐条对比规则如果满足条件,则进行相应的动作,如果动作不是ACCEPT/DROP/REJECT,继续处理后面的规则,Iptables防火墙配置,包过滤INPUT/OUTPUT/FORWARD 三个规则链可以增加自定义规则链iptables N xxx命令格式iptables L nv 显示iptables F 规则链名 清空规则链iptables A 规则链名 规则 增加规则iptables I 规则链名 规则 插入规则iptables D 规则链名 规则 删除规则iptables D 规则链名 规则编号,包过滤,规则-j 动作.条件动作为:ACCEPT 接受数据包DROP 丢弃数据包RETURN 从当前规则链返回LOG 日志,用dmesg可以看到REJECTSNAT/DNAT等,包过滤,条件-s IP地址 源地址-d IP地址 目的地址-i 接口名 接收的接口-o 接口名 发送的接口-m state-state 状态 状态包过滤ESTABLISHED RELATED NEW INVALID-p tcp/udp/icmp 协议-dport 目的端口(或者服务名称)-sport 源端口,源地址转换 SNAT,NAT设备,客户机,服务器,10.0.0.1:1024-202.38.64.2:80,61.132.182.2:8133-202.38.64.2:80,61.132.182.2:8133-202.38.64.2:80,10.0.0.1:1024-202.38.64.2:80,内部网络,外部网络,源地址转换 SNAT,目的地址转换 DNAT,NAT设备,服务器,客户机,10.0.0.1:80-202.38.64.2:1024,61.132.182.2:80-202.38.64.2:1024,61.132.182.2:80-202.38.64.2:1024,10.0.0.1:80-202.38.64.2:1024,内部网络,外部网络,目的地址转换 DNAT,NAT配置,iptables t nat PREROUTING/FORWARD/POSTROUTING 三个规则链其他选项与包过滤类似,组网实例,组网实例,与上图拓扑的区别?,组网实例,分析分别对应的功能?,