收藏 分享(赏)

项目14 Linux防火墙与squid代理服务器的搭建.ppt

上传人:j35w19 文档编号:8293068 上传时间:2019-06-18 格式:PPT 页数:71 大小:1.16MB
下载 相关 举报
项目14 Linux防火墙与squid代理服务器的搭建.ppt_第1页
第1页 / 共71页
项目14 Linux防火墙与squid代理服务器的搭建.ppt_第2页
第2页 / 共71页
项目14 Linux防火墙与squid代理服务器的搭建.ppt_第3页
第3页 / 共71页
项目14 Linux防火墙与squid代理服务器的搭建.ppt_第4页
第4页 / 共71页
项目14 Linux防火墙与squid代理服务器的搭建.ppt_第5页
第5页 / 共71页
点击查看更多>>
资源描述

1、Linux系统管理与网络服务,Linux系统管理与网络服务教材配套的光盘为师生双方提供了丰富的教学资源。主要包括:课程标准(教学大纲)、教学设计方案(教案)、PPT课件、项目习作参考答案、配套软件清单及下载地址、模拟试卷及评分标准和参考答案(4套)、网络管理员职责、相关认证考试介绍与往年试卷、知识拓展资料、网络工程案例与解决方案。 教材主编:夏笠芹 出版社:,项目14 防火墙与squid代理服务器的搭建,【职业知识目标】 了解:防火墙的基本概念、分类与作用;Squid代理服务器的分类及特点 熟悉:Linux防火墙的架构及包过滤的匹配流程 掌握:iptables命令的格式和使用;NAT的配置方法

2、; 【职业能力目标】 会安装iptables软件包; 能使用iptables命令设置包过滤规则 会配置NAT服务 会安装Squid软件包 会架设普通代理、透明代理和反向代理服务器 会在客户端测试iptables和Squid的配置情况,14.1 项目背景,信息安全始终是企业信息化中一个不可忽视的重要方面;而如何在保障企事业内部网络安全的同时为内网和外网(互联网)的用户提供高效、安全、稳定可靠的访问服务,是网络管理员所考虑的问题。RHEL 5内置的iptables防火墙和代理服务器则为我们提供了一种物美价廉的解决方案。,14.2 项目知识准备,14.2.1 认识防火墙(firewall) 1什么是

3、防火墙 防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。 它是不同网络或网络安全域之间信息的唯一出入口,能根据企业的安全策略控制(允许、拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力。 在逻辑上,防火墙是一个分离器、限制器和分析器,它能有效地监控内部网和Internet之间的任何活动,保证了内部网络的安全。,2. 防火墙的功能 过滤进出网络的数据包,封堵某些禁止的访问行为 对进出网络的访问行为作出日志记录,并提供网络使用情况的统计数据,实现对网络存取和访问的监控审计。 对网络攻击进行检测和告警。 防火墙可以保护网络免受基于路由的攻击

4、,如IP选项中的源路由攻击和ICMP重定向中的重定向路径,并通知防火墙管理员。 提供数据包的路由选择和网络地址转换(NAT),从而解决局域网中主机使用内部IP地址也能够顺利访问外部网络的应用需求。,14.2.1 认识防火墙(firewall),3. 防火墙的类型 1)按采用的技术划分 包过滤型防火墙在网络层或传输层对经过的数据包进行筛选。筛选的依据是系统内设置的过滤规则,通过检查数据流中每个数据包的IP源地址、IP目的地址、传输协议(TCP、UDP、ICMP等)、TCP/UDP端口号等因素,来决定是否允许该数据包通过。(包的大小1500字节) 代理服务器型防火墙是运行在防火墙之上的一种应用层服

5、务器程序,它通过对每种应用服务编制专门的代理程序,实现监视和控制应用层数据流的作用。,14.2.1 认识防火墙(firewall),2)按实现的环境划分 软件防火墙:学校、上前台电脑的网吧 普通计算机+通用的操作系统(如:linux) 硬件(芯片级)防火墙:基于专门的硬件平台和固化在ASIC芯片来执行防火墙的策略和数据加解密,具有速度快、处理能力强、性能高、价格比较昂贵的特点(如: NetScreen、FortiNet ) 通常有三个以上网卡接口 外网接口:用于连接Internet网; 内网接口:用于连接代理服务器或内部网络; DMZ接口(非军事化区):专用于连接提供服务的服务器群。,Cons

