Iptables基本配置
一、概念
1、Iptables有两种:内核态与用户态
内核态:位于Linux内核中的包过滤功能体系
用户态:位于/sbin/iptables,用来管理防火墙的命令工具为防火墙体系提供过虑规则/策略,决定如何过滤或处理到达防火墙的数据包。
2、四表五链
3、默认规则
不指定表名时,默认表示filter表
不指定链名时,默认表示该表内所有链
匹配条件与规则链缺省策略必须指定其一。
4、匹配条件
通用条件匹配
可直接使用,不依赖于其他条件或扩展模块
包括网络协议、IP地址、网络接口等匹配方式
隐含条件匹配
一般需要以特定的协议匹配作为前提
包括端口、TCP标记、ICMP类型等匹配方式
显式条件匹配
需要使用“-m扩展模块”的形式明确指定匹配方式
包括多端口、MAC地址、IP地址范围、数据包状态等匹配方式
5、查看Iptables所支持的协议
其中有
6、数据包处理方式
ACCEPT
放行
DROP
丢弃
REJECT
拒绝
LOG
记录日志信息,并传递给下一条规则处理
用户自定义
传递给自定义链内的规则进行处理
7、防火墙导入导出Iptables-restore < /etc/sysconfig/iptablesIptables-save > /etc/sysconfig/iptables8、数据包状态匹配
使用“-m state”结合“--state”状态类型的形式
同时表示多种状态时以逗号“,”分隔
常用数据包状态包括:NEW、ESTABLISHED、RELATED
9、IP规划
client:IP 172.24.15.100 网关:172.24.15.10
server:IP 172.24.16.100 网关:172.24.16.10
Iptables: IP 172.24.15.10 eth0
IP 172.24.16.10 eth1
没有指定网关。
二、源地址转换
1、添加路由规则
2、目地
将所有来至172.24.15.0/24网段的包,经过路由后将源地址转换为网关地址172.24.16.10
3、路由前
4、路由后
三、访问数量控制
1、添加路由规则
2、目地
可以有效防止恶意连接等
举个不太恰当的例子:
某书店有10本书,而管理员每3秒会查看一次,如果他查看时发现书少了,那么他会从库房中取出一本书放过去,并且每次只拿一本书。如果他发现书还是10本,那么他不会做任何操作。
有三个同学来买书,同学A直接拿了6本书,同学B直接拿了4本,同学C过来没了。询问管理员,管理员不理同学C,原因时:时间没有到我不会去库房取地。同学C走了。原因是:你拽什么呀!我不买了。。。。。
3、同时开两个终端ping
相当于同学A
相当于同学B
四、地址伪装
1、添加规则
2、目地
比如我们公司内网发布一个FTP时,对外公开。由于我们公司内部使用的私有IP,在Internet上是不识别,因此当我们需要将内网IP伪装成公网IP,当来至Internet请求时,实际上它请求的不是真真的应用服务,而是公司内网访问Internet时的网关。
3、结果
五、时间防问控制
1、添加规则链
2、目地
在每周六、周日 5:00到7:00不允许icmp协议通过(不允许转发icmp协议)
3、测试
为什么可以通
4、修改时间
修改数据包经过转发主机的时间
5、结果
6、为什么ping server的网关可以通能
7、原因:
因为我的规则链写在了FORWARD链中,而filter表中链的优先级:INPUT----->FORWARD----->OUTPUT。这也不能充分说明这个ping通的原因。
如下: