第13周 iptables防火墙.docx
- 文档编号:30463897
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:15
- 大小:732.47KB
第13周 iptables防火墙.docx
《第13周 iptables防火墙.docx》由会员分享,可在线阅读,更多相关《第13周 iptables防火墙.docx(15页珍藏版)》请在冰豆网上搜索。
第13周iptables防火墙
课时
第13周第1、2课时2010年11月22日
课题:
IPtables防火墙应用
一、教学目的:
掌握IPtables防火墙应用配置
二、教学重点:
IPtables防火墙应用配置
三、教学难点:
IPtables防火墙阵列配置
四、学方法:
讲解法为主,利用投影仪和黑板讲解穿插教学
五、教学用具:
黑板、投影仪、CAI课件及其硬件支持
六、课时安排:
4课时
七、教学过程:
(一)课题引入:
网络上身份认证的重要性。
(二)讲授新课:
1.1基本概念
Linux中的防火墙是由netfilter/iptables网络构架实现的包过滤防火墙,可以实现大部分硬件防火墙的功能,所以可以在企业的应用方案中可以作为硬件防火墙的替代品。
如果Linux的内核是在2.4以上的版本,都可以使用iptables来实现防火墙的功能。
由于Linux的防火墙是在Linux的内核中实现的,而在内核中使用了netfilter构架实现防火墙的功能,iptables其实就是管理netfilter的工具而已,所以我们一般使用iptables来实现对防火墙的管理。
iptables规则链,如图01所示:
iptables规则链的作用就是为netfilter的处理提供相关的规则,这些规则告诉netfilter,对于接收到的数据,他们来自那里,目标是那里,什么协议的数据包,该作一些什么样的处理。
如果对于一个接受到的数据包,如果符合规则链中的要求,则netfilter就会根据这些规则对数据包进行处理。
iptables一共有我个规则链,我们来看看这些规则链的作用:
1、本地输入规则链:
传送到本机的数据包
2、转发规则链:
经过本机路由传送给别人的数据包
3、本地输出规则链:
从本机传送出去的数据包
4、输入规则链:
所有收到的数据包,包括传给本机的和经过本机路由传动给别人的数据包。
收到数据包后,还没有判断目的地的数据包。
5、输出规则链:
所有从本机出去的数据包,包括从本机传送出去的数据包和经过本机路由传动给别人的数据包。
为了使用iptables对这些数据包的处理,一般使用:
1、INPUT:
表示本地输入规则链
2、FORWARD:
表示转发规则链
3、OUTPUT:
表示本地输出规则链
4、PREROUTING:
表示输入规则链
5、POSTROUTING:
表示输出规则链
iptable的规则链是组织在3个不同的规则表中的,这三个规则表和这些表的作用如下:
1、filter:
过滤数据包
2、nat:
网络地址转换
3、mangle:
改变数据包的内容
iptables根据不同的数据包过滤处理功能来使用不同的规则表,下面分别看看这三个表能对数据包做哪些过滤的处理:
filter:
过滤数据包的功能上可以针对:
INPUT:
传送到本机的封包
OUTPUT:
:
从本机传送出去的封包
FORWARD:
经过本机路由传动给别人的封包
三个规则链设定过滤条件
nat:
网络地址转换的功能上,可以针对:
PREROUTING:
所有收到的数据包,包括传给本机的和经过本机路由传动给别人的数据包。
OUTPUT:
从本机传送出去的数据包
POSTROUTING:
所有从本机出去,包括从本机传送出去的数据包和经过本机路由传送给别人的数据包。
三个规则链设定过滤条件
mangle:
改变数据包的内容的功能上,可以针对:
PREROUTING:
所有收到的封包,包括传给本机的和经过本机路由传动给别人的封包
OUTPUT:
从本机传送出去的封包
三个规则链设定过滤条件,来设定要改变的封包的内容
明白了以上的规则链后,再来看看netfilter过滤数据包的流程
当一个数据包从网卡进入之后,首先会经过PREROUTING,数据包经过PREROUTING的处理后,系统才会判断这个数据包的目的地。
是送到本机的数据包,还是只是经过本机路由的数据包。
1、如果要路由到其他主机封包的话,就或经过FORWARD,并判断在FORWARD有没有过滤条件,数据包经过FORWARD的处理后,在送到POSTROUTING,并判断在POSTROUTING中有没有过滤条件,经POSTROUTING处理后,数据包从另一个网卡传送出去。
如图02所示:
2、如果数据包送到本机,则会经过INPUT,并判断在INPUT中有没有过滤条件,依据数据包中的内容,传送到相关的服务器使用的端口,当这个数据包处理完成之后,系统会回应一个报数据包给来源的主机,这个时候会经过OUTPUT,并判断OUTPUT中有没有相应的过滤条件,经过OUTPUT的处理后,在送到POSTROUTING,并判断在POSTROUTING中有没有过滤条件,经过POSTROUTING处理后,数据包从另一个网卡传送出去。
如图03所示:
了解以上的netfilter的处理数据的流程以后,我们要作的就是要添加处理数据包的规则了,规则是防火墙中最基本的设置,用于对防火墙的策略的设置,经过某个数据链的时候,都要按照这个数据链中的先后顺序经过规则的过滤。
如图04所示,一个数据包的过滤规则:
iptable的基本配置
在Linux的网络防火墙的管理中,防火墙的功能由内核实现,而管理需要使用iptables,所以要使用iptables软件包,这个软件包默认是安装了的。
在RHEL5.1中,系统中默认是以iptables的服务程序运行。
服务的启动脚本是/etc/rc.d/init.d/iptables文件,如图05所示
然后查看iptables的启动状态,如图06所示:
表示现在的iptables服务正在运行。
有的时候需要临时的关闭防火墙,可以通过iptables服务的启动和停止来设置:
如图07所示,关闭防火墙:
如图08所示,开启防火墙:
还可以通过图形界面的方式来启动和关闭防火墙:
如图9所示:
执行指令:
system-config-securitylevel
或者执行指令:
system-config-securitylevel-tui,如图10所示:
都可以用来启动和关闭防火墙
以上都属于iptables的一些基本的配置。
现在来看看防火墙的一些基本运行状态,这个时候,我们就使用到iptables的指令了,使用iptables-L指令显示默认的filter规则表的内容,如图11所示:
---------------------------------
防火墙的配置
以上的基本操作熟悉了之后,现在来开始防火墙的配置。
如果服务器在本地,我们可以直接使用指令system-config-securitylevel,开启图形化的配置界面,如图12所示:
如果我们需要开启某些服务让客户端访问,那么我们可以在信任的服务中选择所要开启的服务。
如果提供的服务不再这个列表中,那么在其他端口中可以添加相应的端口,就可以了。
这里我们主要配置的是在文本界面下使用iptables指令来对防火墙进行配置。
这种方法一般都是在远程配置的时候,作用很大,不过有一些小小的毛病,就是有可能把自己挡在外面,自己也无法进入,如果是这样,我们一般的原则是现在本地作一些基本的配置,
1、清空防火墙的所有信息,使用指令,iptable-F,如图13所示:
使用iptables-L指令显示默认的filter规则表的内容,发现表中的信息都没有了。
由于主机的安全性主要几种在filter表中的INPUT和OUTPUT规则链,所以以下的大部分都是针对这表来作配置。
iptables的语法:
iptables[-ttables]-[L/F/X][chain][options]
在默认的情况下如果不是用-t参数指定表,那么默认是针对filter进行操作,可以在-t参数后面跟上表的明来指定对某个表进行操作。
可以跟上filter、nat、mangle三个表。
-L:
显示规则表的内容
-F:
清空防火墙的所有信息
-X:
删除所有自定义的规则链
china:
就是指的针对规则表中的那个规则链进行操作。
options:
可以是对数据报操作的过程,也可以没有。
--------------------------------------
添加第一条规则
如图14所示:
iptales-AINPUT-ilo-jACCEPT
先分析以下这个语句:
-AINPUT:
表示在规则链中增加一条过则,在添加规则的时候需要指定在那条规则链中增加规则,所以在这里的IUPUT,就表示在IUPUT这条规则链中增加规则。
如果是-D,表示删除规则链中的规则。
-ilo:
表示数据包的流入网络接口,lo表示本地的网络回环接口。
如果是物理网卡,则为eth0。
-jACCEPT:
表示允许数据包通过,如果是-jDROP则将数据报丢弃。
iptables-L-v:
表示显示filter表中的详细信息
如图15所示:
表示eth0网络接口接受所有来自192.168.0.0/24这个网段中所有的数据包
如果我们需要RHEL5.1提供的网络服务可以为一些客户端服务,那么我们就必须开放相应的端口,那么就需要在iptables中要指定协议并指定端口。
如图16所示:
-ptcp:
表示数据包所使用的协议
--dport80:
表示开放80端口,也就是web服务,可以更具需要来更改这个端口。
完整的设置是这样的:
要拒绝来至192.168.0.0/24这个网段的数据包,就可以这样处理:
iptables-tfilter-AINPUT-s192.168.0.0/24-d127.0.0.1-jDROP
-t:
table
filter:
表示将这个策略设置在fulter表中
-s:
source:
数据包的来源
-d:
数据包的目标
-------------------------------
默认策略
如图04的数据包的过滤规则中,最后一般有一个默认策略,当所有的策略都不符合数据包的内容的时候,就采用默认策略。
可以使用-P,来指定规则链的默认策略,如图17所示:
这样就设置了当不符合所有的策略的时候,就拒绝这个数据包。
最后就是保存这些设置的策略了,如果不保存,那么这些策略在下次重新启动的时候,就没有了。
如图18所示,这样就将所有的策略保存在配置文件中。
技巧:
由于设置策略的时候,一条一条的设置策略非常的麻烦,通常是将所有的策略放置在一个脚本文件中,这样,每次设置防火墙的时候,我们先修改这个脚本文件,然后在执行这个脚本文件就可以了,例如一个脚本文件的样本如下:
#!
/bin/bash
iptables-F
iptables-X
iptables-PINPUTDROP
iptables-AINPUT-ilo-jACCEPT
iptables-AINPUT-ieth0-s192.168.0.0/24-jACCEPT
iptables-AINPUT-ieth0-ptcp--dport80-jACCEPT
iptables-save
八、课程小结
通过本节课的学习,使学生了解IPtables防火墙应用配置。
九、作业
实验IPtables防火墙应用配置。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第13周 iptables防火墙 13 iptables 防火墙