6、ole口,4个10/100/1000口,并发连接数:500000 网络吞吐量:1100Mbps 过滤带宽 :250Mbps,CheckPoint UTM-1 570,14.2.1 认识防火墙(firewall),14.2.2 Linux防火墙概述,1Linux防火墙的历史 从1.1内核开始,Linux系统就已经具有包过滤功能了,随着Linux内核版本的不断升级,Linux下的包过滤系统经历了如下3个阶段: 在2.0内核中,包过滤的机制是ipfw,管理防火墙的命令工具是ipfwadm。 在2.2内核中,包过滤的机制是ipchain,管理防火墙的命令工具是ipchains。 在2.4之后的内核中,

7、包过滤的机制是netfilter,防火墙的命令工具是iptables。,2Linux防火墙的架构 Linux防火墙系统由以下两个组件组成: netfilter: netfilter是集成在内核中的一部分 作用是定义、保存相应的过滤规则。 提供了一系列的表,每个表由若干个链组成,而每条链可以由一条或若干条规则组成。 netfilter是表的容器,表是链的容器,而链又是规则的容器。 表链规则的分层结构来组织规则 iptables: 是Linux系统为用户提供的管理netfilter的一种工具,是编辑、修改防火墙(过滤)规则的编辑器 通过这些规则及其他配置,告诉内核的netfilter对来自某些源、

8、前往某些目的地或具有某些协议类型的数据包如何处理。 这些规则会保存在内核空间之中。,14.2.2 Linux防火墙概述,表链规则的分层结构来组织规则,14.2.2 Linux防火墙概述,1表(tables) 专表专用 filter表包过滤 含INPUT、FORWARD、OUTPUT三个链, nat表包地址修改:用于修改数据包的IP地址和端口号,即进行网络地址转换。 含PREROUTING、POSTROUTING、OUTPUT三个链, mangle表包重构:修改包的服务类型、生存周期以及为数据包设置Mark标记,以实现Qos(服务质量)、策略路由和网络流量整形等特殊应用。 含PREROUTING

9、、POSTROUTING、INPUT、OUTPUT和FORWARD五个链, raw表数据跟踪:用于数据包是否被状态跟踪机制处理 包含PREROUTING、OUTPUT两个链。,14.2.3iptables规则的分层结构,2链(chains)处理的数据包流向的不同 INPUT链当数据包源自外界并前往防火墙所在的本机(入站)时,即数据包的目的地址是本机时,则应用此链中的规则。 OUTPUT链当数据包源自防火墙所在的主机并要向外发送(出站)时,即数据包的源地址是本机时,则应用此链中的规则。 FORWARD链当数据包源自外部系统,并经过防火墙所在主机前往另一个外部系统(转发)时,则应用此链中的规则。

10、PREROUTING链当数据包到达防火墙所在的主机在作路由选择之前,且其源地址要被修改(源地址转换)时,则应用此链中的规则。 POSTROUTING链当数据包在路由选择之后即将离开防火墙所在主机,且其目的地址要被修改(目的地址转换)时,则应用此链中的规则。 用户自定义链,14.2.3iptables规则的分层结构,3规则(rules) 规则其实就是网管员预定义的过滤筛选数据包的条件。 规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。 当数据包与规则匹配时,iptables就根据规则所定义的动作来处理这些数据包(如放行、丢弃和拒绝等)。 配置防火墙的主要工作就是添加、修改和

11、删除这些规则。 学习防火墙就是学习这些规则如何去写,14.2.3iptables规则的分层结构,14.2.4数据包过滤匹配流程,表间的优先顺序 依次为:raw、mangle、nat、filter 链间的匹配顺序 入站数据:PREROUTING、INPUT 出站数据:OUTPUT、POSTROUTING 转发数据:PREROUTING、FORWARD、POSTROUTING 链内规则的匹配顺序 按顺序依次进行检查,找到相匹配的规则即停止(LOG策略会有例外) 若在该链内找不到相匹配的规则,则按该链的默认策略处理,14.2.5 代理服务器squid,1Squid代理服务器的作用 Squid除了具有

