资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
BENET3.0第二学期课程,第三章 配置IPTABLES防火墙(二), 理论部分,2,课程回顾,iptables与netfilter的作用及区别是什么? iptables命令的语法格式包括哪些组成部分? 若设置iptables规则时未指定表名,默认使用哪个表? 设置显式匹配条件时,需要注意什么? 防火墙对数据包的常见处理方式包括哪些?,3,技能展示,会使用SNAT策略配置共享上网 会使用DNAT策略发布企业内网的应用服务 会为Linux防火墙增加应用层过滤功能,4,本章结构,SNAT策略及应用,SNAT策略概述,重新编译安装内核,SNAT策略的应用,重新编译安装iptables,配置iptables防火墙(二),DNAT策略及应用,使用layer7应用层过滤功能,DNAT策略概述,DNAT策略的应用,设置应用层过滤规则,5,SNAT策略概述,SNAT策略的典型应用环境 局域网主机共享单个公网IP地址接入Internet SNAT策略的原理 源地址转换,Source Network Address Translation 修改数据包的源IP地址,6,SNAT策略的应用环境,Internet,局域网PC机 192.168.1.100/24,www.google.com 218.29.30.29,eth1: 192.168.1.1/24,eth0: 218.29.30.31/30,Linux网关服务器,7,SNAT策略的原理,未使用SNAT策略时的情况,源地址:192.168.1.100 目标地址:218.29.30.29,HTTP请求,HTTP请求,HTTP应答,源地址:192.168.1.100 目标地址:218.29.30.29,源地址:218.29.30.29 目标地址:192.168.1.100,Linux网关服务器 eth1:192.168.1.1 eth0:218.29.30.31,Internet中的Web服务器 218.29.30.29,无法正确路由,路 由 转 发,局域网客户端 192.168.1.100,8,SNAT策略的原理,在网关中使用SNAT策略以后,源地址:192.168.1.100 目标地址:218.29.30.29,HTTP请求,HTTP应答,源地址:218.29.30.31 目标地址:218.29.30.29,源地址:218.29.30.29 目标地址:218.29.30.31,Linux网关服务器 eth1:192.168.1.1 eth0:218.29.30.31,Internet中的Web服务器 218.29.30.29,SNAT 转换,局域网客户端 192.168.1.100,源地址:218.29.30.29 目标地址:192.168.1.100,HTTP请求,9,SNAT策略的应用,SNAT的应用案例,Internet,局域网PC机 192.168.1.100/24,www.google.com 218.29.30.29/30,eth1: 192.168.1.1/24,eth0: 218.29.30.31/30,Linux网关服务器,10,SNAT策略的应用,前提条件 局域网各主机正确设置IP地址/子网掩码 局域网各主机正确设置默认网关地址 推荐实现步骤 1. 开启网关主机的路由转发功能 2. 添加使用SNAT策略的防火墙规则 规则示例: iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT -to-source 218.29.30.31,来自特定局域网段的数据包,网关主机外网接口的IP地址,需要从接口eth0外出的数据包,在路由选择之后再进行处理,11,SNAT策略的应用,验证SNAT结果 在局域网主机中(192.168.1.100)应能够访问外网的Web服务器(218.29.30.29) 命令行执行 “elinks http:/218.29.30.29” 进行访问 查看外网测试主机(218.29.30.29)的Web访问日志,记录的应为网关主机的公网IP地址(218.29.30.31),rootlocalhost # tail -f /var/log/httpd/access_log 218.29.30.31 - - 04/Jun/2009:14:02:02 +0800 “GET / HTTP/1.1“ 403 3985 “-“ “ELinks/0.11.1 (textmode; Linux; 80x25-2)“,12,网关使用动态公网IP地址的情况,MASQUERADE(地址伪装)策略 只需将 “-j SNAT -to-source 218.29.30.31”的形式改为“-j MASQUERADE”即可 如果是通过ADSL拨号方式连接Internet,则外网接口名称通常为 ppp0、ppp1等 MASQUERADE策略应用示例,rootlocalhost # iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE,13,DNAT策略概述,DNAT策略的典型应用环境 在Internet中发布位于企业局域网内的服务器 DNAT策略的原理 目标地址转换,Destination Network Address Translation 修改数据包的目标IP地址,14,DNAT策略的应用环境,Internet,eth1: 192.168.1.1/24,www.benet.com eth0: 218.29.30.31/30,网站服务器192.168.1.6/24,Linux网关服务器,Internet中的客户机 218.29.30.29,15,DNAT策略的原理,在网关中使用DNAT策略发布内网服务器,源地址:218.29.30.29 目标地址:218.29.30.31,HTTP请求,Internet中的客户机 218.29.30.29,Linux网关服务器 eth0:218.29.30.31 eth1:192.168.1.1,局域网内的Web服务器 192.168.1.6,HTTP应答,源地址:218.29.30.31 目标地址:218.29.30.29,DNAT 转换,HTTP请求,HTTP应答,源地址:218.29.30.29 目标地址:192.168.1.6,源地址:192.168.1.6 目标地址:218.29.30.29,16,DNAT策略的应用,DNAT的应用案例,Internet,eth1: 192.168.1.1/24,www.benet.com eth0: 218.29.30.31/30,网站服务器192.168.1.6/24,Linux网关服务器,Internet中的客户机 218.29.30.29,17,DNAT策略的应用,前提条件 局域网的Web服务器正确设置了IP地址/子网掩码 局域网的Web服务器正确设置了默认网关地址 推荐实现步骤 1. 确认已开启网关的路由转发功能 2. 添加使用DNAT策略的防火墙规则 规则示例: iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp -dport 80 -j DNAT -to-destination 192.168.1.6,访问网关的公网IP地址的数据包,内网中Web服务器的实际IP地址,从外网接口eth0进入的数据包,在路由选择之前进行处理,访问标准Web服务端口的数据包,18,DNAT策略的应用,验证DNAT结果 在外网测试机(218.29.30.29)中,应能够通过浏览器访问网关公网IP地址(218.29.30.31)的80端口 命令行执行 “elinks http:/218.29.30.31”进行访问 实际网页内容由主机 192.168.1.6 提供 查看局域网内Web服务器(192.168.1.6)的Web访问日志,应记录了外网测试机的IP地址(218.29.30.29),rootlocalhost # tail -f /var/log/httpd/access_log 218.29.30.29 - - 04/Jun/2009:14:35:53 +0800 “GET / HTTP/1.1“ 200 15 “-“ “ELinks/0.11.1 (textmode; Linux; 80x25-2)“,19,通过DNAT策略同时修改目标端口号,使用形式 只需要在“-to-destination”后的目标IP地址后面增加“:端口号”即可,即: -j DNAT -to-destination 目标IP:目标端口 通过DNAT策略修改目标端口号的应用示例 从Internet中访问网关主机(218.29.30.31)的 2222 端口时,实际由运行在局域网主机(192.168.1.5)的 22 端口的应用程序提供服务,rootlocalhost # iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp -dport 2222 -j DNAT -to-destination 192.168.1.5:22,20,小结,请思考: SNAT策略的核心用途是什么? DNAT策略的核心用途是什么? SNAT、DNAT策略在企业中包括哪些典型应用? 如果企业的网关主机通过ADSL动态地址接入Internet网络,应如何设置共享上网策略?,21,使用layer7应用层过滤功能,默认 netfilter/iptables 体系的不足 以基于网络层的数据包过滤机制为主,同时提供少量的传输层、数据链路层的过滤功能 难以判断数据包对应于何种应用程序(如QQ、MSN) netfilter-layer7 补丁包的作用 由“L7-filter”项目提供 源码站点位于 http:/l7-filter.sourceforge.net 通过为Linux内核、iptables添加相应的补丁文件,重新编译安装后提供基于应用层(第7层)的扩展功能 通过独立的 l7-protocols 协议包提供对各种应用层数据的特征识别定义,便于更新,22,使用layer7应用层过滤功能,整体实现过程 添加内核补丁,重新编译内核,并以新内核引导系统 添加iptables补丁,重新编译安装iptables 安装l7-protocols协议定义包 使用iptables命令设置应用层过滤规则 使用的软件包列表 Linux内核源码包:linux-2.6.28.8.tar.bz2 iptables源码包:iptables-1.4.2.tar.bz2 layer7补丁源码包:netfilter-layer7-v2.21.tar.gz 协议定义包:l7-protocols-2009-05-10.tar.gz,23,重新编译新内核,释放内核源码包,并合并补丁,rootlocalhost # tar zxvf netfilter-layer7-v2.21.tar.gz -C /usr/src/ rootlocalhost # tar jxvf linux-2.6.28.8.tar.bz2 -C /usr/src/ rootlocalhost # cd /usr/src/linux-2.6.28.8 rootlocalhost linux-2.6.28.8# patch -p1 /netfilter-layer7-v2.21/kernel-2.6.25-2.6.28-layer7-2.21.patch,24,重新编译新内核,配置内核编译参数 复制当前系统使用的内核配
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号