应用代理(application proxy)作用在应用层。其特点是完全“阻隔”了网络通信流,通过对每种应用服务编制专门的代理程序,实现监视和控制应用层通信流的作用.内部网络只接受代理提出的服务请求,拒绝外部网络其它接点的直接请求. 在实际应用当中,构筑防火墙的“真正的解决方案”很少采用单一的技术,通常是多种解决不同问题的技术的有机组合.大多数防火墙将数据包过滤和应用代理服务器结合起来使用.
从1.1内核开始,Linux开始具有包过滤功能了,2.0的内核中则采用iPfwadm来操作内核包过滤规则。1998年在2.2的内核中,以ipchains取代了ipfwadm。 ipchains是以内核级运行的C及C++代码,没有很好地提供从用户空间访问ipchains的接口,导致防火墙应用程序不能使用许多常用的语言编写,如Perl,Tcl或Java.这就限制Ipchains的可扩展性。认识到以上问题。Rusty Russell在l 998年启动了Netfilter计划创建一个通用的框架结构用于包的修改和处理.
(1) 对链的操作
建立一个新链 (-N)。
删除一个空链 (-X)。
改变一个内建链的原则 (-P)。
列出一个链中的规则 (-L)。
清除一个链中的所有规则 (-F)。
(2) 对规则的操作
加入(append) 一个新规则到一个链 (-A)的最后。
在链内某个位置插入(insert) 一个新规则(-I),通常是插在最前面。
在链内某个位置替换(replace) 一条规则 (-R)。
在链内某个位置删除(delete) 一条规则 (-D)。
删除(delete) 链内第一条规则 (-D)。
(3) 指定源地址和目的地址
通过--source/--src/