12、防火墙的代理、共享上网等功能外,还有以下特别的作用: 加快访问速度,节约通信带宽 多因素限制用户访问,记录用户行为 2Squid代理服务器的工作流程,3Squid代理服务器的分类及特点 Squid代理服务器按照代理的设置方式可以分为以下三种: 普通(标准)代理服务器 这种代理服务器需要在客户端的浏览器中设置代理服务器的地址和端口号。 透明代理服务器 透明代理是NAT和代理的完美结合,之所以称为透明,是因为在这种方式下用户感觉不到代理服务器的存在,不需要在浏览器或其它客户端工具(如网络快车、QQ、迅雷等)中作任何设置,客户机只需要将默认网关设置为代理服务器的IP地址便可。 反向代理服务器 普通代

13、理和透明代理是为局域网用户访问Internet中的Web站点提供缓存代理,而反向代理恰恰相反,是为Internet中的用户访问企业局域网内的Web站点提供缓存加速。,14.2.5 代理服务器squid,14.3 项目实施,任务14-1 iptables服务的安装 1安装iptables软件包 因为netfilter/iptables的netfilter组件是与内核集成在一起的,所以只需要安装iptables工具,默认情况下系统会安装该软件包,可通过下面命令检查是否已安装: rootServer1 # rpm -qa |grep iptables iptables-ipv6-1.3.5-5.3.

14、el5 iptables-1.3.5-5.3.el5 若输出了版本信息,则表明系统已安装。 若未安装可在RHEL 5安装光盘中找到安装包iptables-1.3.5-5.3.el5.i386.rpm进行安装便可。,2iptables服务的常用管理命令 设置完成后可启动、停止或重启iptables服务了,其有关命令如下: (1)iptables服务的启动、停止或重新启动 service iptables start|stop|restart (2)iptables服务的自动启动 # chkconfig -level 345 iptables on # ntsysv 此命令打开文本图形界面,在ip

15、tables前面选中“*”,确定后即可实现开机自动加载iptables服务,否则取消掉“*”就不自动加载了。,任务14-1 iptables服务的安装,是对防火墙配置管理的核心命令,其基本格式为: iptables -t 表名 命令选项 链名 -匹配条件 -j 目标动作/跳转 其中: 表名、链名用于指定所操作的表和链,若未指定表名,则filter作为缺省表。 命令选项指定管理规则的方式 ,常用的命令选项见表15-1。 匹配条件用于指定对符合什么样的条件的包进行处理,常用条件匹配见表15-2。 目标动作/跳转用来指定内核对数据包的处理方式,如允许通过、拒绝、丢弃或跳转给其他链进行处理等,常用目标

16、动作/跳转见表15-3。,任务14-2 认识iptables命令的基本格式,任务14-2 认识iptables命令的基本格式,任务14-2 认识iptables命令的基本格式,网络层的IP数据包、传输层TCP数据包,任务14-2 认识iptables命令的基本格式,任务14-2 认识iptables命令的基本格式,任务14-3 iptables命令的基本使用,1添加、插入规则 # iptables -t filter -A INPUT -p tcp -j ACCEPT # iptables -I INPUT -p udp -j ACCEPT # iptables -I INPUT 2 -p i

17、cmp -j ACCEPT 2查看规则 # iptables -t filter -L INPUT -line-numbers Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT udp - anywhere anywhere 2 ACCEPT icmp - anywhere anywhere 3 ACCEPT tcp - anywhere anywhere # iptables -vnL INPUT L选项要放在vn后,否则会将vn当成链名,3创建、删除用户自定义链 # iptables -t

18、 filter -N hnwy 在filter表中创建一条用户自定义的链,链名为hnwy。 # iptables -t filter -X 清空filter表中所有自定义的链。 4删除、清空规则 # iptables -D INPUT 3 # iptables -F # iptables -t nat -F,任务14-3 iptables命令的基本使用,5设置内置链的默认策略 当数据包与链中所有规则都不匹配时,将根据链的默认策略来处理数据包。 默认允许的策略:首先默认允许接受所有的输入、输出、转发包,然后拒绝某些危险包。没有被拒绝的都被允许(灵活方便、但安全性不高) # iptables -P

19、 OUTPUT ACCEPT 默认禁止的策略:通常采用默认禁止的策略。首先拒绝所有的输入、输出、转发包,然后根据需要逐个打开要开放的各项服务。没有明确确允许的都被拒绝 (安全性高、但不灵活) # iptables -t filter -P FORWARD DROP,任务14-3 iptables命令的基本使用,6匹配条件的设置 匹配条件是识别不同数据包的依据,它详细描述了数据包的某种特征,以使这个包区别于其它所有的包。 iptables的匹配条件有三类: 通用匹配条件不依赖于其他匹配条件和扩展模块,可直接使用。包括:协议、地址和网络接口匹配 iptables -I FORWARD -s 10.

