一 前言
防火墙是一种位于内部网络与外部网络之间的网络安全系统,可以是硬件也可以是软件。
防火墙一般分为工作在网络层的网络防火墙和工作在应用层的应用网关(代理网关)。
二 iptables工作原理
主机处理数据包的过程:当主机收到一个数据包后,数据包先在内核空间中处理,若发现目的地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目的不是自身,则会将包丢弃或进行转发。
iptables在数据包经过内核的过程中有五个钩子函数,PREROUTING(路由前),INPUT(数据包进入),OUTPUT(数据包流出),FORWARD(转发),POSTROUTING(路由后)。iptables这款用户空间的软件可以在这5处地方写规则,对经过的数据包进行处理。
iptables中的表,分别表示提供的功能:filter表(实现包过滤),nat表(实现网络地址转换),mangle表(实现包修改),raw表(实现数据跟踪)
filter在3个链上设置规则:INPUT ,FORWARD ,OUTPUT;nat也只能在3个链上设置规则:PREROUTING ,OUTPUT ,POSTROUTING;而mangle5个链都可以设置规则:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING。