前几天有些网友在群中提到搞不清SELINUX和iptalbes,那么本文就先来讲讲iptables的一些简单概念和命令语法哈~其实在以前的文章中多多少少已经涉及到相关的应用,本文就专门来谈谈iptalbes的一些具体应用,写得不好请多多包涵哈~相关服务有高级的配置也发给我研究研究哈~
Iptables原理
现在防火墙主要分以下三种类型:包过滤、应用代理、状态检测
包过滤防火墙:现在静态包过滤防火墙市面上已经看不到了,取而代之的是动态包过滤技术的防火墙哈~
代理防火墙:因一些特殊的报文攻击可以轻松突破包过滤防火墙的保护,比如大家知道的SYN攻击、ICMP洪水攻击, 以代理服务器作为专门为用户保密或者突破访问限制的数据转发通道的应用代理防火墙出现了哈~其使用了一种应用协议分析的新技术.
状态检测防火墙:其基于动态包过滤技术发展而来,加入了一种状态检测的模块,进一点发展了会话过滤功能,会话状态的保留是有时间限制的,此防火墙还可以对包的内容进行分析,从而避免开放过多的端口.
netfilter/iptables IP数据包过滤系统实际上由netfilter和iptables两个组件构成.netfilter是集成在内核中的一部分,其作用是定义、保存相应的规则,而iptables是一种工具,用来修改信息的过滤规则及其他配置,我们可以通过iptables来设置一些适合我们企业需求环境的规则哈~,而这些规则会保存在内核空间之中.
netfilter是Linux核心中的一个通用架构,其提供了一系列的表(tables),每个表由若干个链(chains)组成,而每条链可以由一条或若干条规则(rules)组成.实际上netfilter是表的容器,表是链的容器,而链又是规则的容器.filter表
nat表
mangle表
iptables内置链
PREROUTING:数据包进入本机,进入路由器之前
INPUT:通过路由表后目的地为本机
FORWARDING:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外转发
POSTROUTIONG:通过路由表后,发送到网卡接口之前
netfilter五条链相互关系,即iptables数据包转发流程图
Iptables工作流程图
iptables拥有三个表和五条链组成
NAT工作原理
Iptables详细参数表
Iptables基本语法
iptables [-t 表名] -命令 -匹配 -j 动作/目标
iptables内置了filter、nat和mangle三张表,我们可以使用-t参数来设置对哪张表生效哈~也可以省略-t参数,则默认对filter表进行操作.
具体命令参数可以通过man iptables查询哈~
配置SNAT命令基本语法
iptables -t nat -A POSTROUTING -o 网络接口 -j SNAT --to-source IP地址
配置DNAT命令基本语法
iptables -t nat -A PREROUTING -i 网络接口 -p 协议 --dport 端口 -j DNAT --to-destination IP地址
企业环境及需求
1、企业环境
230台客户机,IP地址范围为192.168.0.1~192.168.0.254,子网掩码为255.255.255.0
Mail服务器:IP地址为192.168.0.1 子网掩码为255.255.255.0
FTP服务器:IP地址为192.168.0.2 子网掩码为255.255.255.0
WEB服务器:IP地址为192.168.0.3 子网掩码为255.255.255.0
公司网络拓扑图如下:
2、配置默认策略
所有内网计算机需要经常访问互联网,并且员工会使用即时通信工具与客户进行沟通,企业网络DMZ隔离区搭建有Mail、FTP和Web服务器,其中Mail和FTP服务器对内部员工开放,仅需要对外发布Web站点,并且管理员会通过外网进行远程管理,为了保证整个网络的安全性,需要添加iptables防火墙并配置相应的策略
需求分析
企业的内部网络为了保证安全性,需要 删除所有规则设置,并将默认规则设置为DROP,然后开启防火墙对于客户端的访问限制,打开WEB、MSN、QQ及MAIL的相应端口,并允许外部客户端登录WEB服务器的80、22端口.
解决方案
1、配置默认策略
默认iptables已经被安装好了
(1)删除策略
iptables -F:清空所选 |