20、10.1.0/24 -j ACCEPT 允许内网10.10.1.0/24子网里所有的客户机上Internet网 iptables -I INPUT -p icmp -s 172.16.102.36 -j DROP iptables -I INPUT -i eth0 -p icmp -j DROP 禁止Internet上的计算机通过ICMP协议ping到本服务器的上连接公网的网络接口eth0。,任务14-3 iptables命令的基本使用,隐含条件匹配以协议匹配为前提 端口匹配以协议匹配为前提,不能单独使用端口匹配 # iptables -I FORWARD -p tcp -dport 20:2

21、1 -j DROP 禁止内网的10.10.1.0/24子网里所有的客户机使用FTP协议下载 TCP标记匹配 用于检查数据包的TCP标记位(-tcp-flags),以便有选择的过滤不同类型的TCP数据包 使用格式为“-tcp-flags 检查范围 被设置的标记”。 “检查范围”用于指定要检查哪些标记(可识别的标记有:SYN,ACK,FIN,RST,URG,PSH) “被设置的标记”指定在“检查范围”中出现过且被设为1(即状态是打开的)的标记。 #iptables -I INPUT -p tcp -tcp-flags ! SYN,FIN,ACK SYN -j DROP 禁止那些FIN和ACK标记被

22、设置而SYN标记未设置的数据包,任务14-3 iptables命令的基本使用,ICMP类型匹配以 “-p icmp”协议匹配为前提 用于检查ICMP数据包的类型(-icmp-type),以便有选择的过滤不同类型的ICMP数据包。 使用格式为“-icmp-type ICMP类型”。 “ICMP类型”可为:“Echo-Request”、“Echo-Reply”、“Destination-Unreachable”,分别对应ICMP协议的请求、回显、目标不可达数据。 # iptables -A INPUT -p icmp -icmp-type Echo-Request -j DROP # iptabl

23、es -A INPUT -p icmp -icmp-type Echo-Reply -j ACCEPT # iptables -A INPUT -p icmp -icmp-type Destination-Unreachable -j ACCEPT 禁止其他主机ping到本服务器,但允许从本服务器上ping其他主机(允许接收ICMP回应数据包)。,任务14-3 iptables命令的基本使用,显式条件匹配 这种匹配的功能需要由额外的内核模块提供,因此需要在iptables命令中使用“-m 模块关键字”的形式调用相应功能的内核模块。 常见的显式条件匹配有: MAC地址匹配 非连续的多端口匹配 多

24、IP地址匹配 状态检测匹配。 # iptables -I FORWARD -m mac -mac-source 00-19-21-F1-83-C7 -j DROP 禁止转发来自MAC地址为00-19-21-F1-83-C7的主机的数据包。 # iptables -I INPUT -p tcp -m multiport -dport 20,21,53 -j ACCEPT 允许开放本机的20、21、53等TCP端口。,任务14-3 iptables命令的基本使用,7规则的保存与恢复 使用iptables命令手工进行的设置在系统中是即时生效的,但如果不进行保存将在系统下次启动时丢失。 保存防火墙规则

25、 命令1:service iptables save 将当前正在运行的防火墙规则,保存到“/etc/sysconfig/iptables”文件中,文件原有的内容将被覆盖。 iptables每次启动或重启时都使用/etc/sysconfig/iptables文件中所提供的规则进行规则恢复。 在保存防火墙当前配置前应先将原有配置进行备份 cp /etc/sysconfig/iptables iptables.raw,任务14-3 iptables命令的基本使用,命令2:iptables-save 将配置信息显示到标准输出(屏幕)中 命令3:iptables-save 路径/文件名 将显示到标准输出

26、(屏幕)中的当前正在运行的防火墙规则配置信息重定向保存到指定目录的指定文件中。 service iptables save命令等效于iptables-save /etc/sysconfig/iptables命令;使用iptables-save命令可以将多个版本的配置保存到不同的文件中。 # iptables-save /etc/sysconfig/ipt.v1.0 # service iptables save 将当前运行的防火墙规则先后保存到用户指定的配置文件和系统默认的配置文件。,任务14-3 iptables命令的基本使用,恢复防火墙规则 命令:iptables-restore /etc

