iptables是linux系统下的防火墙软件,是netfilter机制的一部分,通过iptables可以操纵linux对网络访问进行精细的控制,例如丢掉特定地址来源的数据包。
iptables就是客户端代理,用于管理防火墙,真正的防火墙是netfilter。
- “安全框架” - Netfilter 位于在内核中
Netfilter - 内核空间;是真正去实现软件防火墙功能
IPtables - 用户空间;是一个用户空间的客户端代理软件
在用户空间中使用IPtables工具,将安全策略执行到内核空间中netfilter上从而来实现Linux主机上的防火墙功能;
- Netfilter是Linux操作系统下的包过滤防火墙的“安全框架”(免费);所以说IPtables没有守护进程,不是真正的服务,而是内核提供的功能;
- netfilter功能:
- 网络地址转换
- 数据包内容修改
- 数据包过滤的防火墙功能
- IPtables能够根据它的rule匹配而进对数据包进行处理:accept drop reject 等动作;
- rule存储在内核空间的信息过滤表中,这些规则指定:源地址,目的地址,传输协议类型(Tcp/Udp/icmp等),服务类型(http,ftp,smtp等)等等;
- Netfilter 位于在内核空间中,设置了"关卡": Input Output
- 网卡的驱动 也是位于内核空间中,所以IPtables+Netfilter可以在内核空间中设置“关卡”&#