Linux防火墙与NAT服务配置.ppt

上传人:牧羊曲112 文档编号:6511393 上传时间:2023-11-08 格式:PPT 页数:50 大小:1.03MB
返回 下载 相关 举报
Linux防火墙与NAT服务配置.ppt_第1页
第1页 / 共50页
Linux防火墙与NAT服务配置.ppt_第2页
第2页 / 共50页
Linux防火墙与NAT服务配置.ppt_第3页
第3页 / 共50页
Linux防火墙与NAT服务配置.ppt_第4页
第4页 / 共50页
Linux防火墙与NAT服务配置.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《Linux防火墙与NAT服务配置.ppt》由会员分享,可在线阅读,更多相关《Linux防火墙与NAT服务配置.ppt(50页珍藏版)》请在三一办公上搜索。

1、第16章Linux防火墙与NAT服务配置,本章介绍iptables的基本概念和基本功能,以及使用iptables架设包过滤防火墙和NAT服务的方法。学完本章后,你将能够:描述Linux防火墙的基本概念和功能使用iptables配置包过滤防火墙使用iptables配置NAT服务,16.1 Linux防火墙概述16.2 iptables简介16.3 iptables的使用16.4NAT服务,16.1.1 防火墙简介,1.防火墙的功能 防火墙是位于不同网络(如可信的企业内部网和不可信的公共网)或网络安全域之间,对网络进行隔离并实现有条件通信的一系列软件硬件设备的集合。它通过访问控制机制确定哪些内部服

2、务允许外部访问,以及允许哪些外部请求可以访问内部服务。,防火墙系统可以由一台路由器,也可以由一台或一组主机组成。它通常被放置在网络入口处,所有内外部网络通信数据包都必须经过防火墙,接受防火墙的检查,只有符合安全规则的数据才允许通过。通过使用防火墙可以实现以下功能:保护内部网络中易受攻击的服务。控制内外网之间网络系统的访问。隐藏内部网络的IP地址及结构的细节,提高网络的保密性。对网络存取和访问进行监控和审计。集中管理内网的安全性,降低管理成本。,2.防火墙的类型 根据动作方式的不同,通常把防火墙分为包过滤型和应用级网关两大类。包过滤防火墙(Packet Filter)应用级网关(Applicat

3、ion-level Gateway),16.1.2 Linux包过滤防火墙的架构,iptables是一个免费的包过滤防火墙,它伴随着内核的发展而逐渐演变,大致经历了下面4个阶段:在1.1内核中,采用ipfw来操作内核包过滤规则。在2.0内核中,采用ipfwadm来操作内核包过滤规则。在2.2内核中,采用ipchains来控制内核包过滤规则。在2.4内核中(如Red Hat 9.0、RHEL),采用一个全新的内核包过滤管理工具iptables。,iptables只是防火墙与用户之间的接口,真正起到防火墙作用的是Linux内核中运行的netfilter。Linux平台下的包过滤防火墙由netfil

4、ter组件和iptables组件组成,其中netfilter运行在内核态,而iptables运行在用户态,用户通过iptables命令来调用netfilter来实现防火墙的功能。netfilter组件iptables组件,16.1.3 Linux防火墙的安装、启动与关闭,iptables防火墙内置于RHEL 4 AS系统内核中,所以它是随系统的安装而自动安装的。可使用以下命令检查是否已安装:rootrhel4#rpm-q iptables 安装RHEL 4 AS时系统会提示是否开启防火墙,默认情况下将开启防火墙。由于系统的防火墙功能是使用iptables实现的,因此系统会根据用户的设置在ipt

5、ables中添加相应的规则。,如果在安装时选择禁用防火墙,则在安装完成后可在终端命令窗口中执行“setup”命令手工开启,完成以上配置后,可在终端命令窗口中执行如下命令启动iptables防火墙:rootrhel4#service iptables start 清除防火墙规则:确定 把 chains 设置为 ACCEPT 策略:filter 确定 正在卸载 Iiptables 模块:确定 应用 iptables 防火墙规则:确定 将上述命令中的“start”参数变换为“stop”、start”“status”可以分别实现iptables防火墙的关闭、重启和状态的查看。,16.1 Linux防火

6、墙概述16.2 iptables简介16.3 iptables的使用16.4NAT服务,16.2.1 iptables的基本概念,规则 规则(rules)就是网络管理员预先定义的条件,每条规则的定义方式一般是“如果封包符合这样的条件就这样处理该数据包”。链 链(chains)是数据包传输的路径,每一条链中可以有一条或数条规则。表 iptables内置了filter表、nat表和mangle表用于实现包过滤、网络地址转换和包重构的功能。,16.2.2 iptables数据包传输的过程,16.2.3 激活IP包转发功能,如果要把Linux配置成网关防火墙,内核必须打开IP包转发功能(即路由功能),