27、/sysconfig/iptables # service iptables restart,任务14-3 iptables命令的基本使用,禁止某机(物理机)Ping防火墙所在主机(虚拟机) service iptables start 启动防火墙 iptables -F 清空所有规则 iptables -A INPUT -p icmp -s 172.16.102.X -j DROP 禁止除某机以外的其他主机Ping防火墙所在的主机 iptables -D INPUT 1 iptables -A INPUT -p icmp -s ! 172.16.102.X -j DROP 禁止本网段以外的主

28、机ping本机 iptables -D INPUT 1 iptables -A INPUT -s ! 172.16.102.0/24 -p icmp -j DROP 禁止所有人Ping本机 iptables -D INPUT 1 iptables -A INPUT -p icmp -j DROP,实例1管理icmp,任务14-3 iptables命令的基本使用,实例2设置远程登录限制,初始化: iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables F iptables X 仅允许某机17

29、2.16.102.36使用ssh连接防火墙 iptables -A INPUT -s 172.16.102.X -p tcp -dport 22 -j ACCEPT iptables -A OUTPUT -d 172.16.102.X -p tcp -sport 22 -j DROP,任务14-3 iptables命令的基本使用,实例3,作为专门WEB服务器终端的配置 1.初始化防火墙,清除任何以前配置的规则 iptables -F /清除filter规则表中的所有规则 iptables -X /清除filter规则表中的自定义规则链 iptables -Z /将指定表中的数据包计数器和流量计

30、数器归零 2.使客户机能远程登录访问服务器 iptables -A INPUT -p tcp -d 172.16.102.X+60 -dport 22 -j ACCEPT iptables -A OUTPUT -p tcp - s 172.16.102.X+60 -sport 22 -j ACCEPT,任务14-3 iptables命令的基本使用,3. 把所有默认策略设置为DROP iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP 4. 让本机的回环设备可以使用 iptables -I INPUT 1

31、 -i lo -p all -j ACCEPT iptables -I OUTPUT 1 -o lo -j ACCEPT 没有上述两条规则时,系统启动会卡住 5.客户机通过80端口访问WEB服务器 iptables -A INPUT -p tcp -sport 80 -j ACCEPT iptables -A OUTPUT -p tcp -dport 80 -j ACCEPT 6. 使防火墙能够解析进出来的包 iptables -A INPUT -p udp -sport 53 -j ACCEPT iptables -A OUTPUT -p udp -dport 53 -j ACCEPT 7.

32、保存设置 service iptables save,任务14-3 iptables命令的基本使用,请在启动linux系统之前添加第二块网卡 第1步:启动虚拟机软件 第2步:添加第二块网卡 在虚拟机软件菜单上点击“虚拟机” “设置” 点击”添加” 点击“网络适配器” 点击“下一步” 选择“网桥” 点击“完成” ”确定” 第3步:启动RHEL5 第4步:配置IP地址 第一块网卡eth0:172.16.102.X+60 第二块网卡eth1:10.10. 1.X/24 其中:X为物理机网卡IP地址的第4段,任务14-3 iptables命令的基本使用,任务14-4 使用iptables实现NAT服务

33、,公网地址与私网地址 IP地址的分配与管理由ICANN管理机构负责,公网地址必须经申请后才能合法使用。 为解决IP地址资源紧缺问题,IANA机构将IP地址划分了一部分出来,将其规定为私网地址,只能在局域网内使用,不同局域网可重复使用。 可使用的私网地址有: 一个A类地址: 10.0.0.0/8 16个B类地址: 172.16.0.0/16172.31.0.0/16 256个C类地址: 192.168.0.0/16。,1NAT服务的概念及分类 为了解决使用私网地址的局域网用户访问因特网的问题,从而诞生了网络地址转换(NAT)技术。 NAT(Network AddressTranslation,网

34、络地址转换)是一种用另一个地址来替换IP数据包头部中的源地址或目的地址的技术。 通过网络地址转换操作,局域网用户就能透明地访问因特网,通过配置静态地址转换,位于因特网中的主机还能实现对局域网内特定主机的访问。,任务14-4 使用iptables实现NAT服务,目前几乎所有防火墙的软硬件产品都集成了NAT功能,iptables也不例外。 根据NAT替换数据包头部中地址的不同,NAT分为 源地址转换SNAT(IP伪装) 目的地址转换DNAT两大类。,任务14-4 使用iptables实现NAT服务,SNAT策略的原理,未使用SNAT策略时的情况,源地址:10.10.1.1 目标地址:218.29.

