资源预览内容
第1页 / 共74页
第2页 / 共74页
第3页 / 共74页
第4页 / 共74页
第5页 / 共74页
第6页 / 共74页
第7页 / 共74页
第8页 / 共74页
第9页 / 共74页
第10页 / 共74页
亲,该文档总共74页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第1 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024l l课程标准课程标准课程标准课程标准( (教学大纲教学大纲教学大纲教学大纲) )l l教学设计方案教学设计方案教学设计方案教学设计方案( (教案教案教案教案) )l lPPTPPT电子课件电子课件电子课件电子课件l l教材习题参考答案教材习题参考答案教材习题参考答案教材习题参考答案l l模拟试卷及参考答案模拟试卷及参考答案模拟试卷及参考答案模拟试卷及参考答案(4(4套套套套) )l lITIT认证认证认证认证+ +全国技能大赛资料全国技能大赛资料全国技能大赛资料全国技能大赛资料l l知识拓展知识拓展知识拓展知识拓展& &网络工程解决方案网络工程解决方案网络工程解决方案网络工程解决方案“ “十二五十二五十二五十二五” ”职业教育国家规划教材选题立项职业教育国家规划教材选题立项职业教育国家规划教材选题立项职业教育国家规划教材选题立项Red Hat Enterprise Linux 6.4(RHEL 6.4)教材附带的教材附带的光盘资源光盘资源光盘资源光盘资源LinuxLinux网络操作系统配置与管理网络操作系统配置与管理网络操作系统配置与管理网络操作系统配置与管理l l主编主编主编主编:夏笠芹:夏笠芹:夏笠芹:夏笠芹 第第2 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024项目项目项目项目14 14 防火墙与防火墙与防火墙与防火墙与squidsquid代理服务器的搭建代理服务器的搭建代理服务器的搭建代理服务器的搭建【职业知识目标职业知识目标职业知识目标职业知识目标】了解了解了解了解: :防火墙的基本概念、分类与作用;防火墙的基本概念、分类与作用;防火墙的基本概念、分类与作用;防火墙的基本概念、分类与作用;SquidSquid代理服务代理服务代理服务代理服务器的分类及特点器的分类及特点器的分类及特点器的分类及特点熟悉熟悉熟悉熟悉:Linux:Linux防火墙的架构及包过滤的匹配流程防火墙的架构及包过滤的匹配流程防火墙的架构及包过滤的匹配流程防火墙的架构及包过滤的匹配流程掌握掌握掌握掌握:iptables:iptables命令的格式和使用;命令的格式和使用;命令的格式和使用;命令的格式和使用;NATNAT的配置方法;的配置方法;的配置方法;的配置方法;【职业能力目标职业能力目标职业能力目标职业能力目标】会安装会安装iptablesiptables软件包;软件包;软件包;软件包;能使用能使用iptablesiptables命令设置包过滤规则命令设置包过滤规则命令设置包过滤规则命令设置包过滤规则会配置会配置会配置会配置NATNAT服务服务服务服务会安装会安装会安装会安装SquidSquid软件包软件包软件包软件包会架设普通代理、透明代理和反向代理服务器会架设普通代理、透明代理和反向代理服务器会架设普通代理、透明代理和反向代理服务器会架设普通代理、透明代理和反向代理服务器会在客户端测试会在客户端测试会在客户端测试会在客户端测试iptablesiptables和和和和SquidSquid的配置情况的配置情况的配置情况的配置情况第第3 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 202414.1 项目背景项目背景信息安全始终是企业信息化中一个不可忽视的重要信息安全始终是企业信息化中一个不可忽视的重要信息安全始终是企业信息化中一个不可忽视的重要信息安全始终是企业信息化中一个不可忽视的重要方面方面方面方面; ;而如何在保障企事业内部网络安全的同时为内而如何在保障企事业内部网络安全的同时为内而如何在保障企事业内部网络安全的同时为内而如何在保障企事业内部网络安全的同时为内网和外网网和外网网和外网网和外网( (互联网互联网互联网互联网) )的用户提供高效、安全、稳定可的用户提供高效、安全、稳定可的用户提供高效、安全、稳定可的用户提供高效、安全、稳定可靠的访问服务靠的访问服务靠的访问服务靠的访问服务, ,是网络管理员所考虑的问题。是网络管理员所考虑的问题。是网络管理员所考虑的问题。是网络管理员所考虑的问题。RHEL RHEL 5 5内置的内置的内置的内置的iptablesiptables防火墙和代理服务器则为我们提供防火墙和代理服务器则为我们提供防火墙和代理服务器则为我们提供防火墙和代理服务器则为我们提供了一种物美价廉的解决方案。了一种物美价廉的解决方案。了一种物美价廉的解决方案。了一种物美价廉的解决方案。 第第4 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 202414.2 项目知识准备项目知识准备14.2.1 14.2.1 认识防火墙认识防火墙认识防火墙认识防火墙(firewall)(firewall)1 1什么是防火墙什么是防火墙什么是防火墙什么是防火墙 防火墙防火墙防火墙防火墙是指设置在不同网络是指设置在不同网络是指设置在不同网络是指设置在不同网络( (如可信任的企业内部网和不可信的如可信任的企业内部网和不可信的如可信任的企业内部网和不可信的如可信任的企业内部网和不可信的公共网公共网公共网公共网) )或网络安全域之间的一系列部件的组合。或网络安全域之间的一系列部件的组合。或网络安全域之间的一系列部件的组合。或网络安全域之间的一系列部件的组合。它是不同网络或网络安全域之间信息的唯一出入口它是不同网络或网络安全域之间信息的唯一出入口它是不同网络或网络安全域之间信息的唯一出入口它是不同网络或网络安全域之间信息的唯一出入口, ,能根据企业的安能根据企业的安能根据企业的安能根据企业的安全策略控制全策略控制全策略控制全策略控制( (允许、拒绝、监测允许、拒绝、监测允许、拒绝、监测允许、拒绝、监测) )出入网络的信息流出入网络的信息流出入网络的信息流出入网络的信息流, ,且本身具有较强的且本身具有较强的且本身具有较强的且本身具有较强的抗攻击能力。抗攻击能力。抗攻击能力。抗攻击能力。在逻辑上在逻辑上在逻辑上在逻辑上, ,防火墙是一个分离器、限制器和分析器防火墙是一个分离器、限制器和分析器防火墙是一个分离器、限制器和分析器防火墙是一个分离器、限制器和分析器, ,它能有效地监控内它能有效地监控内它能有效地监控内它能有效地监控内部网和部网和部网和部网和InternetInternet之间的任何活动之间的任何活动之间的任何活动之间的任何活动, ,保证了内部网络的安全。保证了内部网络的安全。保证了内部网络的安全。保证了内部网络的安全。 第第5 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20242. 防火墙的功能防火墙的功能过滤进出网络的数据包过滤进出网络的数据包过滤进出网络的数据包过滤进出网络的数据包, ,封堵某些禁止的访问行为封堵某些禁止的访问行为封堵某些禁止的访问行为封堵某些禁止的访问行为对进出网络的访问行为作出日志记录对进出网络的访问行为作出日志记录对进出网络的访问行为作出日志记录对进出网络的访问行为作出日志记录, ,并提供网络使用情并提供网络使用情并提供网络使用情并提供网络使用情况的统计数据况的统计数据况的统计数据况的统计数据, ,实现对网络存取和访问的监控审计。实现对网络存取和访问的监控审计。实现对网络存取和访问的监控审计。实现对网络存取和访问的监控审计。对网络攻击进行检测和告警。对网络攻击进行检测和告警。对网络攻击进行检测和告警。对网络攻击进行检测和告警。防火墙可以保护网络免受基于路由的攻击防火墙可以保护网络免受基于路由的攻击防火墙可以保护网络免受基于路由的攻击防火墙可以保护网络免受基于路由的攻击, ,如如如如IPIP选项中的选项中的选项中的选项中的源路由攻击和源路由攻击和源路由攻击和源路由攻击和ICMPICMP重定向中的重定向路径重定向中的重定向路径重定向中的重定向路径重定向中的重定向路径, ,并通知防火并通知防火并通知防火并通知防火墙管理员。墙管理员。墙管理员。墙管理员。提供数据包的路由选择和网络地址转换提供数据包的路由选择和网络地址转换提供数据包的路由选择和网络地址转换提供数据包的路由选择和网络地址转换(NAT),(NAT),从而解决从而解决从而解决从而解决局域网中主机使用内部局域网中主机使用内部局域网中主机使用内部局域网中主机使用内部IPIP地址也能够顺利访问外部网络的地址也能够顺利访问外部网络的地址也能够顺利访问外部网络的地址也能够顺利访问外部网络的应用需求。应用需求。应用需求。应用需求。14.2.1 认识防火墙认识防火墙(firewall)第第6 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20243. 3. 防火墙的类型防火墙的类型防火墙的类型防火墙的类型1 1)按采用的技术划分)按采用的技术划分)按采用的技术划分)按采用的技术划分包过滤型防火墙包过滤型防火墙包过滤型防火墙包过滤型防火墙在网络层或传输层对经过在网络层或传输层对经过在网络层或传输层对经过在网络层或传输层对经过的数据包进行筛选。筛选的依据是系统内设置的的数据包进行筛选。筛选的依据是系统内设置的的数据包进行筛选。筛选的依据是系统内设置的的数据包进行筛选。筛选的依据是系统内设置的过滤规则,通过检查数据流中每个数据包的过滤规则,通过检查数据流中每个数据包的过滤规则,通过检查数据流中每个数据包的过滤规则,通过检查数据流中每个数据包的IPIP源源源源地址、地址、地址、地址、IPIP目的地址、传输协议目的地址、传输协议目的地址、传输协议目的地址、传输协议(TCP(TCP、UDPUDP、ICMPICMP等等等等) )、TCP/UDPTCP/UDP端口号等因素,来决定是否端口号等因素,来决定是否端口号等因素,来决定是否端口号等因素,来决定是否允许该数据包通过。(包的大小允许该数据包通过。(包的大小允许该数据包通过。(包的大小允许该数据包通过。(包的大小15001500字节)字节)字节)字节)代理服务器型防火墙代理服务器型防火墙代理服务器型防火墙代理服务器型防火墙是运行在防火墙之上是运行在防火墙之上是运行在防火墙之上是运行在防火墙之上的一种应用层服务器程序,它通过对每种应用服的一种应用层服务器程序,它通过对每种应用服的一种应用层服务器程序,它通过对每种应用服的一种应用层服务器程序,它通过对每种应用服务编制专门的代理程序,实现监视和控制应用层务编制专门的代理程序,实现监视和控制应用层务编制专门的代理程序,实现监视和控制应用层务编制专门的代理程序,实现监视和控制应用层数据流的作用。数据流的作用。数据流的作用。数据流的作用。14.2.1 认识防火墙认识防火墙(firewall)第第7 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20242 2)按实现的环境划分)按实现的环境划分)按实现的环境划分)按实现的环境划分软件防火墙:软件防火墙:软件防火墙:软件防火墙:学校、上前台电脑的网吧学校、上前台电脑的网吧学校、上前台电脑的网吧学校、上前台电脑的网吧普通计算机普通计算机普通计算机普通计算机+ +通用的操作系统(如:通用的操作系统(如:通用的操作系统(如:通用的操作系统(如:linuxlinux)硬件(芯片级)防火墙硬件(芯片级)防火墙硬件(芯片级)防火墙硬件(芯片级)防火墙:基于专门的硬件平台和固化:基于专门的硬件平台和固化:基于专门的硬件平台和固化:基于专门的硬件平台和固化在在在在ASICASIC芯片来执行防火墙的策略和数据加解密,具有速芯片来执行防火墙的策略和数据加解密,具有速芯片来执行防火墙的策略和数据加解密,具有速芯片来执行防火墙的策略和数据加解密,具有速度快、处理能力强、性能高、价格比较昂贵的特点度快、处理能力强、性能高、价格比较昂贵的特点度快、处理能力强、性能高、价格比较昂贵的特点度快、处理能力强、性能高、价格比较昂贵的特点(如:(如:(如:(如: NetScreenNetScreen、FortiNet FortiNet )通常有三个以上网卡接口通常有三个以上网卡接口通常有三个以上网卡接口通常有三个以上网卡接口外网接口:外网接口:外网接口:外网接口:用于连接用于连接用于连接用于连接InternetInternet网;网;网;网;内网接口:内网接口:内网接口:内网接口:用于连接代理服务器或内部网络;用于连接代理服务器或内部网络;用于连接代理服务器或内部网络;用于连接代理服务器或内部网络;DMZDMZ接口接口接口接口(非军事化区):专用于连接提供服务的服务器群。(非军事化区):专用于连接提供服务的服务器群。(非军事化区):专用于连接提供服务的服务器群。(非军事化区):专用于连接提供服务的服务器群。Console口4个10/100/1000口并发连接数并发连接数并发连接数并发连接数:500000 :500000 网络吞吐量网络吞吐量网络吞吐量网络吞吐量:1100Mbps:1100Mbps过滤带宽过滤带宽过滤带宽过滤带宽 :250Mbps:250Mbps CheckPoint UTM-1 570 14.2.1 认识防火墙认识防火墙(firewall)第第8 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 202414.2.2 Linux防火墙概述防火墙概述1Linux防火墙的历史防火墙的历史从从从从1.11.1内核开始,内核开始,内核开始,内核开始,LinuxLinux系统就已经具有包过滤功能系统就已经具有包过滤功能系统就已经具有包过滤功能系统就已经具有包过滤功能了,随着了,随着了,随着了,随着LinuxLinux内核版本的不断升级,内核版本的不断升级,内核版本的不断升级,内核版本的不断升级,LinuxLinux下的包下的包下的包下的包过滤系统经历了如下过滤系统经历了如下过滤系统经历了如下过滤系统经历了如下3 3个阶段:个阶段:个阶段:个阶段:在在在在2.02.0内核中,包过滤的机制是内核中,包过滤的机制是内核中,包过滤的机制是内核中,包过滤的机制是ipfwipfw,管理防火墙,管理防火墙,管理防火墙,管理防火墙的命令工具是的命令工具是的命令工具是的命令工具是ipfwadmipfwadm。在在在在2.22.2内核中,包过滤的机制是内核中,包过滤的机制是内核中,包过滤的机制是内核中,包过滤的机制是ipchainipchain,管理防,管理防,管理防,管理防火墙的命令工具是火墙的命令工具是火墙的命令工具是火墙的命令工具是ipchainsipchains。在在在在2.42.4之后的内核中,包过滤的机制是之后的内核中,包过滤的机制是之后的内核中,包过滤的机制是之后的内核中,包过滤的机制是netfilternetfilter,防火墙的命令工具是防火墙的命令工具是防火墙的命令工具是防火墙的命令工具是iptablesiptables。第第9 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20242Linux防火墙的架构防火墙的架构LinuxLinux防火墙系统由以下两个组件组成:防火墙系统由以下两个组件组成:防火墙系统由以下两个组件组成:防火墙系统由以下两个组件组成: netfilternetfilter: netfilternetfilter是集成在内核中的一部分是集成在内核中的一部分是集成在内核中的一部分是集成在内核中的一部分作用是定义、保存相应的过滤规则。作用是定义、保存相应的过滤规则。作用是定义、保存相应的过滤规则。作用是定义、保存相应的过滤规则。提供了一系列的表,每个表由若干个链组成,而每条链可以由一提供了一系列的表,每个表由若干个链组成,而每条链可以由一提供了一系列的表,每个表由若干个链组成,而每条链可以由一提供了一系列的表,每个表由若干个链组成,而每条链可以由一条或若干条规则组成。条或若干条规则组成。条或若干条规则组成。条或若干条规则组成。netfilternetfilter是表的容器,表是链的容器,而链又是规则的容器。是表的容器,表是链的容器,而链又是规则的容器。是表的容器,表是链的容器,而链又是规则的容器。是表的容器,表是链的容器,而链又是规则的容器。表表表表链链链链规则规则规则规则的分层结构来组织规则的分层结构来组织规则的分层结构来组织规则的分层结构来组织规则iptablesiptables:是是是是LinuxLinux系统为用户提供的管理系统为用户提供的管理系统为用户提供的管理系统为用户提供的管理netfilternetfilter的一种工具,是编辑、修的一种工具,是编辑、修的一种工具,是编辑、修的一种工具,是编辑、修改防火墙(过滤)规则的编辑器改防火墙(过滤)规则的编辑器改防火墙(过滤)规则的编辑器改防火墙(过滤)规则的编辑器通过这些规则及其他配置,告诉内核的通过这些规则及其他配置,告诉内核的通过这些规则及其他配置,告诉内核的通过这些规则及其他配置,告诉内核的netfilternetfilter对来自某些源、对来自某些源、对来自某些源、对来自某些源、前往某些目的地或具有某些协议类型的数据包如何处理。前往某些目的地或具有某些协议类型的数据包如何处理。前往某些目的地或具有某些协议类型的数据包如何处理。前往某些目的地或具有某些协议类型的数据包如何处理。这些规则会保存在内核空间之中。这些规则会保存在内核空间之中。这些规则会保存在内核空间之中。这些规则会保存在内核空间之中。14.2.2 Linux防火墙概述防火墙概述第第10 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024表表链链规则规则的分层结构来组织规则的分层结构来组织规则14.2.2 Linux防火墙概述防火墙概述第第11 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20241表(表(tables) 专表专用专表专用filter表表包过滤包过滤含含INPUT、FORWARD、OUTPUT三个链,三个链,nat表表包地址修改包地址修改:用于修改数据包的:用于修改数据包的IP地址和端口地址和端口号,即进行网络地址转换。号,即进行网络地址转换。含含PREROUTING、POSTROUTING、OUTPUT三个链,三个链,mangle表表包重构:修改包的服务类型、生存周期以包重构:修改包的服务类型、生存周期以及为数据包设置及为数据包设置Mark标记,以实现标记,以实现Qos(服务质量)、策(服务质量)、策略路由和网络流量整形等特殊应用。略路由和网络流量整形等特殊应用。含含PREROUTING、POSTROUTING、INPUT、OUTPUT和和FORWARD五个链,五个链,raw表表数据跟踪数据跟踪:用于数据包是否被状态跟踪机制处:用于数据包是否被状态跟踪机制处理理包含包含PREROUTING、OUTPUT两个链。两个链。14.2.3iptables规则的分层结构规则的分层结构第第12 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20242链(链(chains)处理的数据包流向的不同处理的数据包流向的不同INPUT链链当数据包源自外界并前往防火墙所在的本机当数据包源自外界并前往防火墙所在的本机(入站)时,即数据包的目的地址是本机时,则应用此链中(入站)时,即数据包的目的地址是本机时,则应用此链中的规则。的规则。OUTPUT链链当数据包源自防火墙所在的主机并要向外发当数据包源自防火墙所在的主机并要向外发送(出站)时,即数据包的源地址是本机时,则应用此链中送(出站)时,即数据包的源地址是本机时,则应用此链中的规则。的规则。FORWARD链链当数据包源自外部系统,并经过防火墙所当数据包源自外部系统,并经过防火墙所在主机前往另一个外部系统(转发)时,则应用此链中的规在主机前往另一个外部系统(转发)时,则应用此链中的规则。则。PREROUTING链链当数据包到达防火墙所在的主机在作当数据包到达防火墙所在的主机在作路由选择之前,且其源地址要被修改(源地址转换)时,则路由选择之前,且其源地址要被修改(源地址转换)时,则应用此链中的规则。应用此链中的规则。POSTROUTING链链当数据包在路由选择之后即将离开防当数据包在路由选择之后即将离开防火墙所在主机,且其目的地址要被修改(目的地址转换)时,火墙所在主机,且其目的地址要被修改(目的地址转换)时,则应用此链中的规则。则应用此链中的规则。用户自定义链用户自定义链14.2.3iptables规则的分层结构规则的分层结构第第13 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20243规则(规则(rules)规则其实就是网管员预定义的过滤筛选数据包的规则其实就是网管员预定义的过滤筛选数据包的规则其实就是网管员预定义的过滤筛选数据包的规则其实就是网管员预定义的过滤筛选数据包的条件。条件。条件。条件。规则一般的定义为规则一般的定义为规则一般的定义为规则一般的定义为“ “如果数据包头符合这样的条如果数据包头符合这样的条如果数据包头符合这样的条如果数据包头符合这样的条件,就这样处理这个数据包件,就这样处理这个数据包件,就这样处理这个数据包件,就这样处理这个数据包” ”。当数据包与规则匹配时,当数据包与规则匹配时,当数据包与规则匹配时,当数据包与规则匹配时,iptablesiptables就根据规则所就根据规则所就根据规则所就根据规则所定义的动作来处理这些数据包(如放行、丢弃和定义的动作来处理这些数据包(如放行、丢弃和定义的动作来处理这些数据包(如放行、丢弃和定义的动作来处理这些数据包(如放行、丢弃和拒绝等)。拒绝等)。拒绝等)。拒绝等)。配置防火墙的主要工作就是添加、修改和删除这配置防火墙的主要工作就是添加、修改和删除这配置防火墙的主要工作就是添加、修改和删除这配置防火墙的主要工作就是添加、修改和删除这些规则。些规则。些规则。些规则。学习防火墙就是学习这些规则如何去写学习防火墙就是学习这些规则如何去写学习防火墙就是学习这些规则如何去写学习防火墙就是学习这些规则如何去写14.2.3iptables规则的分层结构规则的分层结构第第14 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 202414.2.414.2.4数据包过滤匹配流程数据包过滤匹配流程数据包过滤匹配流程数据包过滤匹配流程 表间的优先顺序表间的优先顺序表间的优先顺序表间的优先顺序依次为:依次为:依次为:依次为:rawraw、manglemangle、natnat、filterfilter 链间的匹配顺序链间的匹配顺序链间的匹配顺序链间的匹配顺序入站数据:入站数据:入站数据:入站数据:PREROUTINGPREROUTING、INPUTINPUT出站数据:出站数据:出站数据:出站数据:OUTPUTOUTPUT、POSTROUTINGPOSTROUTING转发数据:转发数据:转发数据:转发数据:PREROUTINGPREROUTING、FORWARDFORWARD、POSTROUTINGPOSTROUTING 链内规则的匹配顺序链内规则的匹配顺序链内规则的匹配顺序链内规则的匹配顺序按顺序依次进行检查,找到相匹配的规则即停止(按顺序依次进行检查,找到相匹配的规则即停止(按顺序依次进行检查,找到相匹配的规则即停止(按顺序依次进行检查,找到相匹配的规则即停止(LOGLOG策略会有例外)策略会有例外)策略会有例外)策略会有例外)若在该链内找不到相匹配的规则,则按该链的默认策略若在该链内找不到相匹配的规则,则按该链的默认策略若在该链内找不到相匹配的规则,则按该链的默认策略若在该链内找不到相匹配的规则,则按该链的默认策略处理处理处理处理第第15 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 202414.2.5 代理服务器代理服务器squid1 1SquidSquid代理服务器的作用代理服务器的作用代理服务器的作用代理服务器的作用Squid除了具有防火墙的代理、共享上网等功能外除了具有防火墙的代理、共享上网等功能外,还有以下还有以下特别的作用特别的作用: 加快访问速度加快访问速度,节约通信带宽节约通信带宽多因素限制用户访问多因素限制用户访问,记录用户行为记录用户行为 2 2SquidSquid代理服务器的工作流程代理服务器的工作流程代理服务器的工作流程代理服务器的工作流程第第16 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20243Squid代理服务器的分类及特点代理服务器的分类及特点Squid代理服务器按照代理的设置方式可以分为以代理服务器按照代理的设置方式可以分为以下三种下三种:普通普通(标准标准)代理服务器代理服务器这种代理服务器需要在客户端的浏览器中设置代理服务器的地址这种代理服务器需要在客户端的浏览器中设置代理服务器的地址和端口号。和端口号。透明代理服务器透明代理服务器透明代理是透明代理是NAT和代理的完美结合和代理的完美结合,之所以称为透明之所以称为透明,是因为在这是因为在这种方式下用户感觉不到代理服务器的存在种方式下用户感觉不到代理服务器的存在,不需要在浏览器或其它不需要在浏览器或其它客户端工具客户端工具(如网络快车、如网络快车、QQ、迅雷等、迅雷等)中作任何设置中作任何设置,客户机只客户机只需要将默认网关设置为代理服务器的需要将默认网关设置为代理服务器的IP地址便可。地址便可。反向代理服务器反向代理服务器普通代理和透明代理是为局域网用户访问普通代理和透明代理是为局域网用户访问Internet中的中的Web站点站点提供缓存代理提供缓存代理,而反向代理恰恰相反而反向代理恰恰相反,是为是为Internet中的用户访问企中的用户访问企业局域网内的业局域网内的Web站点提供缓存加速。站点提供缓存加速。14.2.5 代理服务器代理服务器squid第第17 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 202414.3 项目实施项目实施任务任务任务任务14-1 iptables14-1 iptables服务的安装服务的安装服务的安装服务的安装1 1安装安装安装安装iptablesiptables软件包软件包软件包软件包因为因为因为因为netfilter/iptablesnetfilter/iptables的的的的netfilternetfilter组件是与内核集成组件是与内核集成组件是与内核集成组件是与内核集成在一起的,所以只需要安装在一起的,所以只需要安装在一起的,所以只需要安装在一起的,所以只需要安装iptablesiptables工具,默认情工具,默认情工具,默认情工具,默认情况下系统会安装该软件包,可通过下面命令检查是况下系统会安装该软件包,可通过下面命令检查是况下系统会安装该软件包,可通过下面命令检查是况下系统会安装该软件包,可通过下面命令检查是否已安装:否已安装:否已安装:否已安装:rootdyzx # rpm -qa | grep iptablesiptables-ipv6-1.4.7-9.el6.i686iptables-1.4.7-9.el6.i686若输出了版本信息,则表明系统已安装。若输出了版本信息,则表明系统已安装。若输出了版本信息,则表明系统已安装。若输出了版本信息,则表明系统已安装。若未安装可在若未安装可在若未安装可在若未安装可在RHEL 6RHEL 6安装光盘中找到安装包安装光盘中找到安装包安装光盘中找到安装包安装光盘中找到安装包iptables-iptables-1.4.7-9.el6.i6861.4.7-9.el6.i686.rpm.rpm进行安装便可。进行安装便可。进行安装便可。进行安装便可。 第第18 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20242iptables服务运行管理服务运行管理(1 1)iptablesiptables服务的启动、停止或重新启动服务的启动、停止或重新启动服务的启动、停止或重新启动服务的启动、停止或重新启动service iptables startservice iptables start| |stopstop| |restartrestart(2)iptables服务的自动启动服务的自动启动# # chkconfigchkconfig - -level 345 level 345 iptables oniptables on# # ntsysv ntsysv此命令打开文本图形界面,在此命令打开文本图形界面,在此命令打开文本图形界面,在此命令打开文本图形界面,在iptablesiptables前面选中前面选中前面选中前面选中“*”“*”,确定后即可实现开机自动加载,确定后即可实现开机自动加载,确定后即可实现开机自动加载,确定后即可实现开机自动加载iptablesiptables服服服服务,否则取消掉务,否则取消掉务,否则取消掉务,否则取消掉“*”“*”就不自动加载了。就不自动加载了。就不自动加载了。就不自动加载了。任务任务14-1 iptables服务的安装服务的安装第第19 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024是对防火墙配置管理的核心命令,其基本格式为:是对防火墙配置管理的核心命令,其基本格式为:是对防火墙配置管理的核心命令,其基本格式为:是对防火墙配置管理的核心命令,其基本格式为:iptablesiptables -t -t 表名表名表名表名 命令选项命令选项命令选项命令选项 链名链名链名链名 - -匹配条件匹配条件匹配条件匹配条件 -j -j 目标动作目标动作目标动作目标动作/ /跳转跳转跳转跳转 其中:其中:其中:其中:表名、链名表名、链名表名、链名表名、链名用于指定所操作的表和链,若未指定用于指定所操作的表和链,若未指定用于指定所操作的表和链,若未指定用于指定所操作的表和链,若未指定表名,则表名,则表名,则表名,则filterfilter作为缺省表。作为缺省表。作为缺省表。作为缺省表。命令选项命令选项命令选项命令选项指定管理规则的方式指定管理规则的方式指定管理规则的方式指定管理规则的方式 ,常用的命令选项,常用的命令选项,常用的命令选项,常用的命令选项见表见表见表见表15-115-1。 匹配条件匹配条件匹配条件匹配条件用于指定对符合什么样的条件的包进行用于指定对符合什么样的条件的包进行用于指定对符合什么样的条件的包进行用于指定对符合什么样的条件的包进行处理,常用条件匹配见表处理,常用条件匹配见表处理,常用条件匹配见表处理,常用条件匹配见表15-215-2。目标动作目标动作目标动作目标动作/ /跳转跳转跳转跳转用来指定内核对数据包的处理方式,用来指定内核对数据包的处理方式,用来指定内核对数据包的处理方式,用来指定内核对数据包的处理方式,如允许通过、拒绝、丢弃或跳转给其他链进行处理等,如允许通过、拒绝、丢弃或跳转给其他链进行处理等,如允许通过、拒绝、丢弃或跳转给其他链进行处理等,如允许通过、拒绝、丢弃或跳转给其他链进行处理等,常用目标动作常用目标动作常用目标动作常用目标动作/ /跳转见表跳转见表跳转见表跳转见表15-315-3。任务任务14-2 认识认识iptables命令的基本格式命令的基本格式第第20 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024任务任务14-2 认识认识iptables命令的基本格式命令的基本格式第第21 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024任务任务14-2 认识认识iptables命令的基本格式命令的基本格式第第22 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024网络层的网络层的IP数据包、传输层数据包、传输层TCP数据包数据包任务任务14-2 认识认识iptables命令的基本格式命令的基本格式第第23 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024任务任务14-2 认识认识iptables命令的基本格式命令的基本格式第第24 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024任务任务14-3 iptables命令的基本使用命令的基本使用1添加、插入规则添加、插入规则# iptables -t filter -A INPUT -p tcp -j ACCEPT # iptables -I I INPUT -p udp -j ACCEPT # iptables -I-I INPUT 2 -p icmp -j ACCEPT2查看规则查看规则# iptables -t filter -L INPUT -line-numbersChain INPUT (policy ACCEPT)num target prot opt source destination1 ACCEPT udp - anywhere anywhere2 ACCEPT icmp - anywhere anywhere3 ACCEPT tcp - anywhere anywhere # iptables -vnL INPUTL选项要放在选项要放在vn后,否则会将后,否则会将vn当成链名当成链名第第25 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20243创建、删除用户自定义链创建、删除用户自定义链# iptables -t filter -N hnwy在在filter表中创建一条用户自定义的链,链名为表中创建一条用户自定义的链,链名为hnwy。# iptables -t filter -X 清空清空filter表中所有自定义的链。表中所有自定义的链。4删除、清空规则删除、清空规则# iptables -D INPUT 3 # iptables -F# iptables -t nat -F 任务任务14-3 iptables命令的基本使用命令的基本使用第第26 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20245 5设置内置链的默认策略设置内置链的默认策略设置内置链的默认策略设置内置链的默认策略当数据包与链中所有规则都不匹配时,将根据链的当数据包与链中所有规则都不匹配时,将根据链的当数据包与链中所有规则都不匹配时,将根据链的当数据包与链中所有规则都不匹配时,将根据链的默认策略来处理数据包。默认策略来处理数据包。默认策略来处理数据包。默认策略来处理数据包。默认允许的策略:默认允许的策略:默认允许的策略:默认允许的策略:首先默认允许接受所有的输入、输出、首先默认允许接受所有的输入、输出、首先默认允许接受所有的输入、输出、首先默认允许接受所有的输入、输出、转发包,然后拒绝某些危险包。没有被拒绝的都被允许转发包,然后拒绝某些危险包。没有被拒绝的都被允许转发包,然后拒绝某些危险包。没有被拒绝的都被允许转发包,然后拒绝某些危险包。没有被拒绝的都被允许(灵活方便、但安全性不高)(灵活方便、但安全性不高)(灵活方便、但安全性不高)(灵活方便、但安全性不高)# # iptablesiptables -P -P OUTPUT OUTPUT ACCEPT ACCEPT默认禁止的策略:默认禁止的策略:默认禁止的策略:默认禁止的策略:通常采用默认禁止的策略。通常采用默认禁止的策略。通常采用默认禁止的策略。通常采用默认禁止的策略。首先拒绝首先拒绝首先拒绝首先拒绝所有的输入、输出、转发包,然后根据需要逐个打开要所有的输入、输出、转发包,然后根据需要逐个打开要所有的输入、输出、转发包,然后根据需要逐个打开要所有的输入、输出、转发包,然后根据需要逐个打开要开放的各项服务。开放的各项服务。开放的各项服务。开放的各项服务。没有明确确允许的都被拒绝没有明确确允许的都被拒绝没有明确确允许的都被拒绝没有明确确允许的都被拒绝 (安全性(安全性(安全性(安全性高、但不灵活)高、但不灵活)高、但不灵活)高、但不灵活)# # iptablesiptables -t filter-t filter -P -P FORWARD FORWARD DROP DROP 任务任务14-3 iptables命令的基本使用命令的基本使用第第27 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20246匹配条件的设置匹配条件的设置匹配条件是识别不同数据包的依据,它详细描述了数据包的某匹配条件是识别不同数据包的依据,它详细描述了数据包的某匹配条件是识别不同数据包的依据,它详细描述了数据包的某匹配条件是识别不同数据包的依据,它详细描述了数据包的某种特征,以使这个包区别于其它所有的包。种特征,以使这个包区别于其它所有的包。种特征,以使这个包区别于其它所有的包。种特征,以使这个包区别于其它所有的包。iptablesiptables的匹配条件有三类:的匹配条件有三类:的匹配条件有三类:的匹配条件有三类:通用匹配条件通用匹配条件通用匹配条件通用匹配条件不依赖于其他匹配条件和扩展模块,不依赖于其他匹配条件和扩展模块,不依赖于其他匹配条件和扩展模块,不依赖于其他匹配条件和扩展模块,可直接使用。包括:协议、地址和网络接口匹配可直接使用。包括:协议、地址和网络接口匹配可直接使用。包括:协议、地址和网络接口匹配可直接使用。包括:协议、地址和网络接口匹配iptablesiptables -I -I -I -I FORWARD FORWARD -s 10.10.1.0/24-s 10.10.1.0/24 -j -j ACCEPTACCEPT允许内网允许内网允许内网允许内网10.10.1.0/2410.10.1.0/24子网里所有的客户机上子网里所有的客户机上子网里所有的客户机上子网里所有的客户机上InternetInternet网网网网iptablesiptables -I -I -I -I INPUT INPUT -p icmp-p icmp -s 172.16.102.36-s 172.16.102.36 -j DROP-j DROP iptablesiptables -I -I -I -I INPUT INPUT -i eth0-i eth0 -p icmp-p icmp -j DROP-j DROP禁止禁止禁止禁止InternetInternet上的计算机通过上的计算机通过上的计算机通过上的计算机通过ICMPICMP协议协议协议协议pingping到本服务器到本服务器到本服务器到本服务器的上连接公网的网络接口的上连接公网的网络接口的上连接公网的网络接口的上连接公网的网络接口eth0eth0。任务任务14-3 iptables命令的基本使用命令的基本使用第第28 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024隐含条件匹配隐含条件匹配以以协议匹配为前提协议匹配为前提端口匹配端口匹配以协议匹配为以协议匹配为前提前提,不能单独使用端口匹配,不能单独使用端口匹配# iptables -I-I FORWARD -p tcp -dport 20:21 -j DROP禁止内网的禁止内网的10.10.1.0/24子网里所有的客户机使用子网里所有的客户机使用FTP协议下载协议下载TCP标记匹配标记匹配用于检查数据包的用于检查数据包的TCP标记位(标记位(-tcp-flags),以便有选择的以便有选择的过滤不同类型的过滤不同类型的TCP数据包数据包使用格式为使用格式为“-tcp-flags 检查范围检查范围 被设置的标记被设置的标记”。“检查范围检查范围”用于指定要检查哪些标记(可识别的标记有:用于指定要检查哪些标记(可识别的标记有:SYN,ACK,FIN,RST,URG,PSH) “被设置的标记被设置的标记”指定在指定在“检查范围检查范围”中出现过且被设为中出现过且被设为1(即状(即状态是打开的)的标记。态是打开的)的标记。#iptables -I I INPUT -p tcp -tcp-flags ! ! SYN,FIN,ACK SYN -j DROP禁止那些禁止那些FIN和和ACK标记被设置而标记被设置而SYN标记未设置的数据包标记未设置的数据包任务任务14-3 iptables命令的基本使用命令的基本使用第第29 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024ICMPICMP类型匹配类型匹配类型匹配类型匹配以以以以 “ “-p icmp”-p icmp”协议匹配为前提协议匹配为前提协议匹配为前提协议匹配为前提用于检查用于检查用于检查用于检查ICMPICMP数据包的类型(数据包的类型(数据包的类型(数据包的类型(-icmp-type-icmp-type), ,以便有选以便有选以便有选以便有选择的过滤不同类型的择的过滤不同类型的择的过滤不同类型的择的过滤不同类型的ICMPICMP数据包。数据包。数据包。数据包。使用格式为使用格式为使用格式为使用格式为“ “-icmp-type icmp-type ICMPICMP类型类型类型类型” ”。“ “ICMPICMP类型类型类型类型” ”可为:可为:可为:可为:“ “Echo-Request”Echo-Request”、“ “Echo-Echo-Reply”Reply”、“ “Destination-Unreachable”,Destination-Unreachable”,分别对应分别对应分别对应分别对应ICMPICMP协议的请求、回显、目标不可达数据。协议的请求、回显、目标不可达数据。协议的请求、回显、目标不可达数据。协议的请求、回显、目标不可达数据。# # iptablesiptables -A INPUT -A INPUT -p icmp-p icmp -icmp-type Echo-Request -icmp-type Echo-Request -j -j DROPDROP# # iptables iptables -A INPUT -A INPUT -p icmp-p icmp -icmp-type Echo-Reply -icmp-type Echo-Reply -j -j ACCEPTACCEPT# # iptablesiptables -A INPUT -A INPUT -p icmp-p icmp -icmp-type Destination-Unreachable - -icmp-type Destination-Unreachable -j j ACCEPTACCEPT 禁止其他主机禁止其他主机禁止其他主机禁止其他主机pingping到本服务器,但允许从本服务器上到本服务器,但允许从本服务器上到本服务器,但允许从本服务器上到本服务器,但允许从本服务器上pingping其他其他其他其他主机(允许接收主机(允许接收主机(允许接收主机(允许接收ICMPICMP回应数据包)。回应数据包)。回应数据包)。回应数据包)。任务任务14-3 iptables命令的基本使用命令的基本使用第第30 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024显式条件匹配显式条件匹配显式条件匹配显式条件匹配这种匹配的功能需要由额外的内核模块提供,因此需这种匹配的功能需要由额外的内核模块提供,因此需这种匹配的功能需要由额外的内核模块提供,因此需这种匹配的功能需要由额外的内核模块提供,因此需要在要在要在要在iptablesiptables命令中使用命令中使用命令中使用命令中使用“ “-m -m 模块关键字模块关键字模块关键字模块关键字” ”的形式的形式的形式的形式调用相应功能的内核模块。调用相应功能的内核模块。调用相应功能的内核模块。调用相应功能的内核模块。常见的显式条件匹配有:常见的显式条件匹配有:常见的显式条件匹配有:常见的显式条件匹配有:MACMAC地址匹配地址匹配地址匹配地址匹配非连续的多端口匹配非连续的多端口匹配非连续的多端口匹配非连续的多端口匹配多多多多IPIP地址匹配地址匹配地址匹配地址匹配状态检测匹配。状态检测匹配。状态检测匹配。状态检测匹配。# # iptables iptables - -I I I I FORWARD FORWARD -m mac-m mac -mac-source 00-19-21-F1-83-C7 mac-source 00-19-21-F1-83-C7 -j -j DROPDROP禁止转发来自禁止转发来自禁止转发来自禁止转发来自MACMAC地址为地址为地址为地址为00-19-21-F1-83-C700-19-21-F1-83-C7的主机的数据的主机的数据的主机的数据的主机的数据包。包。包。包。# # iptablesiptables - -I INPUTI INPUTI INPUTI INPUT -p tcp-p tcp -m multiport -m multiport -dport 20,21,53-dport 20,21,53 - -j ACCEPTj ACCEPT 允许开放本机的允许开放本机的允许开放本机的允许开放本机的2020、2121、5353等等等等TCPTCP端口。端口。端口。端口。任务任务14-3 iptables命令的基本使用命令的基本使用第第31 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20247 7规则的保存与恢复规则的保存与恢复规则的保存与恢复规则的保存与恢复使用使用使用使用iptablesiptables命令手工进行的设置在系统中是即时生效的,但命令手工进行的设置在系统中是即时生效的,但命令手工进行的设置在系统中是即时生效的,但命令手工进行的设置在系统中是即时生效的,但如果不进行保存将在系统下次启动时丢失。如果不进行保存将在系统下次启动时丢失。如果不进行保存将在系统下次启动时丢失。如果不进行保存将在系统下次启动时丢失。保存防火墙规则保存防火墙规则保存防火墙规则保存防火墙规则命令命令命令命令1 1:service iptables saveservice iptables save将当前正在运行的防火墙规则,保存到将当前正在运行的防火墙规则,保存到将当前正在运行的防火墙规则,保存到将当前正在运行的防火墙规则,保存到“ “/etc/sysconfig/iptables”/etc/sysconfig/iptables”文件中,文件原有的内容将文件中,文件原有的内容将文件中,文件原有的内容将文件中,文件原有的内容将被覆盖。被覆盖。被覆盖。被覆盖。iptablesiptables每次启动或重启时都使用每次启动或重启时都使用每次启动或重启时都使用每次启动或重启时都使用/etc/sysconfig/iptables/etc/sysconfig/iptables文件中所提文件中所提文件中所提文件中所提供的规则进行规则恢复。供的规则进行规则恢复。供的规则进行规则恢复。供的规则进行规则恢复。在保存防火墙当前配置前应先将原有配置进行备份在保存防火墙当前配置前应先将原有配置进行备份在保存防火墙当前配置前应先将原有配置进行备份在保存防火墙当前配置前应先将原有配置进行备份cpcp /etc/sysconfig/iptables/etc/sysconfig/iptables iptables.rawiptables.raw任务任务14-3 iptables命令的基本使用命令的基本使用第第32 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024命令命令2:iptables-save 将配置信息显示到标准输出将配置信息显示到标准输出(屏幕屏幕)中中命令命令3:iptables-save 路径路径/文件名文件名将显示到标准输出(屏幕)中的当前正在运行的防火墙将显示到标准输出(屏幕)中的当前正在运行的防火墙规则配置信息重定向保存到指定目录的指定文件中。规则配置信息重定向保存到指定目录的指定文件中。service iptables save命令等效于命令等效于iptables-save /etc/sysconfig/iptables命令;使用命令;使用iptables-save命令命令可以将多个版本的配置保存到不同的文件中。可以将多个版本的配置保存到不同的文件中。# iptables-save /etc/sysconfig/ipt.v1.0# service iptables save将当前运行的防火墙规则先后保存到用户指定的配置文件和系统将当前运行的防火墙规则先后保存到用户指定的配置文件和系统默认的配置文件。默认的配置文件。任务任务14-3 iptables命令的基本使用命令的基本使用第第33 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024恢复防火墙规则恢复防火墙规则命令:命令:iptables-restore /etc/sysconfig/iptables# service iptables restart任务任务14-3 iptables命令的基本使用命令的基本使用第第34 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024禁止某机禁止某机禁止某机禁止某机(物理机)(物理机)(物理机)(物理机)PingPing防火墙所在主机防火墙所在主机防火墙所在主机防火墙所在主机(虚拟机)(虚拟机)(虚拟机)(虚拟机)service iptables startservice iptables start启动防火墙启动防火墙启动防火墙启动防火墙iptables -Fiptables -F清空所有规则清空所有规则清空所有规则清空所有规则iptablesiptables -A INPUT -p icmp -A INPUT -p icmp -s 172.16.102.-s 172.16.102.X X -j -j DROPDROP禁止除某机以外的其他主机禁止除某机以外的其他主机禁止除某机以外的其他主机禁止除某机以外的其他主机PingPing防火墙所在的主机防火墙所在的主机防火墙所在的主机防火墙所在的主机iptables iptables -D INPUT 1-D INPUT 1 iptablesiptables -A INPUT -p icmp -A INPUT -p icmp -s ! 172.16.102.-s ! 172.16.102.X X -j -j DROPDROP禁止本网段以外的主机禁止本网段以外的主机禁止本网段以外的主机禁止本网段以外的主机pingping本机本机本机本机iptables iptables -D INPUT 1-D INPUT 1 iptablesiptables -A INPUT -A INPUT -s ! 172.16.102.0/24-s ! 172.16.102.0/24 -p icmp -p icmp -j -j DROPDROP禁止所有人禁止所有人禁止所有人禁止所有人PingPing本机本机本机本机iptables iptables -D INPUT 1-D INPUT 1 iptables iptables -A INPUT-A INPUT -p icmp-p icmp -j DROP-j DROP实例实例1管理管理icmp任务任务14-3 iptables命令的基本使用命令的基本使用第第35 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024实例实例2设置远程登录限制设置远程登录限制初始化:初始化:iptables iptables -P INPUT-P INPUT DROP DROPiptables iptables -P OUTPUT -P OUTPUT DROP DROPiptables iptables -P FORWARD-P FORWARD DROP DROPiptablesiptables F Fiptablesiptables X X仅允许某机仅允许某机172.16.102.36使用使用ssh连接防火连接防火墙墙iptablesiptables -A INPUT -A INPUT -s 172.16.102.-s 172.16.102.X X -p tcp -p tcp -dport 22-dport 22 -j -j ACCEPTACCEPTiptablesiptables -A OUTPUT -A OUTPUT -d 172.16.102.-d 172.16.102.X X -p tcp -p tcp -sport 22-sport 22 -j -j DROPDROP任务任务14-3 iptables命令的基本使用命令的基本使用第第36 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024实例实例3作为专门作为专门作为专门作为专门WEBWEB服务器终端的配置服务器终端的配置服务器终端的配置服务器终端的配置 1.1.初始化防火墙,初始化防火墙,初始化防火墙,初始化防火墙,清除任何以前配置的规则清除任何以前配置的规则清除任何以前配置的规则清除任何以前配置的规则iptables -F iptables -F / /清除清除清除清除filterfilter规则表中的所有规则规则表中的所有规则规则表中的所有规则规则表中的所有规则iptables -X iptables -X / /清除清除清除清除filterfilter规则表中的自定义规则规则表中的自定义规则规则表中的自定义规则规则表中的自定义规则链链链链iptables -Z iptables -Z / /将指定表中的数据包计数器和流量计数器归零将指定表中的数据包计数器和流量计数器归零将指定表中的数据包计数器和流量计数器归零将指定表中的数据包计数器和流量计数器归零 2.2.使客户机能远程登录访问服务器使客户机能远程登录访问服务器使客户机能远程登录访问服务器使客户机能远程登录访问服务器 iptables iptables -A INPUT-A INPUT -p tcp -p tcp -d 172.16.102.-d 172.16.102.X+60 X+60 -dport 22-dport 22 - -j ACCEPTj ACCEPTiptables iptables -A OUTPUT-A OUTPUT -p tcp -p tcp - s 172.16.102.- s 172.16.102.X+60 X+60 -sport -sport 2222 -j ACCEPT -j ACCEPT 任务任务14-3 iptables命令的基本使用命令的基本使用第第37 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20243. 3. 把所有默认策略设置为把所有默认策略设置为把所有默认策略设置为把所有默认策略设置为DROP DROP iptables iptables -P INPUT-P INPUT DROP DROPiptables iptables -P OUTPUT -P OUTPUT DROP DROPiptables iptables -P FORWARD-P FORWARD DROP DROP4. 4. 让本机的回环设备可以使用让本机的回环设备可以使用让本机的回环设备可以使用让本机的回环设备可以使用iptables iptables - -I I I I INPUT 1 INPUT 1 -i lo -i lo -p all-p all -j ACCEPT -j ACCEPTiptables iptables - -I I I I OUTPUT 1OUTPUT 1 -o lo -o lo -j ACCEPT-j ACCEPT没有上述两条规则时,系统启动会卡住没有上述两条规则时,系统启动会卡住没有上述两条规则时,系统启动会卡住没有上述两条规则时,系统启动会卡住5.5.客户机通过客户机通过客户机通过客户机通过8080端口访问端口访问端口访问端口访问WEBWEB服务器服务器服务器服务器 iptables iptables -A INPUT-A INPUT -p tcp -p tcp -sport 80-sport 80 -j ACCEPT -j ACCEPTiptables iptables -A OUTPUT-A OUTPUT -p tcp -p tcp -dport 80-dport 80 -j ACCEPT -j ACCEPT 6. 6. 使防火墙能够解析进出来的包使防火墙能够解析进出来的包使防火墙能够解析进出来的包使防火墙能够解析进出来的包iptables iptables -A INPUT-A INPUT -p udp -p udp -sport 53-sport 53 -j ACCEPT -j ACCEPTiptables iptables -A OUTPUT-A OUTPUT -p udp -p udp -dport 53-dport 53 -j ACCEPT -j ACCEPT7.7.保存设置保存设置保存设置保存设置service service iptablesiptables save save任务任务14-3 iptables命令的基本使用命令的基本使用第第38 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024请在启动请在启动linux系统之前添加第二块网卡系统之前添加第二块网卡第第第第1 1步步步步:启动虚拟机软件:启动虚拟机软件:启动虚拟机软件:启动虚拟机软件第第第第2 2步步步步:添加第二块网卡:添加第二块网卡:添加第二块网卡:添加第二块网卡在虚拟机软件菜单上点击在虚拟机软件菜单上点击在虚拟机软件菜单上点击在虚拟机软件菜单上点击“虚拟机虚拟机虚拟机虚拟机” “设置设置设置设置” 点击点击点击点击”添加添加添加添加” 点击点击点击点击“网络适配器网络适配器网络适配器网络适配器” 点击点击点击点击“下一下一下一下一步步步步” 选择选择选择选择“网桥网桥网桥网桥” 点击点击点击点击“完成完成完成完成” ”确定确定确定确定”第第第第3 3步步步步:启动:启动:启动:启动RHEL5RHEL5第第第第4 4步步步步:配置:配置:配置:配置IPIP地址地址地址地址第一块网卡第一块网卡第一块网卡第一块网卡eth0eth0:172.16.102.172.16.102.X X+60+60第二块网卡第二块网卡第二块网卡第二块网卡eth1eth1:10.10. 1.10.10. 1.X X/24/24其中:其中:其中:其中:X X为物理机网卡为物理机网卡为物理机网卡为物理机网卡IPIP地址的第地址的第地址的第地址的第4 4段段段段任务任务14-3 iptables命令的基本使用命令的基本使用第第39 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024任务任务14-4 使用使用iptables实现实现NAT服务服务 公网地址与私网地址公网地址与私网地址IPIP地址的分配与管理由地址的分配与管理由地址的分配与管理由地址的分配与管理由ICANNICANN管理机构负责,公网管理机构负责,公网管理机构负责,公网管理机构负责,公网地址必须经申请后才能合法使用。地址必须经申请后才能合法使用。地址必须经申请后才能合法使用。地址必须经申请后才能合法使用。为解决为解决为解决为解决IPIP地址资源紧缺问题,地址资源紧缺问题,地址资源紧缺问题,地址资源紧缺问题,IANAIANA机构将机构将机构将机构将IPIP地址划地址划地址划地址划分了一部分出来,将其规定为私网地址,只能在局分了一部分出来,将其规定为私网地址,只能在局分了一部分出来,将其规定为私网地址,只能在局分了一部分出来,将其规定为私网地址,只能在局域网内使用,不同局域网可重复使用。域网内使用,不同局域网可重复使用。域网内使用,不同局域网可重复使用。域网内使用,不同局域网可重复使用。可使用的私网地址有:可使用的私网地址有:可使用的私网地址有:可使用的私网地址有:一个一个一个一个A A类地址:类地址:类地址:类地址: 10.0.0.0/810.0.0.0/81616个个个个B B类地址:类地址:类地址:类地址: 172.16.0.0/16172.31.0.0/16172.16.0.0/16172.31.0.0/16256256个个个个C C类地址:类地址:类地址:类地址: 192.168.0.0/16192.168.0.0/16。第第40 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20241 1NATNAT服务的概念及分类服务的概念及分类服务的概念及分类服务的概念及分类 为了解决使用私网地址的局域网用户访问因特网为了解决使用私网地址的局域网用户访问因特网为了解决使用私网地址的局域网用户访问因特网为了解决使用私网地址的局域网用户访问因特网的问题,从而诞生了网络地址转换(的问题,从而诞生了网络地址转换(的问题,从而诞生了网络地址转换(的问题,从而诞生了网络地址转换(NATNAT)技术。)技术。)技术。)技术。NATNAT(Network AddressTranslationNetwork AddressTranslation,网络地址,网络地址,网络地址,网络地址转换)是一种用另一个地址来替换转换)是一种用另一个地址来替换转换)是一种用另一个地址来替换转换)是一种用另一个地址来替换IPIP数据包头部数据包头部数据包头部数据包头部中的源地址或目的地址的技术。中的源地址或目的地址的技术。中的源地址或目的地址的技术。中的源地址或目的地址的技术。通过网络地址转换操作,局域网用户就能透明地通过网络地址转换操作,局域网用户就能透明地通过网络地址转换操作,局域网用户就能透明地通过网络地址转换操作,局域网用户就能透明地访问因特网,通过配置静态地址转换,位于因特访问因特网,通过配置静态地址转换,位于因特访问因特网,通过配置静态地址转换,位于因特访问因特网,通过配置静态地址转换,位于因特网中的主机还能实现对局域网内特定主机的访问。网中的主机还能实现对局域网内特定主机的访问。网中的主机还能实现对局域网内特定主机的访问。网中的主机还能实现对局域网内特定主机的访问。任务任务14-4 使用使用iptables实现实现NAT服务服务 第第41 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024目前几乎所有防火墙的软硬件产品都集成了目前几乎所有防火墙的软硬件产品都集成了NAT功功能,能,iptables也不例外。也不例外。根据根据NAT替换数据包头部中地址的不同,替换数据包头部中地址的不同,NAT分为分为源地址转换源地址转换SNAT(IP伪装)伪装)目的地址转换目的地址转换DNAT两大类。两大类。任务任务14-4 使用使用iptables实现实现NAT服务服务 第第42 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024SNATSNAT策略的原理策略的原理策略的原理策略的原理 未使用未使用未使用未使用SNATSNAT策略时的情况策略时的情况策略时的情况策略时的情况源地址:源地址:10.10.1.1目标地址:目标地址:218.29.30.29HTTP请求请求HTTP请求HTTP应答应答源地址:源地址:10.10.1.1目标地址:目标地址:218.29.30.29源地址:源地址:218.29.30.29目标地址:目标地址:10.10.1.1eth0: 218.29.30.31Internet中的中的Web服务器服务器218.29.30.29无无法法正正确确路路由由路路由由转转发发局局域网客户端域网客户端10.10.1.1eth1:10.10.1.254Linux网关服务器网关服务器任务任务14-4 使用使用iptables实现实现NAT服务服务 第第43 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024SNATSNAT策略的原理策略的原理策略的原理策略的原理 在网关中使用在网关中使用在网关中使用在网关中使用SNATSNAT策略以后策略以后策略以后策略以后源地址:源地址:10.10.1.1目标地址:目标地址:218.29.30.29HTTP请求请求HTTP应答应答源地址:源地址:218.29.30.31目标地址:目标地址:218.29.30.29源地址:源地址:218.29.30.29目标地址:目标地址:218.29.30.31Linux网关服务器网关服务器Internet中的中的Web服务器服务器218.29.30.29SNAT转换局域网客户端局域网客户端10.10.1.1源地址:源地址:218.29.30.29目标地址:目标地址:10.10.1.1HTTP请求请求eth1:10.10.1.254eth0:218.29.30.31任务任务14-4 使用使用iptables实现实现NAT服务服务 第第44 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024局域网用户的访问请求报文中的源地址是私网地址,局域网用户的访问请求报文中的源地址是私网地址,报文在进入因特网后,将被因特网中的路由器丢弃。报文在进入因特网后,将被因特网中的路由器丢弃。利用网络地址转换技术,在报文离开局域网的边界利用网络地址转换技术,在报文离开局域网的边界路由器进入因特网之前,对报文中的源地址进行替路由器进入因特网之前,对报文中的源地址进行替换修改,将其替换修改为某一个合法的公网地址,换修改,将其替换修改为某一个合法的公网地址,这样报文就能在因特网中被正常路由和转发了,访这样报文就能在因特网中被正常路由和转发了,访问就会获得成功。问就会获得成功。这种对报文中的源地址或目的地址进行替换修改的这种对报文中的源地址或目的地址进行替换修改的操作,就称为网络地址转换。操作,就称为网络地址转换。任务任务14-4 使用使用iptables实现实现NAT服务服务 第第45 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20242. 2. 使用使用使用使用SNATSNAT实现使用私网实现使用私网实现使用私网实现使用私网IPIP的多台主机共享上网的多台主机共享上网的多台主机共享上网的多台主机共享上网为落实上述为落实上述为落实上述为落实上述SNATSNAT技术的结果技术的结果技术的结果技术的结果, ,要在要在要在要在NATNAT服务器上服务器上服务器上服务器上完成以下两个操作完成以下两个操作完成以下两个操作完成以下两个操作: : 任务任务14-4 使用使用iptables实现实现NAT服务服务 第第46 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024步骤步骤步骤步骤1 1:开启:开启:开启:开启LinuxLinux内核内核内核内核IPIP报文转发功能报文转发功能报文转发功能报文转发功能允许允许允许允许NATNAT服务器上的服务器上的服务器上的服务器上的eth0eth0和和和和eth1eth1两块网卡之间能相两块网卡之间能相两块网卡之间能相两块网卡之间能相互转发数据包。其开启方法为:互转发数据包。其开启方法为:互转发数据包。其开启方法为:互转发数据包。其开启方法为:方法方法方法方法1 1:编辑编辑编辑编辑/etc/sysctl.conf/etc/sysctl.conf配置文件配置文件配置文件配置文件将将将将“ “net.ipv4.ip_forward=0”net.ipv4.ip_forward=0”配置项配置项配置项配置项修改为:修改为:修改为:修改为:net.ipv4.ip_forward=1net.ipv4.ip_forward=1# # sysctlsysctl -p-p /etc/sysctl.conf/etc/sysctl.conf方法方法方法方法2 2:执行命令:执行命令:执行命令:执行命令:# # echo 1 /proc/sys/net/ipv4/ip_forward echo 1 /proc/sys/net/ipv4/ip_forward# # sysctlsysctl -p-p /etc/sysctl.conf/etc/sysctl.conf使使使使sysctl.confsysctl.conf的修改立即生效的修改立即生效的修改立即生效的修改立即生效任务任务14-4 使用使用iptables实现实现NAT服务服务 第第47 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024步骤步骤2:添加使用添加使用SNAT策略的防火墙规则策略的防火墙规则当当当当NATNAT服务器的外网接口配置的是固定的公网服务器的外网接口配置的是固定的公网服务器的外网接口配置的是固定的公网服务器的外网接口配置的是固定的公网IPIP地址地址地址地址# # iptables iptables -t nat -t nat -A POSTROUTING-A POSTROUTING -s -s 10.10.1.0/24 10.10.1.0/24 -o eth0-o eth0 -j SNAT -j SNAT -to-source -to-source 172.16.102.172.16.102.60+X60+X当当当当NATNAT服务器通过服务器通过服务器通过服务器通过ADSLADSL拨号方式连接拨号方式连接拨号方式连接拨号方式连接InternetInternet,即,即,即,即外网接口获取的是动态公网外网接口获取的是动态公网外网接口获取的是动态公网外网接口获取的是动态公网IPIP地址:地址:地址:地址:# # iptables iptables -t nat -t nat -A POSTROUTING-A POSTROUTING -s -s 10.10. 1.0/24 -o ppp0 -j MASQUERADE10.10. 1.0/24 -o ppp0 -j MASQUERADE 任务任务14-4 使用使用iptables实现实现NAT服务服务 第第48 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024DNATDNAT策略的原理策略的原理策略的原理策略的原理 在网关中使用在网关中使用在网关中使用在网关中使用DNATDNAT策略发布内网服务器策略发布内网服务器策略发布内网服务器策略发布内网服务器源地址:源地址:218.29.30.29目标地址:目标地址:218.29.30.31HTTP请求请求Internet中的中的客户机客户机218.29.30.29Linux网关服务器网关服务器局域网内的局域网内的Web服务器服务器10.10.1.1HTTP应答应答源地址:源地址:218.29.30.31目标地址:目标地址:218.29.30.29DNAT转转换换HTTP请求请求HTTP应答应答源地址:源地址:218.29.30.29目标地址:目标地址:10.10.1.1源地址:源地址:10.10.1.1目标地址:目标地址:218.29.30.29eth0:218.29.30.31eth0:218.29.30.31任务任务14-4 使用使用iptables实现实现NAT服务服务 第第49 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20243.使用使用DNAT实现向公网发布私网的应用服务器实现向公网发布私网的应用服务器步骤步骤步骤步骤1 1:确认已开启网关的路由转发功能(方法同上)确认已开启网关的路由转发功能(方法同上)确认已开启网关的路由转发功能(方法同上)确认已开启网关的路由转发功能(方法同上)步骤步骤步骤步骤2 2:添加使用添加使用添加使用添加使用DNATDNAT策略的防火墙规则。若发布的是策略的防火墙规则。若发布的是策略的防火墙规则。若发布的是策略的防火墙规则。若发布的是WebWeb服务器,其命令如下:服务器,其命令如下:服务器,其命令如下:服务器,其命令如下: # # iptables iptables -t nat -t nat -A PREROUTING-A PREROUTING -p tcp -p tcp -i -i eth0 eth0 -d -d 172.16.102.60+X 172.16.102.60+X - -dport 80dport 80 -j DNAT -j DNAT - -to-destination to-destination 1010.10.1. .10.1. X X任务任务14-4 使用使用iptables实现实现NAT服务服务 第第50 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024NAT配置案例配置案例1、企业环境、企业环境注意注意:内部网的计算机网关要设置为防火墙内部网的计算机网关要设置为防火墙的内网卡的的内网卡的ip(10.10.1.254)任务任务14-4 使用使用iptables实现实现NAT服务服务 第第51 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024需求分析需求分析所有内网计算机要访问互联网所有内网计算机要访问互联网所有内网计算机要访问互联网所有内网计算机要访问互联网MailMail和和和和FTPFTP服务器对内部员工开放服务器对内部员工开放服务器对内部员工开放服务器对内部员工开放对外发布对外发布对外发布对外发布WebWeb站点站点站点站点管理员通过外网对管理员通过外网对管理员通过外网对管理员通过外网对WebWeb站点进行远程管理站点进行远程管理站点进行远程管理站点进行远程管理首先删除所有规则设置首先删除所有规则设置首先删除所有规则设置首先删除所有规则设置将默认规则设置为将默认规则设置为将默认规则设置为将默认规则设置为DROPDROP然后开启防火墙对于客户端的访问限制,打开然后开启防火墙对于客户端的访问限制,打开然后开启防火墙对于客户端的访问限制,打开然后开启防火墙对于客户端的访问限制,打开WEBWEB、MSNMSN、QQQQ及及及及MAILMAIL的相应端口的相应端口的相应端口的相应端口允许外部客户端登录允许外部客户端登录允许外部客户端登录允许外部客户端登录WEBWEB服务器的服务器的服务器的服务器的8080、2222端口。端口。端口。端口。任务任务14-4 使用使用iptables实现实现NAT服务服务 第第52 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024解决方案解决方案1.1.安装安装安装安装iptablesiptables2.2.查看本机关于查看本机关于查看本机关于查看本机关于iptablesiptables的设置情况的设置情况的设置情况的设置情况 # iptables -L -n # iptables -L -n 3.3.清除原有规则清除原有规则清除原有规则清除原有规则不管你在安装不管你在安装不管你在安装不管你在安装linuxlinux时是否启动了防火墙时是否启动了防火墙时是否启动了防火墙时是否启动了防火墙, ,如果你想如果你想如果你想如果你想配置属于自己的防火墙配置属于自己的防火墙配置属于自己的防火墙配置属于自己的防火墙, ,那就清除现在那就清除现在那就清除现在那就清除现在filterfilter的所有规则的所有规则的所有规则的所有规则. . iptables Fiptables F清空所选链中的规则,如果没有指定链则清空指定表中所有链的清空所选链中的规则,如果没有指定链则清空指定表中所有链的清空所选链中的规则,如果没有指定链则清空指定表中所有链的清空所选链中的规则,如果没有指定链则清空指定表中所有链的规则规则规则规则iptables Xiptables X清除预设表清除预设表清除预设表清除预设表filterfilter中使用者自定链中的规则中使用者自定链中的规则中使用者自定链中的规则中使用者自定链中的规则iptables Ziptables Z清除预设表清除预设表清除预设表清除预设表filterfilter中使用者自定链中的规则中使用者自定链中的规则中使用者自定链中的规则中使用者自定链中的规则任务任务14-4 使用使用iptables实现实现NAT服务服务 第第53 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20244.4.设置默认策略设置默认策略设置默认策略设置默认策略iptables iptables P INPPUTP INPPUT DROP DROPiptables iptables P FORWARDP FORWARD DROPDROPiptables iptables P OUTPUTP OUTPUT ACCEPT ACCEPTiptables iptables t natt nat P PREROUTING P PREROUTING ACCEPTACCEPTiptables iptables t natt nat P OUTPUT P OUTPUT ACCEPTACCEPTiptables iptables t natt nat P POSTROUTING P POSTROUTING ACCEPTACCEPT设置默认策略为关闭设置默认策略为关闭设置默认策略为关闭设置默认策略为关闭filterfilter表的表的表的表的INPPUTINPPUT及及及及FORWARDFORWARD链开启链开启链开启链开启OUTPUTOUTPUT链,链,链,链,natnat表的三个链表的三个链表的三个链表的三个链PREROUTINGPREROUTING、OUTPUTOUTPUT、POSTROUTINGPOSTROUTING全部开启哈全部开启哈全部开启哈全部开启哈 默认全部链都是开启的,所以默认全部链都是开启的,所以默认全部链都是开启的,所以默认全部链都是开启的,所以有些命令可以不操作,另外有些命令可以不操作,另外有些命令可以不操作,另外有些命令可以不操作,另外manglemangle表本文没用到,所以不做表本文没用到,所以不做表本文没用到,所以不做表本文没用到,所以不做处理,处理,处理,处理,manglemangle主要用在数据包的特殊变更处理上,比如修改主要用在数据包的特殊变更处理上,比如修改主要用在数据包的特殊变更处理上,比如修改主要用在数据包的特殊变更处理上,比如修改TOSTOS等特性。等特性。等特性。等特性。 任务任务14-4 使用使用iptables实现实现NAT服务服务 第第54 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20245.5.设置回环地址设置回环地址设置回环地址设置回环地址iptablesiptables -A INPUT -A INPUT -i lo-i lo -j ACCEPT -j ACCEPT有些服务的测试需要使用回环地址,为了保证各个服务的正常工作,有些服务的测试需要使用回环地址,为了保证各个服务的正常工作,有些服务的测试需要使用回环地址,为了保证各个服务的正常工作,有些服务的测试需要使用回环地址,为了保证各个服务的正常工作,需要允许回环地址的通信。需要允许回环地址的通信。需要允许回环地址的通信。需要允许回环地址的通信。6.6.连接状态设置连接状态设置连接状态设置连接状态设置iptables iptables -A INPUT -A INPUT -m state-m state -state ESTABLISHED,RELATED -state ESTABLISHED,RELATED -j -j ACCEPTACCEPT为了简化防火墙的配置操作,并提高检查的效率,需要添加连接状为了简化防火墙的配置操作,并提高检查的效率,需要添加连接状为了简化防火墙的配置操作,并提高检查的效率,需要添加连接状为了简化防火墙的配置操作,并提高检查的效率,需要添加连接状态设置态设置态设置态设置连接跟踪存在四种数据包状态连接跟踪存在四种数据包状态连接跟踪存在四种数据包状态连接跟踪存在四种数据包状态NEWNEW想要新建连接的数据包想要新建连接的数据包想要新建连接的数据包想要新建连接的数据包INVALIDINVALID无效的数据包,例如损坏或者不完整的数据包无效的数据包,例如损坏或者不完整的数据包无效的数据包,例如损坏或者不完整的数据包无效的数据包,例如损坏或者不完整的数据包ESTABLISHEDESTABLISHED已经建立连接的数据包已经建立连接的数据包已经建立连接的数据包已经建立连接的数据包RELATEDRELATED与已经发送的数据包有关的数据包与已经发送的数据包有关的数据包与已经发送的数据包有关的数据包与已经发送的数据包有关的数据包任务任务14-4 使用使用iptables实现实现NAT服务服务 第第55 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20247.7.设置设置设置设置8080端口转发端口转发端口转发端口转发iptablesiptables -A FORWARD-A FORWARD -p tcp-p tcp -dport 80-dport 80 -j -j ACCEPTACCEPT公司网站需要对外开放,需要开放公司网站需要对外开放,需要开放公司网站需要对外开放,需要开放公司网站需要对外开放,需要开放8080端口端口端口端口8.DNS8.DNS相关设置相关设置相关设置相关设置iptablesiptables -A FORWARD-A FORWARD -p tcp -p tcp -dport 53 -dport 53 -j -j ACCEPTACCEPTiptables iptables -A FORWARD-A FORWARD -p udp -p udp -dport 53-dport 53 -j -j ACCEPTACCEPT为了客户端能够正常使用域名访问互联网,需要允许内为了客户端能够正常使用域名访问互联网,需要允许内为了客户端能够正常使用域名访问互联网,需要允许内为了客户端能够正常使用域名访问互联网,需要允许内网计算机与外部网计算机与外部网计算机与外部网计算机与外部DNSDNS服务器的数据转发。服务器的数据转发。服务器的数据转发。服务器的数据转发。开启开启开启开启DNSDNS使用使用使用使用UDPUDP、TCPTCP的的的的5353端口端口端口端口任务任务14-4 使用使用iptables实现实现NAT服务服务 第第56 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 20249.9.允许允许允许允许管理员通过外网进行远程管理管理员通过外网进行远程管理管理员通过外网进行远程管理管理员通过外网进行远程管理, ,开启开启开启开启2222端口端口端口端口iptables iptables -A INPUT-A INPUT -p tcp -p tcp -dport 22-dport 22 -j ACCEPT -j ACCEPTiptablesiptables -A OUTPUT-A OUTPUT -p tcp -p tcp -sport 22-sport 22 -j ACCEPT -j ACCEPT10.10.允许内网主机登录允许内网主机登录允许内网主机登录允许内网主机登录MSNMSN和和和和QQQQ相关设置相关设置相关设置相关设置iptables iptables -A FORWARD-A FORWARD -p tcp -p tcp -dport 1863-dport 1863 -j ACCEPT -j ACCEPTiptables iptables -A FORWARD-A FORWARD -p tcp -p tcp -dport 443-dport 443 -j ACCEPT -j ACCEPTiptables iptables -A FORWARD-A FORWARD -p tcp -p tcp -dport 8000-dport 8000 -j ACCEPT -j ACCEPTiptables iptables -A FORWARD-A FORWARD -p udp -p udp -dport-dport 80008000 -j ACCEPT -j ACCEPTiptables iptables -A FORWARD-A FORWARD -p udp -p udp -dport-dport 40004000 -j ACCEPT -j ACCEPTQQQQ能够使用能够使用能够使用能够使用TCP80TCP80、80008000、443443及及及及UDP8000UDP8000、40004000登录,而登录,而登录,而登录,而MSNMSN通过通过通过通过TCP1863TCP1863、443443验证。因此只需要允许这些端口的验证。因此只需要允许这些端口的验证。因此只需要允许这些端口的验证。因此只需要允许这些端口的FORWARDFORWARD转发即可以正常登录。转发即可以正常登录。转发即可以正常登录。转发即可以正常登录。任务任务14-4 使用使用iptables实现实现NAT服务服务 第第57 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 202411.11.允许内网主机收发邮件允许内网主机收发邮件允许内网主机收发邮件允许内网主机收发邮件客户端发送邮件时访问邮件服务器的客户端发送邮件时访问邮件服务器的客户端发送邮件时访问邮件服务器的客户端发送邮件时访问邮件服务器的TCP25TCP25端口。接收邮件时访问,可能使端口。接收邮件时访问,可能使端口。接收邮件时访问,可能使端口。接收邮件时访问,可能使用的端口则较多,用的端口则较多,用的端口则较多,用的端口则较多,UDPUDP协议以及协议以及协议以及协议以及TCPTCP协议的端口:协议的端口:协议的端口:协议的端口:110110、143143、993993及及及及995995smtp:smtp:# # iptables iptables -A FORWARD-A FORWARD -p tcp -dport 25 -j ACCEPT -p tcp -dport 25 -j ACCEPTpop3:pop3:# iptables # iptables -A FORWARD-A FORWARD -p tcp -p tcp -dport 110-dport 110 -j ACCEPT -j ACCEPT# iptables # iptables -A FORWARD-A FORWARD -p udp -p udp -dport 110-dport 110 -j ACCEPT -j ACCEPTimap:imap:# iptables -# iptables -A FORWARDA FORWARD -p tcp -p tcp -dport 143-dport 143 -j ACCEPT -j ACCEPT# iptables # iptables -A FORWARD-A FORWARD -p udp -p udp -dport 143-dport 143 -j ACCEPT -j ACCEPTimaps:imaps:# iptables # iptables -A FORWARD-A FORWARD -p tcp -p tcp -dport 993-dport 993 -j ACCEPT -j ACCEPT# iptables # iptables -A FORWARD-A FORWARD -p udp -p udp -dport 993-dport 993 -j ACCEPT -j ACCEPTpop3s:pop3s:# iptables -# iptables -A FORWARDA FORWARD -p tcp -p tcp -dport 995-dport 995 -j ACCEPT -j ACCEPT# iptables -# iptables -A FORWARDA FORWARD -p udp -p udp -dport 995-dport 995 -j ACCEPT -j ACCEPT任务任务14-4 使用使用iptables实现实现NAT服务服务 第第58 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 202412.NAT端口映射设置端口映射设置iptables iptables -t nat -t nat -A POSTROUTING -A POSTROUTING -o eth0-o eth0 -s -s 10.10.1.0/24 10.10.1.0/24 -j SNAT -j SNAT -to-source -to-source 172.16.102.209172.16.102.209由于局域网的地址为私网地址,在公网上不合法,所以必须将私网由于局域网的地址为私网地址,在公网上不合法,所以必须将私网由于局域网的地址为私网地址,在公网上不合法,所以必须将私网由于局域网的地址为私网地址,在公网上不合法,所以必须将私网地址转为服务器的外部地址进行地址映射,连接外网接口为地址转为服务器的外部地址进行地址映射,连接外网接口为地址转为服务器的外部地址进行地址映射,连接外网接口为地址转为服务器的外部地址进行地址映射,连接外网接口为eth0 eth0 13.内网机器对外发布内网机器对外发布WEB网站网站iptables iptables -t nat -t nat -A PREROUTING -A PREROUTING -i eth0-i eth0 -p tcp -p tcp -dport -dport 8080 -j DNAT -j DNAT -to-destination-to-destination 10.10.1.1 10.10.1.1内网内网内网内网WEBWEB服务器服务器服务器服务器IPIP地址为地址为地址为地址为10.10.1.110.10.1.1,我们需要进行如下配置,当公,我们需要进行如下配置,当公,我们需要进行如下配置,当公,我们需要进行如下配置,当公网客户端访问服务器时,防火墙将请求映射到内网的网客户端访问服务器时,防火墙将请求映射到内网的网客户端访问服务器时,防火墙将请求映射到内网的网客户端访问服务器时,防火墙将请求映射到内网的10.10.1.110.10.1.1的的的的8080端口端口端口端口任务任务14-4 使用使用iptables实现实现NAT服务服务 第第59 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 202414.禁止访问具体域名和禁止访问具体域名和IP地址地址 # iptables -A FORWARD # iptables -A FORWARD -d urlwww.qq.com/url-d urlwww.qq.com/url -j DROP -j DROP禁止访问禁止访问禁止访问禁止访问QQQQ主页主页主页主页# iptables -A FORWARD # iptables -A FORWARD -d 119.147.15.17-d 119.147.15.17 -j DROP -j DROP禁止访问指定禁止访问指定禁止访问指定禁止访问指定IPIP地址:地址:地址:地址:15.15.禁止禁止禁止禁止INTERNETINTERNET上计算机通过上计算机通过上计算机通过上计算机通过ICMPICMP协议协议协议协议PINGPING到代理到代理到代理到代理服务器的服务器的服务器的服务器的eth0eth0接口接口接口接口#iptables A INPUT #iptables A INPUT -i eth0-i eth0 -p icmp -p icmp -j DROP-j DROP此时,局域网中的计算机还是可以此时,局域网中的计算机还是可以此时,局域网中的计算机还是可以此时,局域网中的计算机还是可以PINGPING通通通通INTERNETINTERNET上的计算机的上的计算机的上的计算机的上的计算机的, ,因为因为因为因为从局域网到从局域网到从局域网到从局域网到INTERNETINTERNET的数据包使用的数据包使用的数据包使用的数据包使用NATNAT方式传输,仅经过方式传输,仅经过方式传输,仅经过方式传输,仅经过PREROUTINGPREROUTING链链链链FORWARDFORWARD链链链链POSTROUTINGPOSTROUTING链链链链链这条通链这条通链这条通链这条通道,并没有经过道,并没有经过道,并没有经过道,并没有经过INPUTINPUT和和和和OUPUTOUPUT链。链。链。链。任务任务14-4 使用使用iptables实现实现NAT服务服务 第第60 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 202416.16.保存与恢复保存与恢复保存与恢复保存与恢复iptablesiptables配置配置配置配置# iptables-save /etc/iptables-save# iptables-save /etc/iptables-save保存保存保存保存# iptables-restore /etc/iptables-save# iptables-restore /proc/sys/net/ipv4/ip_forward步骤步骤3:修改修改squid.conf配置文件配置文件,添加对透明代理的支持添加对透明代理的支持(其他配置项与普其他配置项与普通代理相同通代理相同)。rootproxy # vim /etc/squid/squid.confhttp_port 10.10.1.254:8080 transparent步骤步骤4:检查检查squid.conf配置文件配置文件(当更改过配置文件后最好验证一下配置当更改过配置文件后最好验证一下配置文件的语法正确性文件的语法正确性)Squid服务初始化服务初始化(若前面在普通代理服务中已初始若前面在普通代理服务中已初始化化,在此可省略在此可省略)重新加载修改后的配置文件。重新加载修改后的配置文件。rootproxy # squid -k parserootproxy # squid -zXrootproxy # squid -k reconfigure步骤步骤5:测试。客户端只要设置测试。客户端只要设置IP地址、子网掩码、默认网关地址、子网掩码、默认网关(设置成设置成squid的内部网卡的的内部网卡的IP)及及DNS的的IP地址就可以直接上网了地址就可以直接上网了(浏览器中不要浏览器中不要设置代理设置代理)。第第72 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024任务任务14-9 反向代理服务器的配置反向代理服务器的配置 【例例14-19】学校搭建了学校搭建了Web服务器服务器(10.10.1.1/24),希望让互希望让互联网上的客户能通过反向代理服务器访问校园网内的联网上的客户能通过反向代理服务器访问校园网内的Web服服务器。务器。步骤步骤1:在内网使用在内网使用RHEL6搭建好搭建好Web服务器服务器(10.10.1.1/24),并开放其并开放其80端口。端口。步骤步骤2:在代理服务器上修改在代理服务器上修改squid.conf配置文件配置文件,添加对反向代理的支持添加对反向代理的支持,并指定反向代理后台真实的并指定反向代理后台真实的Web服务器的位置参数等服务器的位置参数等(其他配置项与透明其他配置项与透明代理相同代理相同)。rootwebserver # service httpd start /RHEL6已默认安装httpd,在此只需启动服务rootwebserver # iptables -I INPUT -p tcp -dport 80 -j ACCEPTrootproxy # vim /etc/squid/squid.confhttp_port 210.42.198.207:80 vhost vport /支持主机映射cache_peer 10.10.1.1 parent 80 0 originserver weight=5 max-conn=30visible_hostname 210.42.198.207/注意与普通代理的IP区别,此处是外网卡的IP来代表主机可见第第73 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024任务任务14-9 反向代理服务器的配置反向代理服务器的配置 步骤步骤3:重新加载修改后的配置文件。重新加载修改后的配置文件。步骤步骤4:在代理服务器上开启内核路由功能。在代理服务器上开启内核路由功能。rootproxy # squid -k reconfigurerootproxy # echo 1 /proc/sys/net/ipv4/ip_forward步骤步骤5:清空清空filter表和表和nat表中的配置策略表中的配置策略将内网将内网Web服务器的服务器的IP地址映地址映射到代理服务器外网卡的射到代理服务器外网卡的IP地址上地址上,使得外网用户可以通过使得外网用户可以通过80端口访问代端口访问代理服务器的外网卡的理服务器的外网卡的IP地址地址,并能够将目的并能够将目的IP地址转换为内网地址转换为内网Web服务器服务器的的IP地址地址放行转发访问内网放行转发访问内网Web服务器的数据包服务器的数据包,使得外网用户可以通使得外网用户可以通过过80端口访问代理服务器外网卡的端口访问代理服务器外网卡的IP地址地址,并且能够将外网并且能够将外网IP地址映射为地址映射为内网内网Web服务器的服务器的IP地址地址,进而访问内部进而访问内部Web服务器。服务器。rootproxy # iptables -Frootproxy # iptables -t nat -Frootproxy # iptables -t nat -A PREROUTING -p tcp -d 210.42.198.207 -dport 80 -j DNAT -to-destination 10.10.1.1rootproxy # iptables -A FORWARD -p tcp -d 10.10.1.1 -dport 80 -j ACCEPTrootproxy # service iptables save步骤步骤6:测试。在测试。在Internet中的客户端上中的客户端上,使用浏览器访问反向代理服务器使用浏览器访问反向代理服务器连接外部网络接口的地址连接外部网络接口的地址(如如:http:/210.42.198.207)。第第74 页LinuxLinux网络操作系统配置与管理网络操作系统配置与管理20 九月九月 2024项目小结项目小结 项目知识准备项目知识准备项目知识准备项目知识准备认识防火墙认识防火墙认识防火墙认识防火墙(firewall)(firewall)LinuxLinux防火墙概述防火墙概述防火墙概述防火墙概述iptablesiptables规则的分层结构规则的分层结构规则的分层结构规则的分层结构数据包过滤的匹配流程数据包过滤的匹配流程数据包过滤的匹配流程数据包过滤的匹配流程代理服务器代理服务器代理服务器代理服务器SquidSquid项目实施项目实施项目实施项目实施任务任务任务任务14-1 iptables14-1 iptables服务的安装服务的安装服务的安装服务的安装任务任务任务任务14-2 14-2 认识认识认识认识iptablesiptables命令的基本格式命令的基本格式命令的基本格式命令的基本格式任务任务任务任务14-3 iptables14-3 iptables命令的基本使用命令的基本使用命令的基本使用命令的基本使用任务任务任务任务14-4 14-4 使用使用使用使用iptablesiptables实现实现实现实现NATNAT服务服务服务服务任务任务任务任务14-5 Squid14-5 Squid服务器的安装服务器的安装服务器的安装服务器的安装任务任务任务任务14-6 14-6 认识认识认识认识SquidSquid配置参数与初始化配置参数与初始化配置参数与初始化配置参数与初始化任务任务任务任务14-7 14-7 普通代理服务器的配置普通代理服务器的配置普通代理服务器的配置普通代理服务器的配置任务任务任务任务14-8 14-8 透明代理服务器的配置透明代理服务器的配置透明代理服务器的配置透明代理服务器的配置任务任务任务任务14-9 14-9 反向代理服务器的配置反向代理服务器的配置反向代理服务器的配置反向代理服务器的配置
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号