7、这样一个数据包才能被送到FORWARD链进行规则检查,否则与防火墙相连的两边的网络是完全隔离的。,打开Linux内核包转发功能,可使用以下命令来实现 rootrhel4#echo“1”/proc/sys/net/ipv4/ip_forward 上述命令只是一次性有效,为了让主机每次开机后都自动激活IP数据包转发功能,可以采用编辑配置文件/etc/sysctl.conf的方法,将其中的语句:net.ipv4.ip_forward=0 更改为net.ipv4.ip_forward=1执行如下命令:rootrhel4#sysctl-p即可让系统启动后自动打开内核的包转发功能。,上述操作也可以通过执行

8、下列命令来实现相应功能:rootrhel4#sysctl-w net.ipv4.ip_forward=”1”rootrhel4#sysctl-p还可以/etc/sysconfig/network配置文件中,通过以下配置项来开启内核的包转发功能:FORWARD_IPV4true,16.1 Linux防火墙概述16.2 iptables简介16.3 iptables的使用16.4NAT服务,16.3.1 iptables的命令格式,iptables用于创建、维护和检查Linux内核的IP包过滤规则,利用该命令可创建、删除或更名链,在链中创建或删除规则,设置链的策略等,功能很强大,用法也比较多,其命

9、令基本格式为:iptables-t 表名 命令选项 链 匹配选项 操作选项,1表名选项“-t表名”用来选择要操作的表,表名可以是 filter,nat,mangle三者之一,如该参数缺省则默认为filter表;2命令选项 命令选项用来指定对链或规则的操作,包括插入、删除、添加规则等。,iptables 的主要命令选项,3链名选项“链”指定要操作的链名,各种表中所包含的链名如所述。除使用系统定义的链名外,用户也可自定义链名。4匹配选项 匹配选项指定数据包与规则匹配所应具有的特征,包括源地址、目的地址、传输协议和端口号等。,iptables的主要匹配选项,5操作选项 操作选项用于指定对匹配过滤规则

10、的数据包所进行的处理。其形式为“-j target/jump”,其中“target”是对包的处理动作,“jump”代表一个用户自定义的链名,用于跳转到该链进行规则检查。,iptables的主要目标动作选项,16.3.2 iptables命令的使用,1对链的操作(1)查看链 命令用法:iptables-L 链命令功能:列出指定表的全部链及其规则例【16-1】列出filter表的全部规则链。rootrhel4#iptables-L 若要列出nat表的全部规则链,则操作命令为:rootrhel4#iptables-t nat-L,(2)创建新链命令用法:iptables-N 链名命令功能:以指定的名

11、称创建一个新链例【16-2】创建一个名为mychain的新链。rootrhel4#iptables-Nmychain,(3)删除链 命令用法:iptables-X 链名 命令功能:删除指定的用户自定义链 例【16-3】删除新建的mychain链。rootrhel4#iptables-Xmychain,2对规则的操作(1)添加规则命令用法:iptables-t 表名-A 链名匹配选项-j动作命令功能:向指定链的添加一条规则,该规则将会增加到规则列表的最后一行。例【16-4】向filter表的INPUT链添加一条规则,将来自IP地址为这台主机的数据包都丢弃。rootrhel4#iptables-t

12、 filter-A INPUT-s 192.168.1.1-j DROProotrhel4#iptables-t filter-L INPUT,(2)插入规则 命令用法:iptables-t 表名-I 链名规则号匹配选项-j动作 命令功能:在指定的规则号的前面插入一条规则,原规则将自动后移。若未指定规则号,则默认为1,即插入在所有规则的前面。例【16-5】在第3条规则前插入一条规则,其内容是禁止子网段的所有用户访问本机TCP协议的80端口。rootrhel4#iptables-I INPUT 3-s 192.168.2.0/24-p tcp-dport 80 j DROProotrhel4#i

13、ptables-L INPUT,例【16-6】在第4条规则前插入一条规则,拒绝所有主机PING本机。rootrhel4#iptables I INPUT 4 s 0/0p icmp-icmp-type echo-request j DROProotrhel4#iptables-L INPUTChain INPUT(policy ACCEPT)target prot opt source destinationRH-Firewall-1-INPUT all-anywhere anywhereDROP all-192.168.1.1 anywhereDROP tcp-192.168.2.0/24

14、anywhere tcp dpt:httpDROP icmp-anywhere anywhere icmp echo-requestACCEPT all-192.168.1.1 anywhere 在该命令中,“-s 0/0”用于指定源地址为所有主机,“-icmp-type”用于指定icmp包的类型,“echo-request”代表ping包。,(3)替换规则 命令用法:iptables-t 表名-R 链名规则号匹配选项-j动作 命令功能:将指定编号的规则替换为新的规则。例【16-7】将例【16-5】中的第3条规则替换为允许子网段的所有用户访问本机TCP协议的80端口。rootrhel4#ipt

15、ables-I INPUT 3-s 192.168.2.0/24-p tcp-dport 80 j ACCEPTrootrhel4#iptables-L INPUT,(4)删除规则 命令用法:iptables-t 表名-D 链名匹配选项-j动作 或:iptables-t 表名-D 链名规则号 命令功能:删除指定的规则或指定编号的规则 例【16-8】删除例【16-7】中被替换的第3条规则。ACCEPT或:rootrhel4#iptables-D INPUT 3,(5)设置链的默认策略 命令用法:iptables-t 表名-P 链名 目标动作 命令功能:定义指定链的默认策略,即设置所有过滤规则都不