35、30.29,HTTP请求,HTTP请求,HTTP应答,源地址:10.10.1.1 目标地址:218.29.30.29,源地址:218.29.30.29 目标地址:10.10.1.1,eth0: 218.29.30.31,Internet中的 Web服务器 218.29.30.29,无法正确路由,路 由 转 发,局域网客户端 10.10.1.1,eth1:10.10.1.254,Linux网关服务器,任务14-4 使用iptables实现NAT服务,SNAT策略的原理,在网关中使用SNAT策略以后,源地址:10.10.1.1 目标地址:218.29.30.29,HTTP请求,HTTP应答,源地址

36、:218.29.30.31 目标地址:218.29.30.29,源地址:218.29.30.29 目标地址:218.29.30.31,Linux网关服务器,Internet中的 Web服务器 218.29.30.29,SNAT 转换,局域网客户端 10.10.1.1,源地址:218.29.30.29 目标地址:10.10.1.1,HTTP请求,eth1:10.10.1.254,eth0:218.29.30.31,任务14-4 使用iptables实现NAT服务,局域网用户的访问请求报文中的源地址是私网地址,报文在进入因特网后,将被因特网中的路由器丢弃。 利用网络地址转换技术,在报文离开局域网的

37、边界路由器进入因特网之前,对报文中的源地址进行替换修改,将其替换修改为某一个合法的公网地址,这样报文就能在因特网中被正常路由和转发了,访问就会获得成功。 这种对报文中的源地址或目的地址进行替换修改的操作,就称为网络地址转换。,任务14-4 使用iptables实现NAT服务,2. 使用SNAT实现使用私网IP的多台主机共享上网 为落实上述SNAT技术的结果,要在NAT服务器上完成以下两个操作:,任务14-4 使用iptables实现NAT服务,步骤1:开启Linux内核IP报文转发功能 允许NAT服务器上的eth0和eth1两块网卡之间能相互转发数据包。其开启方法为: 方法1: 编辑/etc/

38、sysctl.conf配置文件 将“net.ipv4.ip_forward=0”配置项 修改为: net.ipv4.ip_forward=1 # sysctl -p /etc/sysctl.conf 方法2:执行命令: # echo 1 /proc/sys/net/ipv4/ip_forward # sysctl -p /etc/sysctl.conf 使sysctl.conf的修改立即生效,任务14-4 使用iptables实现NAT服务,步骤2:添加使用SNAT策略的防火墙规则 当NAT服务器的外网接口配置的是固定的公网IP地址 # iptables -t nat -A POSTROUTI

39、NG -s 10.10.1.0/24 -o eth0 -j SNAT -to-source 172.16.102.60+X 当NAT服务器通过ADSL拨号方式连接Internet,即外网接口获取的是动态公网IP地址: # iptables -t nat -A POSTROUTING -s 10.10. 1.0/24 -o ppp0 -j MASQUERADE,任务14-4 使用iptables实现NAT服务,DNAT策略的原理,在网关中使用DNAT策略发布内网服务器,源地址:218.29.30.29 目标地址:218.29.30.31,HTTP请求,Internet中的 客户机 218.29.

40、30.29,Linux网关服务器,局域网内的Web服务器 10.10.1.1,HTTP应答,源地址:218.29.30.31 目标地址:218.29.30.29,DNAT 转换,HTTP请求,HTTP应答,源地址:218.29.30.29 目标地址:10.10.1.1,源地址:10.10.1.1 目标地址:218.29.30.29,eth0:218.29.30.31,eth0:218.29.30.31,任务14-4 使用iptables实现NAT服务,3.使用DNAT实现向公网发布私网的应用服务器 步骤1:确认已开启网关的路由转发功能(方法同上) 步骤2:添加使用DNAT策略的防火墙规则。若发

41、布的是Web服务器,其命令如下: # iptables -t nat -A PREROUTING -p tcp -i eth0 -d 172.16.102.60+X -dport 80 -j DNAT -to-destination 10.10.1. X,任务14-4 使用iptables实现NAT服务,NAT配置案例,1、企业环境,注意:内部网的计算机网关要设置为防火墙的内网卡的ip(10.10.1.254),任务14-4 使用iptables实现NAT服务,需求分析,所有内网计算机要访问互联网 Mail和FTP服务器对内部员工开放 对外发布Web站点 管理员通过外网对Web站点进行远程管理