16、满足的数据包的默认处理方式。例【16-9】将INPUT、FORWARD和OUTPUT链的默认策略设置为ACCEPT。rootrhel4#iptables-P INPUT ACCEPT rootrhel4#iptables-P FORWARD ACCEPT rootrhel4#iptables-P OUTPUT ACCEPT,(6)清除规则链中的所有规则 在新建规则时往往需要清除原有的规则,以免它们影响新设定的规则。如果规则比较多,一条条删除就会十分麻烦这时可以使用iptables提供的清除规则选项达到快速删除所有规则的目的。命令用法:iptables-t 表名-F 链名 命令功能:删除指定链中

17、的全部规则,若未指定链,则删除表中所有链中的规则。例【16-10】清除filter表中INPUT链中的全部规则。rootrhel4#iptables-F INPUT,(7)归零包计数器 命令用法:iptables-t 表名-Z 命令功能:将指定表中的包计数器和流量计数器清零,如不指定表,则默认为filter表。例【16-11】将filter表中的所有包计数器清零。rootrhel4#iptables-Z 若要将nat表中的所有包计数器清零,则实现命令为:rootrhel4#iptables-t nat-Z,3保存与恢复过滤规则 用上述方法所建立的规则会被保存到内核中,在重启系统时,会丢失这些规

18、则。所以如果用户将没有错误且有效的规则集添加到数据包过滤表,则时希望在重启系统之后再次使用这些规则,必须将该规则集保存在文件中。其命令为:rootrhel4#iptables-save/etc/sysconfig/iptables,将数据包过滤表中的所有规则保存到/etc/sysconfig/iptables脚本文件中以后,无论何时重启系统,都可以使用iptables-restore命令将规则集从该脚本文件恢复到数据包过滤表。其命令为:rootrhel4#iptables-restore/etc/sysconfig/iptables 如果用户希望在每次启动系统时自动恢复该规则集,可以将上面指定

19、的这条命令放到任何一个初始化shell脚本中,或如下的命令来保存规则:rootrhel4#service iptables save,16.3.3 防火墙配置实例,iptables配置包过滤防火墙的方法与步骤 1安装RHEL 4 AS服务器2编辑防火墙脚本firewall.sh 3设置脚本具有可执行权限,并执行脚本使配置生效4保存防火墙规则,16.1 Linux防火墙概述16.2 iptables简介16.3 iptables的使用16.4NAT服务,16.4.1 NAT服务概述,1什么是NAT NAT(Network Address Translation,网络地址转换)是一个根据RFC16

20、31开发的IETF标准。NAT就是用来将IP报文头中的目的或源私有地址修改成公有地址的一种设备,利用NAT可实现私有地址与公网地址的相互转换。它还可以和防火墙技术结合使用,将特定的IP地址隐藏起来使外部网络无法直接访问内部网络的特定主机。,2NAT的工作原理,3NAT的类型(1)静态SNAT(Static NAT):SNAT使用一个静态的IP地址映射表来替换修改数据包的源地址或源端口。(2)网络地址端口转换DNAT(Destination-NAT):也称为反向NAT,它会替换修改经过NAT网关的IP数据包的目的IP地址或端口。(3)动态地址NAT(Pooled NAT):使用动态的IP地址映射

21、表来改变数据的源地址或端口。,16.4.2 使用iptables实现NAT服务,1.利用iptables实现SNAT示例,实现NAT转换及防火墙功能的方法与步骤如下:1.配置RHEL 4 AS的内外网网卡。2.编写脚本snat.sh。3.设置脚本snat.sh具有可执行权限,并执行该脚本,使配置生效。4.测试SNAT的功能。,2利用iptables实现DNAT示例,配置方法与步骤如下:1.配置RHEL 4 AS的内外网网卡。2.编写脚本snat.sh。3.设置脚本snat.sh具有可执行权限,并执行该脚本,使配置生效。4.测试DNAT的功能。,本章小结,防火墙是位于不同网络(如可信的企业内部网

22、和不可信的公共网)或网络安全域之间,对网络进行隔离并实现有条件通信的一系列软件硬件设备的集合。其基本功能是分析出入防火墙的数据包,根据IP包头结合防火墙的规则,来决定是否接受或允许数据包通过。根据动作方式的不同,通常把防火墙分为包过滤型和应用级网关两大类。Linux平台下的包过滤防火墙由netfilter组件和iptables组件组成,其中netfilter运行在内核态,而iptables运行在用户态,用户通过iptables命令来调用netfilter来实现防火墙的功能,iptables内置了3个表(tables),即filter表、nat表和mangle表,分别用于实现包过滤、网络地址转换和包重构的功能。每张表中包含若干个链,而每个链由若干条规则组成,配置防火墙的主要工作就是添加、修改和删除这些规则。利用iptables可以配置包过滤防火墙,还可以配置NAT服务。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号