42、 首先删除所有规则设置 将默认规则设置为DROP 然后开启防火墙对于客户端的访问限制,打开WEB、MSN、QQ及MAIL的相应端口 允许外部客户端登录WEB服务器的80、22端口。,任务14-4 使用iptables实现NAT服务,解决方案,1.安装iptables 2.查看本机关于iptables的设置情况 # iptables -L -n 3.清除原有规则不管你在安装linux时是否启动了防火墙,如果你想配置属于自己的防火墙,那就清除现在filter的所有规则. iptables F 清空所选链中的规则,如果没有指定链则清空指定表中所有链的规则 iptables X 清除预设表filter

43、中使用者自定链中的规则 iptables Z 清除预设表filter中使用者自定链中的规则,任务14-4 使用iptables实现NAT服务,4.设置默认策略 iptables P INPPUT DROP iptables P FORWARD DROP iptables P OUTPUT ACCEPT iptables t nat P PREROUTING ACCEPT iptables t nat P OUTPUT ACCEPT iptables t nat P POSTROUTING ACCEPT 设置默认策略为关闭filter表的INPPUT及FORWARD链开启OUTPUT链,nat表

44、的三个链PREROUTING、OUTPUT、POSTROUTING全部开启哈默认全部链都是开启的,所以有些命令可以不操作,另外mangle表本文没用到,所以不做处理,mangle主要用在数据包的特殊变更处理上,比如修改TOS等特性。,任务14-4 使用iptables实现NAT服务,5.设置回环地址 iptables -A INPUT -i lo -j ACCEPT 有些服务的测试需要使用回环地址,为了保证各个服务的正常工作,需要允许回环地址的通信。 6.连接状态设置 iptables -A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPT

45、 为了简化防火墙的配置操作,并提高检查的效率,需要添加连接状态设置 连接跟踪存在四种数据包状态 NEW想要新建连接的数据包 INVALID无效的数据包,例如损坏或者不完整的数据包 ESTABLISHED已经建立连接的数据包 RELATED与已经发送的数据包有关的数据包,任务14-4 使用iptables实现NAT服务,7.设置80端口转发 iptables -A FORWARD -p tcp -dport 80 -j ACCEPT 公司网站需要对外开放,需要开放80端口 8.DNS相关设置 iptables -A FORWARD -p tcp -dport 53 -j ACCEPT iptab

46、les -A FORWARD -p udp -dport 53 -j ACCEPT 为了客户端能够正常使用域名访问互联网,需要允许内网计算机与外部DNS服务器的数据转发。 开启DNS使用UDP、TCP的53端口,任务14-4 使用iptables实现NAT服务,9.允许管理员通过外网进行远程管理,开启22端口 iptables -A INPUT -p tcp -dport 22 -j ACCEPT iptables -A OUTPUT -p tcp -sport 22 -j ACCEPT 10.允许内网主机登录MSN和QQ相关设置 iptables -A FORWARD -p tcp -dpo

47、rt 1863 -j ACCEPT iptables -A FORWARD -p tcp -dport 443 -j ACCEPT iptables -A FORWARD -p tcp -dport 8000 -j ACCEPT iptables -A FORWARD -p udp -dport 8000 -j ACCEPT iptables -A FORWARD -p udp -dport 4000 -j ACCEPT QQ能够使用TCP80、8000、443及UDP8000、4000登录,而MSN通过TCP1863、443验证。因此只需要允许这些端口的FORWARD转发即可以正常登录。,任

48、务14-4 使用iptables实现NAT服务,11.允许内网主机收发邮件 客户端发送邮件时访问邮件服务器的TCP25端口。接收邮件时访问,可能使用的端口则较多,UDP协议以及TCP协议的端口:110、143、993及995 smtp: # iptables -A FORWARD -p tcp -dport 25 -j ACCEPT pop3: # iptables -A FORWARD -p tcp -dport 110 -j ACCEPT # iptables -A FORWARD -p udp -dport 110 -j ACCEPT imap: # iptables -A FORWARD -p tcp -dport 143 -j ACCEPT # iptables -A FORWARD -p udp -dport 143 -j ACCEPT imaps: # iptables -A FORWARD -p tcp -dport 993 -j ACCEPT # iptables -A FORWARD -p udp -dport 993 -j ACCEPT pop3s: # iptables -A FORWARD -p tcp -dport 995 -j ACCEPT # iptables -A FORWARD -p udp -dport 995 -j ACCEPT,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报